abonnement Unibet Coolblue Bitvavo
pi_51666189
Sr

Nog 1 vraagje.

Ik werk nu met line input, echter werkt dit bij 1 groot tekst bestand niet.. Line input ziet niet dat het een tekst bestand is en leest gelijk het hele bestand uit... wat kan ik hier aan veranderen zodat hij wel alle regels leest?

Anyone?

[ Bericht 71% gewijzigd door Chandler op 20-07-2007 17:32:27 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_51668350
quote:
Op vrijdag 20 juli 2007 16:39 schreef Chandler het volgende:
Sr

Nog 1 vraagje.

Ik werk nu met line input, echter werkt dit bij 1 groot tekst bestand niet.. Line input ziet niet dat het een tekst bestand is en leest gelijk het hele bestand uit... wat kan ik hier aan veranderen zodat hij wel alle regels leest?

Anyone?
VB.net?

Meer info ?
Lambo of Rekt
pi_51668777
Waar doel je op EggsTC?

Ik zal even iets uitgebreidere info geven.

Het bestand is opgezet als een UNIX tekst bestand, echter moet ik natuurlijk met VisualBASIC voor line input een Windows Tekst bestand hebben. Ik heb geprobeerd via wordpad en notepad++ alles om te zetten naar een tekst bestand met windows encoding. Echter is alles mislukt.. en deze progies crashen..

Nu zoek ik naar een oplossing

VB.net gaf geen bevredigend antwoord

http://www.thefreecountry.com/tofrodos/ is een handig programmatje om UNIX documenten te converteren naar Windows documenten en visa versa

[ Bericht 31% gewijzigd door Chandler op 20-07-2007 18:55:17 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_51672802
Met een TextReader zou het moeten kunnen. ReadLine geeft 1 regel terug:
quote:
A line is defined as a sequence of characters followed by a carriage return (0x000d), a line feed (0x000a), a carriage return followed by a line feed, Environment.NewLine, or the end of stream marker. The string that is returned does not contain the terminating carriage return and/or line feed. The returned value is a null reference (Nothing in Visual Basic) if the end of the input stream has been reached.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_51675008
quote:
Op vrijdag 20 juli 2007 20:12 schreef SuperRembo het volgende:
Met een TextReader zou het moeten kunnen. ReadLine geeft 1 regel terug:
Ik hoop dat het werkt, want die converter kan geen UTF-8 tekens converteren erg onhandig... output van een 60MB file is gewoon dom weg 5.nogwat MB (na draaien in mijn progie, end door eof!)

This page is specific to .NET Framework 3.0

[ Bericht 10% gewijzigd door Chandler op 20-07-2007 21:36:44 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_51687912
quote:
Op vrijdag 20 juli 2007 21:26 schreef Chandler het volgende:
This page is specific to .NET Framework 3.0
De TextReader class bestaat al sinds .NET 1.0. Het lijkt me niet dat er heel veel in veranderd is.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_51688295
Ow :{

Ik was zelf even aan het knutselen maar doe iets erg verkeerd :P

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    Open Dir1.Path & "" & File1.FileName For Binary As #freeNum
    While Not readBytes >= fileSize 'EOF(freeNum)
    
        ' Line Input #FreeNum, txt             ' 1 whole line is read
        
        Do While readByte <> Chr(10)
            Get #freeNum, , readByte
            
            Debug.Print Len(txt) & "-" & Len(readByte) & "-" & Asc(readByte)
            txt = txt & readByte
        Loop
       
        readBytes = readBytes + Len(txt)

    loop


Alleen is het probleem dat txt altijd leeg blijft :{.

Of moet ik zo ie zo de positie van het in te lezen bitje specificeren? zo gaat ie toch telkens ook 1 positie naar boven?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_51689245
Kolere wat een ranzige code Ben je nou toch weer in VB6 aan 't knoeien?

In VB.NET kan het zo:
1
2
3
4
5
6
7
8
Dim line As String
Dim reader As New System.IO.StreamReader("C:/foo.txt")

While Not reader.EndOfStream
   line = reader.ReadLine()
   '...
End While
reader.Close()
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_51689468
Ik heb helaas geen VBnet... (jawel, maar weet niet waar, moet toch ook gewoon in vb6 kunnen, zoals bovenstaand maar dan anders...)

Ennuh opzich is mijn code toch wel juist?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_51690135
quote:
Op zaterdag 21 juli 2007 12:24 schreef Chandler het volgende:
Ik heb helaas geen VBnet... (jawel, maar weet niet waar, moet toch ook gewoon in vb6 kunnen, zoals bovenstaand maar dan anders...)
Visual Studio Express is gratis.
quote:
Ennuh opzich is mijn code toch wel juist?
Geen idee, ik ben niet zo thuis in die VB6 file handling.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_51720023
Hmm... Lijkt mij toch wel aardig goed te zijn

Ik heb mijn code een beetje aangepast en heb dit nu in een loop staan.

1
2
3
4
5
6
7
8
9
10
        Do
            Get #freeNum, pointCnt, readByte
            
            readBytes = readBytes & Chr(readByte)
            
            pointCnt = pointCnt + 1
            Debug.Print readByte
            Debug.Print pointCnt & " - " & fileSize & " - " & Len(readBytes) & vbCrLf
            
        Loop While (readByte <> 13 Or pointCnt < fileSize)


echter wil de loop niet stoppen als readByte (10 of 13) is Wat doe ik fout?

[ Bericht 88% gewijzigd door Chandler op 22-07-2007 17:26:36 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_51725614
quote:
Op zondag 22 juli 2007 15:50 schreef Chandler het volgende:
Hmm... Lijkt mij toch wel aardig goed te zijn :P

Ik heb mijn code een beetje aangepast en heb dit nu in een loop staan.
[ code verwijderd ]

echter wil de loop niet stoppen als readByte (10 of 13) is :{ Wat doe ik fout? :D
Vreemt. Wat je zou kunnen proberen is in plaats van een Do loop een For loop gebruiken. Dan zou het worden:

1
2
3
4
5
6
7
8
9
10
        For I = 1 to fileSize
            Get #freeNum, I, readByte
            
            readBytes = readBytes & Chr(readByte)

            Debug.Print readByte
            Debug.Print I & " - " & fileSize & " - " & Len(readBytes) & vbCrLf

            If readByte = 13 Then Exit For       
        Next I
  zondag 22 juli 2007 @ 18:59:57 #115
3677 SuperRembo
Sinds 1998
pi_51726013
In .NET gaat het veel makkelijker, maar als je dan per see in VB6 wil klooien, gebruik dan gewoon een FileSystemObject.

1
2
3
4
5
6
7
8
9
10
11
Const forReading = 1, forWriting = 2
Dim fso, myFile As Object
Dim line As String

Set fso = New Scripting.FileSystemObject
Set myFile = fso.OpenTextFile("c:foo.txt", forReading)
Do While Not myFile.AtEndOfStream
   line = myFile.ReadLine
   '...
Loop
myFile.Close


(Wel even een referentie aan je project toevoegen naar Microsoft.Scripting)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_51739741
Ik weet al wat ik fout deed

1Loop While (readByte <> 13 Or pointCnt < fileSize)


zegt readbyte is geen 13 OF pointCnt is kleiner dan fileSize, maar het moest eingelijk zijn

readByte is geen 13 EN pointCnt is kleiner dan fileSize

oftewel
1Loop While (readByte <> 13 And pointCnt < fileSize)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_58593479
Ben bezig met een kleine functie om een getal van 6 aaneensluitende nummers uit een string te halen, maar t wil niet echt lukken:

1
2
3
4
5
6
7
8
9
10
11
12
Private Function ExtNum(ByVal strValue As String) As Integer
    Dim strNum As String
    Dim i As Integer

    On Error Resume Next

    For i = 1 To Len(strValue)
        If IsNumeric(Mid(strValue, i, 1)) Then strNum = strNum & Mid(strValue, i, 1)
    Next i

    ExtNum = CInt(strNum)
End Function


Deze haalt alle getallen uit een lap tekst , maar werkt niet goed hij returned namelijk steeds nul , heeft iemand een oplossing? -O-
  FOK!fotograaf zaterdag 10 mei 2008 @ 18:00:03 #118
63 Marc H
- Satan's Livecoach -
pi_58596841
quote:
Op zaterdag 10 mei 2008 14:02 schreef Woeiii het volgende:
Ben bezig met een kleine functie om een getal van 6 aaneensluitende nummers uit een string te halen, maar t wil niet echt lukken:
[ code verwijderd ]

Deze haalt alle getallen uit een lap tekst , maar werkt niet goed hij returned namelijk steeds nul , heeft iemand een oplossing?
Les 1: nooit "on error resume next" gebruiken tijdens debuggen!

als je dat doet zie je dat je een overflow error krijgt in "ExtNum = CInt(strNum)"
op een 6 cijferig getal een integer conversie doen gaat ook niet werken. omdat een integer maximaal "32,767" kan bevatten. dus zal je het getal moeten converteren naar een double, in plaats van een integer. En dat moet je natuurlijk ook aanpassen in je function.

dus dan krijg je deze code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Function ExtNum(ByVal strValue As String) As Double
    Dim strNum As String
    Dim i As Integer

    'On Error Resume Next 

    For i = 1 To Len(strValue)
        If IsNumeric(Mid(strValue, i, 1)) Then strNum = strNum & Mid(strValue, i, 1)
    Next i

    ExtNum = Val(strNum)
   'On Error GoTo 0

End Function


En nog iets, als je al zonodig on error resume next wil gebruiken in een stuk code, zet dan de error trapping weer aan voor je de fnction verlaat.

[ Bericht 3% gewijzigd door Marc H op 10-05-2008 18:05:20 (') ]
You don't have to be the Dalai Lama to tell people that life's about change.
pi_62196374
Sorry voor de grote kick, maar...

Ik zou graag een programma willen maken dat een rekening bij houdt in een kantine/keet. Je hebt dus een lijstje met namen, en daar achter staat bier, wijn, cola, malibu etc.

In Excel kun je "view code" doen, maar dan staat er niks. Hoe kan dat?

En hoe maak ik het handigste zo'n programma?
pi_62196742
Kan je beter in het Excel topic doen.
[EXCEL] Het grote Excel vragen topic, #7

En onder View code is het de bedoeling dat je zelf de code schrijft
  dinsdag 7 oktober 2008 @ 11:08:20 #121
15929 DiRadical
Everything's ruined
pi_62196749
quote:
Op dinsdag 7 oktober 2008 10:54 schreef hello_moto1992 het volgende:
Sorry voor de grote kick, maar...

Ik zou graag een programma willen maken dat een rekening bij houdt in een kantine/keet. Je hebt dus een lijstje met namen, en daar achter staat bier, wijn, cola, malibu etc.

In Excel kun je "view code" doen, maar dan staat er niks. Hoe kan dat?

En hoe maak ik het handigste zo'n programma?
De truuk is net dat je die code zelf moeten maken.

Je zou de namen in de eerste kolom kunnen zetten en de drankjes in de eerste regel (vanaf kolom 2)
In het gebied daaronder kun je de aantallen in vullen. In het kruispunt van Naam en Drankje staat het aantal.

Wil je ook nog berekenen wat de totaal prijs is?
Ik zou dan de drankjes en prijzen in een apart werkblad stoppen en een formule maken die berekening deze gegevens ophaalt. Zo kun je zelfs je prijzen veranderen zonder de formules aan te passen.
Dat kan met een VLOOKUP (of was het nu een HLOOKUP, in ieder geval 1 van die 2)
Hiervoor is geen VB code nodig, alleen maar Excel formules.
Happyness is nature's way of informing human resources that you're overpaid
-Catbert: Evil director of HR
pi_62196958
quote:
Op dinsdag 7 oktober 2008 11:07 schreef DaFan het volgende:
Kan je beter in het Excel topic doen.
[EXCEL] Het grote Excel vragen topic, #7

En onder View code is het de bedoeling dat je zelf de code schrijft
Ik kwam er ook achter .

Op dit moment hebben wij een rekening als volgt:

Lijst met namen - Aantal Dit, Dat, etc. - bedrag

Het aantal bier wordt bijvoorbeeld steeds veranderd in 2, 3,4,5. Dit kan dus nog al eens misgaan. Het is misschien handiger om een button te hebben en daarnaast een aantal. Dus als je er op klikt je een extra opschrijft.

Ik dacht dat je daar ff snel een programmaatje van kan maken in VB. Valt tegen dus
pi_62197035
In VB is het een stuk lastiger omdat je geen 'database' hebt. Als je het in Excel icm VBA doet heb je gewoon een overzicht waar je idd gewoon een knopje kan drukken achter iemands naam, waarbij hij de waarde opzoekt die het nu is, en er 1 bij optelt. Simpel.
  dinsdag 7 oktober 2008 @ 11:36:44 #124
15929 DiRadical
Everything's ruined
pi_62197521
Je zou Excel kunnen misbruiken als database. Ieder werkblad is dan een tabel.
Je bent niet de eerste die dat zou doen
Maar dan zou ik order regels aanmaken op een apart werkblad
naam- drankje- aantal- prijs perstuk

En aan het eind van de avond alles optellen om een rekening te maken.

Je zou ook gewoon een printje kunnen maken van een tabel met namen en drankjes.
Streepjes zetten in de cellen en aan het eind alles optellen.
Dat is de KISS versie
Happyness is nature's way of informing human resources that you're overpaid
-Catbert: Evil director of HR
pi_62214212
quote:
Op dinsdag 7 oktober 2008 11:19 schreef DaFan het volgende:
In VB is het een stuk lastiger omdat je geen 'database' hebt. Als je het in Excel icm VBA doet heb je gewoon een overzicht waar je idd gewoon een knopje kan drukken achter iemands naam, waarbij hij de waarde opzoekt die het nu is, en er 1 bij optelt. Simpel.
vb kan je redelijk simpel met mysql laten comminiceren
pi_62222183
quote:
Op dinsdag 7 oktober 2008 21:29 schreef mschol het volgende:

[..]

vb kan je redelijk simpel met mysql laten comminiceren
Akkoord maar niet voor een dranklijst en al helemaal niet als je nog nooit VB gebruikt hebt
  woensdag 8 oktober 2008 @ 09:04:16 #127
15929 DiRadical
Everything's ruined
pi_62223789
quote:
Op dinsdag 7 oktober 2008 21:29 schreef mschol het volgende:

[..]

vb kan je redelijk simpel met mysql laten comminiceren
Als het toch op 1 PC draait zou ik eerder SQLLite of misschien Firebird gebruiken.
Happyness is nature's way of informing human resources that you're overpaid
-Catbert: Evil director of HR
  FOK!fotograaf woensdag 8 oktober 2008 @ 13:37:59 #128
63 Marc H
- Satan's Livecoach -
pi_62230756
Ik zou dan toch fijn voor vb gaan, en zorgen dat elke wijziging meteen naar disk weggeschreven wordt. Stel je hebt een feestavondje, en een uur voor sluiten crashed je pc. kan je dan nog achterhalen wat iedereen besteld heeft?
You don't have to be the Dalai Lama to tell people that life's about change.
pi_81647459
Aangezien ik toch weer eens aan de slag moest en als noob weer eens iets niet snap, zelfs niet na veel zoeken vraag ik het maar hier :)

Ik heb de volgende code, die ik wil gebruiken om te controleren of een directory bestaat

MsgBox FolderExists(strStartPath)

in mijn geval [b]C:\Documenten and Settings\Gebruiker\Mijn documenten[/b en die bestaat, echter geeft de MsgBox een false aan terwijl deze true moet zijn?

code?

1
2
    Dim oFile As New Scripting.FileSystemObject
    FileExists = oFile.FolderExists(sFullPath)


anyone?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  donderdag 20 mei 2010 @ 13:46:50 #130
15929 DiRadical
Everything's ruined
pi_81671526
Code werkt.

Is sFullPath wel gevuld?
Wordt wel goed gekoppeld aan de msgbox?
Happyness is nature's way of informing human resources that you're overpaid
-Catbert: Evil director of HR
pi_81672229
Idd, ik kwam er achter dat een letter qua functienaam niet goed stond en dus geen true/false (boolean) terug stuurde.. wat kun je toch over foutjes heen kijken zeg
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  donderdag 20 mei 2010 @ 14:15:12 #132
15929 DiRadical
Everything's ruined
pi_81672859
quote:
Op donderdag 20 mei 2010 14:02 schreef Chandler het volgende:
Idd, ik kwam er achter dat een letter qua functienaam niet goed stond en dus geen true/false (boolean) terug stuurde.. wat kun je toch over foutjes heen kijken zeg
Je gebruikt geen Option Explicit (aan het begin van je code staat in ieder bestand).

Foei
Dat Microsoft het standaard niet aan zet in VB is overigens nog erger.
Happyness is nature's way of informing human resources that you're overpaid
-Catbert: Evil director of HR
pi_81673341
Geplaatst!!

Ik ben bezig met een backup programma! zie aanleiding: Backup meerdere folders, simpel batch/programma?

preview:


Mijn code:
1


Heb je eventueel tips? vind vooral het laden van mijn INI bestand nogal omslachtig

[ Bericht 96% gewijzigd door Chandler op 21-05-2010 14:58:53 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_81673389
-edit-

Ini werkt al

Alles werkt op het maken van directories na... en op een of andere manier kom ik daar niet uit..

Maar ik ga er nu even lekker mee spelen!

[ Bericht 45% gewijzigd door Chandler op 21-05-2010 14:59:49 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 21 mei 2010 @ 15:13:16 #135
15929 DiRadical
Everything's ruined
pi_81721775
quote:
Op donderdag 20 mei 2010 14:26 schreef Chandler het volgende:
-edit-

Ini werkt al

Alles werkt op het maken van directories na... en op een of andere manier kom ik daar niet uit..

Maar ik ga er nu even lekker mee spelen!

zoiets:

Dim obj As New Scripting.FileSystemObject
Dim ofld As Folder
set ofld = obj.GetFolder("c:\temp")
ofld.SubFolders.Add ("test")
Happyness is nature's way of informing human resources that you're overpaid
-Catbert: Evil director of HR
pi_81723721
Klopt maar het ging om een diepere structuur

Dat is inmiddels gelukt en heb nu een werkend projectje!

Hier te downloaden in source van visualbasic 6

Lukt al aardig dus

Opties
- Drive noemer mee nemen (gemakkelijk als je vaak dezelfde directories in je roots hebt)
- Ook subdirectories doorlezen?
- Extensies overslaan
- Overschrijven? alleen als deze veranderd / nieuw is.
- 0 bestanden/directories ook kopieren (moet nog inbouwen, deels zeg maar... nu wordt een directory pas aangemaakt als er een bestand naartoe geschreven wordt.)
- Doel drive en path aangeven
- Meerdere bronnen toevoegen aan overzicht
- Meerdere bron lokaties verwijderen in 2 klikken (selecteren, verwijderen)

Statistieken
- Aantal MB's
- Aantal gekopieerde Mb's
- Aantal bestanden
- Aantal gekopieerde bestanden
- Aantal geskipte bestanden
- Aantal fout bestanden (Geskipt) (bv in gebruik, etc)
- Actie

Alleen werk ik nu nog met de copy van filesystemobject en daar wil ik eingelijk iets anders voor, eventueel met een voortgangs balk oid? lol

Maar goed, ik hoor graag comments VB was al weer zo'n 3 jaar geleden.....

[ps] Hier draai ik het nu met zo'n 200K aan bestanden, duurt een beetje erg lang.. maar minder lang dan verwacht.......
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_81727729
quote:
Op vrijdag 21 mei 2010 15:53 schreef Chandler het volgende:

Hier te downloaden in source van visualbasic 6
VB6 nog? Je weet dat Microsoft inmiddels van haar .net-versies ook gratis versies van de ontwikkelstudio's uitbrengt? Onder andere Visual Basic .net 2008 is gratis te downloaden: http://www.microsoft.com/exPress/

Deze versies zijn een bijzondere verbetering t.o.v. vb6, onder meer omdat er met .net meer mogelijk is zonder aanroep van extra DLL's maar rechtstreeks vanuit .net. Kan me voorstellen dat je voor dit project niet graag de omschakeling wilt maken (hoewel projecten vaak 1-op-1 geconverteerd kunnen worden), maar het loont de moeite om hier eens naar te kijken voor andere applicaties

Ik merk zelf dat ik sneller werk met 2005 - en nu met 2008 Succes!
pi_81728013
Ja VB6 hoe durf ik hoor ik je nu denken, ach het is voor mij bekender, aangezien ik zelf altijd met QuickBASIC 4.5 heb gwerkt (jaren, jaren jaren geleden! ) en dus simpeler om te begrijpen... En natuurlijk het belangrijkste, het lukt me om er iets mee te bakken! maar goed, wie weet ga ik ooit eens .net proberen... maar dat zal pas na een volgende herinstal worden

Heb je nog tips voor de huidige code?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_81741375
quote:
Op vrijdag 21 mei 2010 17:23 schreef Chandler het volgende:
Ja VB6 hoe durf ik hoor ik je nu denken, ach het is voor mij bekender, aangezien ik zelf altijd met QuickBASIC 4.5 heb gwerkt (jaren, jaren jaren geleden! ) en dus simpeler om te begrijpen... En natuurlijk het belangrijkste, het lukt me om er iets mee te bakken! maar goed, wie weet ga ik ooit eens .net proberen... maar dat zal pas na een volgende herinstal worden

Heb je nog tips voor de huidige code?
Het mooie van VB.net is dat de syntax onveranderd is maar dat het op sommige punten eenvoudiger is om - bijvoorbeeld met het bestandsysteem - te werken. Om je een voorbeeld te noemen, in vb.net is er standaard een functie aanwezig om te controleren of een bestand bestaat: System.IO.File.Exists(path as string). Dat scheelt, want dan hoef je filesystemobject niet steeds opnieuw te declareren.

Ook bijvoorbeeld de functie je je gemaakt hebt om de extensie van een bestand te controleren, is in vb.net aanwezig:
1
2
Dim bestandsinformatie As New System.IO.FileInfo("c:\test.txt")
MsgBox(bestandsinformatie.Extension)


In .net is er ook een nieuwe control 'backgroundworker', waarmee je op de achtergrond bepaalde taken kunt uitvoeren (zoals het kopiëren, waardoor het programma niet hangt tenzij je application.DoEvents() gebruikt.

Onder VB6 zou je in elk geval de volgende dingen kunnen aanpassen:
  • Filesystemobject één maal declareren bovenaan de code met een 'private' (i.p.v. dim of Set)
  • Verminder het aantal for-lussen dat je gebruikt, controleer of ze écht noodakelijk zijn. De for-lus die je gebruikt om de extensie te controleren kan je bijvoorbeeld vervangen door een zoek-in-array-functie ("staat ext in verboden lijst?"). for-lussen kunnen namelijk nogal tijdrovend blijken
  • De if-statements zitten soms wat onhandig in elkaar (4 of 5 in elkaar). De meeste kan je ook met handig gebruik van 'andalso', 'orelse', AND en OR operators samenvoegen.

    Verder ziet de code er vrij oké uit Antiek, maar oké
  • pi_81763245
    Dan maar weer een kleine update, zelfde bestand.

    Aardig wat ifjes verwijderd.
    nu 1 aanroep voor alle fso objecten
    meer gegevens in error string.

    En een exe toegevoegd... weet niet of dat handig is maar goed

    Gaat nu zeker een stuk sneller, en volgens mij eet het ook minder geheugen..
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_81784686
    Nou geheugen valt dus tegen... 50-80mb erg schommelend... Ook gaan de eerste 10.000 bestanden aardig rap maar daarna gaat het steeds slomer... iemand een idee waardoor dit zou kunnen komen?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_81784794
    quote:
    Op zondag 23 mei 2010 11:23 schreef Chandler het volgende:
    Nou geheugen valt dus tegen... 50-80mb erg schommelend... Ook gaan de eerste 10.000 bestanden aardig rap maar daarna gaat het steeds slomer... iemand een idee waardoor dit zou kunnen komen?
    "vol" lopen van het geheugen?
    pi_81785240
    hoe bedoel je met vol? het schommelt nu opeens tussen de 20-50mb? bij 44k aan gelezen bestanden
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_81804243
    Hier een filmpje van het geheugen gebruik? snap niet waar het hem in zit..



    Anyone?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_81806330
    ik bedoel: misschien zijn er variablen oid die blijven hangen in het geheugen waardoor hij trager wordt omdat hij meer moet onthouden oid?
    pi_81807534
    Yup, dat was idd het euvel, voor ieder bestand dat na controle op datum geskipt werdt was terug te vinden in de log en dat is met 200k aan bestande niet grappig... nu deze weg gehaalt zit het geheugen gebruik op 5MB en loopt het nu alle bestanden in zo'n 5 minuten langs!!!! ipv een halve dag
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_81843929
    quote:
    Op zaterdag 22 mei 2010 16:23 schreef Chandler het volgende:
    Dan maar weer een kleine update, zelfde bestand.

    Aardig wat ifjes verwijderd.
    nu 1 aanroep voor alle fso objecten
    meer gegevens in error string.

    En een exe toegevoegd... weet niet of dat handig is maar goed :)

    Gaat nu zeker een stuk sneller, en volgens mij eet het ook minder geheugen..
    Leuk om te zien dat het werkt! Je zou i.p.v. "AND" ook "ANDALSO" kunnen gebruiken, dat zal iets in performance schelen. In dit voorbeeld:
    1IF A=B AND C=D then

    Wordt de conditie C=D altijd gecontroleerd, ook als A!=B, terwijl als je:
    1IF A=B ANDALSO C=D then

    gebruikt, C=D alleen wordt gecontroleerd als A=B. Dat scheelt op het aantal statements en het aantal bestanden wat je doorloopt aardig wat vergelijkingen!
    quote:
    Op zondag 23 mei 2010 22:01 schreef Chandler het volgende:
    Yup, dat was idd het euvel, voor ieder bestand dat na controle op datum geskipt werdt was terug te vinden in de log en dat is met 200k aan bestande niet grappig... nu deze weg gehaalt zit het geheugen gebruik op 5MB en loopt het nu alle bestanden in zo'n 5 minuten langs!!!! ipv een halve dag :D
    Grappig dat dat zo erg scheelt :)
    pi_81857917
    Grappig is idd dat het geheugen dan zo sprint.. waarom? geen idee maar goed.

    Zal andalso ook eens proberen
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_90804999
    Ik ben met een studieopdracht bezig. Een simpel programmaatje om een soort orderlijst te maken en daarnaast moet je nog een programma maken om die orderlijst te veranderen. Ik moet dus 2 .exe's maken (kan ms ook anders maar het voorbeeld heeft er ook 2).

    Min of meer de enige hint die gegeven werd voor het samen gebruiken van die 2 is dat VB (Express in mijn geval) een Process component in de toolbox heeft. Ik heb echter geen idee hoe en wat verder, als ik zo'n ding in mijn eerste programma toevoeg.

    In prog 1 zit een knop Edit orderlist die prog 2 laat opstarten. Ik heb echt geen idee wat voor code ik ongeveer zou moeten gebruiken onder die knop om dat voor elkaar te krijgen. En als ik wel code heb, wat is dan het nut van dat component in mijn project??

    Verder is dus het idee dat gegevens uit prog 2 weer verwerkt worden in prog 1. Ook geen idee hoe dat zou moeten (variabelen binnen meerdere forms snap ik wel), of gaat dat min of meer 'automatisch' door juist gebruik van dit onderdeel?

    Heb hier al wat zitten kijken http://msdn.microsoft.com(...)nostics.process.aspx maar daar word ik niet heel veel wijzer van vooralsnog.
    pi_90806225
    Je kan met een winAPI die box uitlezen. ik snap ook niet helemaal wat je bedoelt tho.
    Lambo of Rekt
      maandag 3 januari 2011 @ 19:57:24 #151
    85514 ralfie
    !Yvan eht nioj
    pi_90807434
    quote:
    1s.gif Op maandag 3 januari 2011 19:06 schreef Modus het volgende:
    Ik ben met een studieopdracht bezig. Een simpel programmaatje om een soort orderlijst te maken en daarnaast moet je nog een programma maken om die orderlijst te veranderen. Ik moet dus 2 .exe's maken (kan ms ook anders maar het voorbeeld heeft er ook 2).

    Min of meer de enige hint die gegeven werd voor het samen gebruiken van die 2 is dat VB (Express in mijn geval) een Process component in de toolbox heeft. Ik heb echter geen idee hoe en wat verder, als ik zo'n ding in mijn eerste programma toevoeg.

    In prog 1 zit een knop Edit orderlist die prog 2 laat opstarten. Ik heb echt geen idee wat voor code ik ongeveer zou moeten gebruiken onder die knop om dat voor elkaar te krijgen. En als ik wel code heb, wat is dan het nut van dat component in mijn project??

    Verder is dus het idee dat gegevens uit prog 2 weer verwerkt worden in prog 1. Ook geen idee hoe dat zou moeten (variabelen binnen meerdere forms snap ik wel), of gaat dat min of meer 'automatisch' door juist gebruik van dit onderdeel?

    Heb hier al wat zitten kijken http://msdn.microsoft.com(...)nostics.process.aspx maar daar word ik niet heel veel wijzer van vooralsnog.
    dat lijkt me vb.net en dat is iets waar de meeste mensen in dit topic allergisch voor zijn.
    En gelijk hebben ze

    met een process kun je (zo te zien) vrij makkelijk standardinput en standardoutput redirecten. Daarmee kun je nogal wat data snel over en weer hevelen. Dat zou mijn eerste keus zijn denk ik.

    Anders, tjah, moeten het echt twee verschillende programma's zijn? Shared memory e.d. lijkt me tamelijk geavanceerd voor iemand die je durft in vb.net te laten leren. Maar je zult wel moeten als het het netjes wilt doen. Anders kun je het nog met Send/PostMessage, winapi's en het vieze 'een bestandje waarin beide programma's lezen en schrijven'.
    pi_90808230
    Ja je moet gewoon het voorbeeldprogramma functioneel namaken, de enige hint die ik voor dit gedeelte kreeg was die Process component. Ms denk ik wel veel te moeilijk en is het een kwestie van prog 2 laten opstarten vanuit prog 1 (met een beetje kloten lukt me dat nog wel denk ik) maar wat is dan nog de bedoeling van dat component in je form inbouwen??

    Ms voor het plaatje, prog 2 leest een text bestand in dat eerst door prog 1 gevuld is. Dat txtbestand kun je dan wijzigen, na afsluiten van prog 2 worden de nieuwe gegevens weer in prog 1 verwerkt.

    Deze opdracht is echt bizar veel moeilijker dan alle voorgaande en je krijgt alleen maar een paar trefwoorden als hulp zeg maar.
      maandag 3 januari 2011 @ 21:20:20 #153
    192481 Core2
    Happiness is the road
    pi_90812166
    Misschien zoiets?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            If Environment.GetCommandLineArgs.Contains("edit") Then
                Dim orders As New List(Of String)
                Dim order As String = Nothing

                Do
                    order = Console.ReadLine
                    If order <> String.Empty Then orders.Add(order)
                Loop While Not order = String.Empty

                MessageBox.Show(orders.Count)
            Else
                Dim orderLijst As String() = {"cola", "boter", "kaas", String.Empty}

                Dim si As New System.Diagnostics.ProcessStartInfo With {
                    .Arguments = "edit",
                    .FileName = Application.ExecutablePath,
                    .RedirectStandardInput = True,
                    .UseShellExecute = False
                }

                Dim process = System.Diagnostics.Process.Start(si)

                process.WaitForInputIdle()

                For Each order In orderLijst
                    process.StandardInput.WriteLine(order)
                Next

                process.StandardInput.Flush()
            End If
        End Sub
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')