Håndtering af Ascii-filer (tekst) fra Delphi-kode

click fraud protection

Kort sagt indeholder tekstfiler læsbar ASCII tegn. Vi kan tænke på at arbejde med en tekstfil i Delphi som analog med at afspille eller optage information på et videobåndoptager.

Selvom det er muligt at foretage ændringer i en tekstfil, skal du springe rundt, når du behandler oplysninger eller tilføje nogle data til den anden fil end til sidst tilrådes det at bruge en tekstfil kun når vi ved, at vi arbejder med almindelig tekst, og ingen sådanne handlinger er nødvendig.

Tekstfiler anses for at repræsentere en sekvens af tegn, der er formateret til linjer, hvor hver linje afsluttes med en slutmarkør (a CR / LF-kombination).

TextFile- og tildelingsmetoden

For at begynde at arbejde med tekstfiler skal du linke en fil på en disk til en filvariabel i din kode - erklær en variabel af typen TextFile og brug AssignFile-proceduren til at knytte en fil på en disk til en fil variabel.

Læsning af oplysninger fra en tekstfil

Hvis vi ønsker at læse indholdet af en fil tilbage i en strengliste, gør bare en kodelinie jobbet.

instagram viewer

For at læse information fra en fil linje for linje, skal vi åbne filen for input ved at bruge Nulstil procedure. Når en fil er nulstillet, kan vi bruge den ReadLn at læse information fra en fil (læser en linje tekst fra en fil flytter derefter til den næste linje):

Efter at have tilføjet en linje tekst fra en fil til en memokomponent, skal SomeTxtFile lukkes. Dette gøres af Tæt nøgleord.

Vi kan også bruge Læs-proceduren til at læse information fra en fil. Læs fungerer ligesom ReadLn, medmindre det ikke flytter markøren til den næste linje.

EOF - Filens slutning

Brug EOF-funktionen til at sikre dig, at du ikke prøver at læse ud over filens ende. Lad os sige, at vi vil vise indholdet af filen i meddelelsesbokse - en linje ad gangen, indtil vi kommer til slutningen af ​​en fil:

Bemærk: Det er bedre at bruge Mens løkken end Till-løkken for at tage højde for den (usandsynlige) mulighed for, at filen findes, men ikke indeholder nogen data.

Skrivning af tekst til en fil

Det WriteLn er sandsynligvis den mest almindelige måde at sende individuelle oplysninger til en fil. Følgende kode læser en tekst fra en Memo1-komponent (linje for linje) og sender den til en nyligt oprettet tekstfil.

Afhængigt af tilstanden af ​​filen leveret til omskrivningsproceduren opretter den en ny fil (åbner filen for output) med det navn, der er tildelt SomeTextFile. Hvis en fil med samme navn allerede findes, slettes den, og en ny tom fil oprettes på sin plads. Hvis SomeTextFile allerede er åben, lukkes det først og oprettes derefter igen. Den aktuelle filposition er indstillet til begyndelsen af ​​den tomme fil.

Bemærk: Memo1.Lines. SaveToFile ('c: \ MyTextFile.txt') gør det samme.

Nogle gange er vi bare nødt til at tilføje nogle tekstdata til slutningen af ​​en eksisterende fil. Hvis dette er tilfældet, ringer vi Tilføj for at sikre, at en fil åbnes med skrivebeskyttet adgang med filmarkøren placeret i slutningen af ​​filen. Noget som:

Vær opmærksom på undtagelser

Generelt skal du altid bruge undtagelse håndtering når du arbejder med filer. I / O er fuld af overraskelser. Brug altid CloseFile i en endelig blok for at undgå muligheden for at ødelægge en brugers FAT. Alle de tidligere eksempler skal omskrives som følger:

Manipulering med strukturerede filer

Delphi har evnen til at håndtere både ASCII-filer og filer, der indeholder binære data. Her er teknikkerne til at arbejde med indtastede og ikke-indtastede (binære) filer.

instagram story viewer