Stap 3: Bestand bewerken
GFile = FreeFile ' gfile is nu de volgende beschikbare freefile
c = "c:\test.txt"
dan zijn er de 4 manieren kunt u een bestand openen
Invoer - kunt u alleen lezen.
Uitgang - die u alleen kunt schrijven en het wordt het bestand gewist als deze bestaat. regelterugloop en een regelinvoer laatste tekens
Toevoegen - u kunt alleen schrijven. zal het toevoegen aan het bestaande bestand. regelterugloop en een regelinvoer laatste tekens
Binair - Lees en schrijf. zeer nauwkeurig. de enige die ik gebruik nu.
voor het bouwen van log-bestanden en dergelijke hetgebruik toevoegen zal het de nieuwe vermelding toe te voegen aan het einde van het bestand.
voor meer complexe log-bestanden laadt u het gehele bestand in een variabele en de nieuwe vermelding toevoegen aan het begin van het bestand.
Dim stro als tekenreeks ' dit noodzakelijk is of zal er een fout
GFile = FreeFile
c = "c:\test.txt"
Open c voor binary als #gfile ' Vergeet niet gfile is een aantal
HTBT = ruimte$ (lof(gfile)) ' bij het openen voor binaire hebt om te vertellen hoe groot de lengte van de tekst die u wilt nemen is lof (gfile) de lengte van gfile en ruimte geeft $ () geeft een reeks spaties de lengte van het getal dat u opgeeft
Get #gfile, 1, stro ' krijgen van dossiernummer, byte, variabele op te slaan om te beginnen. en alleen de lengte van de variabele lasten
#gfile sluiten
stro is nu gelijk aan het bestand test.txt.
u kunt informatie opnemen naar een bestand door
ffile = FreeFile
HTBT = "Nieuwe lijn" & VbCrLf & stro ' voegt "Nieuwe lijn" en carraige terugkeer en regelinvoer gevolgd door de oorspronkelijke tekst
c voor binary openen als #ffile
doden van c
put #ffile, 1, stro ' put worden eerdere gegevens overschreven als het bestand wordt steeds kleiner je moet doden het bestand eerst die verwijderd
#ffile sluiten
het bestand heeft nu 'Nieuwe regel' in het
een ding dat ik met de put-functie gevonden is er fouten als u probeert om te zetten van een teken zoals
Zet #ffile, 133, chr(1) ' Dit vervangt het teken bij byte 133 met teken 1 of hex 0x01
Ik vond het toen ik deed dit met een programma maakte ik het eigenlijk toegevoegde hex 0x08000100000001 die is ontzettend raar. Ik heb dit opgelost door het laden van het bestand aan een variabele en tekenreeks mods doen
Ik = 133
HTBT = mid (stro, 1, i - 1) & chr(1) & mid (stro, i + 1, len(stro) - ik)
vervolgens
#ffile, 1, stro zetten
Dit werkte perfect