[VB]Läsa, skriva i samma fil, bästa sättet?

Permalänk
Medlem

[VB]Läsa, skriva i samma fil, bästa sättet?

Alla som håller på med Visual Basic vet att det finns det en del olika sätt att läsa och skriva i filer.

Frågan är vilken method som är bäst...

Här har vi några "senarion"..

1. Läsa fil binnärt till ramminne, ca 1gb stor.

2. Läsa fil binnärt till ramminne, redigera och skriva till samma fil, ca 1gb stor.

3. Läsa filtyp INI (Line Input #1,myVar), läsa.

4. Lägga till rader i en INI fil utan att det som finns i försvinner.

osv..

Finns ju massor med sätt att lösa detta.
Tänkte höra med er andra som pysslar med visual basic vilket ni tycker är lättast, vilket som ger bäst prestanda...

Visa signatur

tack o bock

Permalänk
Medlem

Alla som håller på med vb borde veta att det finns flera versioner, och det skiljer sig ganska mycket mellan en del, så man borde skriva vilken version det handlar om Det är vb 6.0 va?

Permalänk
Medlem

Jo, det är Visual Basic 6 det handlar om. Dvs. den senaste versionen utan .net.

Visa signatur

tack o bock

Permalänk

Re: [VB]Läsa, skriva i samma fil, bästa sättet?

Citat:

Ursprungligen inskrivet av Timpa
Alla som håller på med Visual Basic vet att det finns det en del olika sätt att läsa och skriva i filer.

Frågan är vilken method som är bäst...

Här har vi några "senarion"..

1. Läsa fil binnärt till ramminne, ca 1gb stor.

2. Läsa fil binnärt till ramminne, redigera och skriva till samma fil, ca 1gb stor.

3. Läsa filtyp INI (Line Input #1,myVar), läsa.

4. Lägga till rader i en INI fil utan att det som finns i försvinner.

osv..

Finns ju massor med sätt att lösa detta.
Tänkte höra med er andra som pysslar med visual basic vilket ni tycker är lättast, vilket som ger bäst prestanda...

Tja, vi vet ju båda, att API är snabbast så gott som jämnt om man behöver göra flera saker i vb (loopa osv). Inte nödvändigtvis enklast dock.

1, 2)
Har inte behövt pilla så mycket med detta men CreateFile och sen ReadFile/WriteFile borde nog vara rätt effektivt. Dock försvinner ju enkelheten med Open statement :/
http://www.mentalis.org/apilist/WriteFile.shtml
http://www.mentalis.org/apilist/773DDD91012366DDBACF7DFF056CA...

3, 4)

Private Declare Function WritePrivateProfileString _ Lib "kernel32" Alias "WritePrivateProfileStringA" _ (ByVal lpApplicationName As String _ , ByVal lpKeyName As Any _ , ByVal lpString As Any _ , ByVal lpFileName As String) As Long Private Declare Function GetPrivateProfileString _ Lib "kernel32" Alias "GetPrivateProfileStringA" _ (ByVal lpApplicationName As String _ , ByVal lpKeyName As Any _ , ByVal lpDefault As String _ , ByVal lpReturnedString As String _ , ByVal nSize As Long _ , ByVal lpFileName As String) As Long

http://www.mentalis.org/apilist/WritePrivateProfileString.sht...
http://www.mentalis.org/apilist/GetPrivateProfileString.shtml

Det händer att jag skriver ini filer manuellt för jag tycker det går snabbare ibland (i designläge det vill säga, inte testat prestanda), men ska man vara korrekt vill man väl köra APIt

Visa signatur

Asus Maximus Extreme IV ● Intel 2600K @ 4.7Ghz ● Zalman CNPS9900 MAX ● Corsair XMS3 4x4096mb 1600Mhz ● EVGA Geforce GTX 980 Ti ● SB X-Fi Titanium Pro ● Corsair AX850 Gold

Permalänk
Medlem

1, 2) Har aldrig haft behov för just det. Men det kan ju vara en ide att testa att läsa på lite olika sätt och se vilket sätt som är snabbast.

3,4) Helt klart API WritePrivateProfileString och GetPrivateProfileString fast det har ju hänt att man kört en loop genom nån inifil ibland när det har gällt 3 eller 4 rader.

Visa signatur
Permalänk
Medlem

Här har du en INI-wrapper för att läsa/skriva/ta bort keys/sectioner

Visa signatur

Don't try to fix me - I'm not broken