Lag Read Write tekstfil med KYLIX

Denne artikkelen er for nybegynnere til middels utbygger som ønsker å lese /skrive /print og slette tekstfilen. Håper det vil være nyttig for mange utviklere .Create, lese, skrive, Print, EraseText filer med KYLIXBy Rahul TamrakarThis Artikkel er for nybegynnere til middels utbygger som ønsker å lese /skrive /print og slette tekstfilen. Håper det vil være nyttig for mange utviklere .Nå, vil jeg vise deg de grunnleggende kommandoer for lesing og skriving. Det er veldig veldig simple.General I /O RoutinesAssignFile Tildeler navnet på en ekstern fil til en fil variabel. For å begynne å jobbe med tekstfiler fra Kylix må vi knytte en fil på en disk til en fil variabel i vårt program. For å lage denne koblingen må vi først erklære en variabel av typen tekstfil og deretter bruke AssignFile prosedyre for å knytte en fil på en disk med en fil variabel. Med mindre filen som heter Filename er i gjeldende katalog, må vi gi full bane .Reset Åpner en eksisterende fil (for lesing) For å lese informasjon fra en fil linje for linje, må vi åpne filen for innspill ved å bruke Reset prosedyre. Reset-åpner den eksisterende filen med navnet som er tildelt tekstfil variabel. En feil resultater hvis ingen eksisterende ekstern fil av fornavnet exists.Rewrite Oppretter og åpner en ny fil (eller åpner og fjerner en eksisterende fil!) Rewrite oppretter en ny fil (åpner filen for output) med navnet som er tildelt Openfile. Hvis en fil med samme navn allerede eksisterer, slettes og en ny tom fil opprettes i stedet. Hvis SomeTextFile allerede er åpen, er det først lukket og deretter re-laget. Gjeldende fil posisjon er satt til begynnelsen av den tomme file.WriteLn Skriv linje i tekstfilen. Den WriteLn kommandoen er sende individuelle biter av informasjon til en fileReadLn Les linje fra tekstfil. ReadLn å lese informasjon linje for linje fra en file.Eof Returnerer end-of-file status. (Sann innebærer på slutten av filen) EOF er EndOfFile sjekker funksjonen. Vi kan bruke denne funksjonen til å sørge for at vi ikke prøver å lese forbi slutten av filen OpenFile.EOFCloseFile Lukker en åpen fil. Lukk for å lukke koblingen av OpenFile.AssignPrn Tildeler filen til skriver; Erase Sletter en ekstern file.All disse rutinene er i SysUtils enhet unntatt "Assignprn" for denne u må legge til "QPrinters" enhet i enheten section.Why jeg velge TMEMO med TEKST FILEThe følgende eksempler viser hvordan å lagre og laste en TMemo fra fil "the hard way" .Du kan selvfølgelig bruke SaveToFile og LoadFromFile metoder for TStrings, men da du ikke ville lære om tekstfil I /O! og mange programmerere meste har 2 problem1 Slik skriver du ut TMEMO innhold og spar til tekstfiler ... 2. Hvordan LEKE MED tekstfil i KYLIX.In denne måten u vil lære ...... 1. Hvordan spare /retrive TMEMO innholdet i TEKST FILE.2. Slik skriver du ut TMEMO innhold gjennom Programme.3. hvordan å lage /skrive /lese /Print og Erase TEKST FILES.1. Opprette og skrive innhold til tekst FileEnsures at outfile vil alltid være lukket selv om et unntak er hevet under skriving av filen {SaveToFile: Denne prosedyren lagrer innholdet i et notat til en gitt fil bane og navn} prosedyre SaveToFile (MemoName. TMemo; Filename: string); Var Openfile: tekstfil; {Tekstfilen} Counter: integer; {Loop teller} begynne AssignFile (Openfile, Filename); {Associate Openfile med Gitt Filbane og navn} Omskriving (Openfile); {Åpne den} prøve prøve for Counter: = 0 til MemoName.Lines.Count - en gjøre Writeln (Openfile, Memoname.Lines [Counter]); application.MessageBox ('Memo Save inn tekstfil' + Filename); unntatt på E: EInOutError gjøre MessageDlg ('Lagre avbrutt med feil:' + IntToStr (E.ErrorCode), mtError, [mbOK], 0); slutt; endelig CloseFile (Openfile); end, end; Eksempelet ovenfor viser hvordan å fange en fil I /O unntak og trekke feilkoden fra den. Merk at det er god form for å holde den ytre try-endelig blokk i tilfelle en ikke I /O Unntaket er raised.2. Lesing Innhold fra tekstfil {ReadFromFile: Denne prosedyren lese innholdet fra en gitt fil banenavn} prosedyre ReadFromFile (MemoName: TMemo; Filename: string); Var Openfile: tekstfil; {Tekstfilen} Line: string; {Linjen lese i} begynne MemoName.Lines.Clear; {Tøm memo} AssignFile (Openfile, Filename); {Associate Openfile med filnavn} Reset (Openfile); {Åpne den uten clobbering det} prøve prøve mens ikke EOF (Openfile) ikke begynne Readln (Openfile, Line); MemoName.Lines.Add (Line); slutt; unntatt på E: EInOutError gjøre MessageDlg ('kan ikke lese error:' + IntToStr (E.ErrorCode), mtError, [mbOK], 0); slutt; endelig CloseFile (Openfile); Sluttslutt; Endelig dette eksempelet viser hvordan reversere prosessen med å lese tekst fra en fil. Merk at Readln kopierer all teksten opp til, men ikke inkludert i slutten av linjen markør i den gitte strengen. Deretter hopper forbi enden av linjen markøren til neste linje hvis det er én. Hvis det ikke er neste linje da EOF blir True.3. Utskrift med tekst FileAn nytte av Object Pascal tekstfiler som jeg ennå ikke har nevnt er at de kan brukes til å sende data direkte til enhetene. Dette eksempelet viser hvordan du kan sende tekst direkte til skriveren {PrintMemo: Denne prosedyren lese innholdet fra Memo og skrive den} prosedyre PrintMemo (MemoName: TMemo; Filename: string);. Var Openfile: tekstfil; {Tekstfilen} Counter: integer; {Loop teller} begynne AssignPrn (Openfile); {enhets QPrinters Tildele tekstfil til PRN} Rewrite (Openfile); {Åpne den} prøve prøve for Counter: = 0 til MemoName.Lines.Count - en gjøre Writeln (Openfile, MemoName.Lines [Counter]); unntatt på E: EInOutError gjøre MessageDlg ('kan ikke skrive ut feil:' + IntToStr (E.ErrorCode), mtError, [mbOK], 0); slutt; endelig CloseFile (Openfile); end, end, Merk at i dette tilfellet er det jeg bruker AssignPrn snarere enn AssignFile. Etter å ha gjort dette kan du bare skrive til skriveren som om det var en "normal" tekst file.4. Slette Tekst Fileprocedure EraseFile (Filename: string); Var Openfile: tekstfil; {Tekstfilen} begynne hvis FileExists (Filename) da begynne AssignFile (Openfile, Filename); {Associate Openfile med filnavn} prøver Reset (Openfile); {Åpne den uten clobbering det} CloseFile (Openfile); Erase (Openfile); application.MessageBox (Filename + "SLETTET! '); unntatt på E: EInOutError gjøre MessageDlg ('kan ikke slette error:' + IntToStr (E.ErrorCode), mtError, [mbOK], 0); slutt; ende annet application.MessageBox ('FEIL!' + Filename + "finnes ikke! '); end; 5. Hvordan komme Application Sti {FilePathName: Denne funksjonen returnere Application banen med tekstfil navn} funksjon FilePathName: string; varFpath, fname: string; begin {ExtractFilePath () vil returnere SØKNAD PATH} Fpath: = ExtractFilePath (application.ExeName); fname: = 'myfile.txt'; FilePathName: = Fpath + fname; ende; Glad ProgrammingKYLIX_TEXTFILE.RTF Anmeldelser



Previous:
Next Page: