Gå til innhold

hvordan lagre informasjon i fra en label til en txt eller html fil?


Anbefalte innlegg

Videoannonse
Annonse

Generell måte å lagre til en tekstfil:

 

Var
 Fil : Textfile;
begin
 Assignfile (Fil, 'Tekstfil.txt');
 Rewrite (Fil);
 Writeln (Fil, Label1.Caption);  // I ditt tilfelle
 Writeln (Fil, 'Denne teksten blir skrevet til Tekstfil.txt');  // Skrive en tekststreng direkte til txt-fil
 Writeln (Fil, Tekstvariabel);  // Skrive verdien (innhold) av strengvariabelen "Tekstvariabel" til fil
 Closefile (Fil);
end;

 

Skrive flere variable til en tekstfil:

Writeln (Fil, 'En', 'To', 'Tre');

 

Ved mye data til en tekstfil, kan det være en fordel å opprette en variabel av type TStringlist, fylle den opp med Add-metoden, og lagre hele greia med metoden SaveToFile (Filnavn)

Endret av tasle
Lenke til kommentar

Du kan ha en teller som teller opp fra 1:

 

Var

Fil : Textfile;

Filnavn : String;

Teller: Integer;

Begin

.

.

.

Teller:= 1;

 

// Eksempel på å bygge opp filnavnet:

Filnavn:= 'Textfil'+ IntToStr (Teller)+ '.txt';

Assignfile (Fil, Filnavn);

Rewrite (Fil);

.

.

.

Inc (Teller); // Teller blir nå 2

end;

 

 

Denne telleren må være global, og inkrementeres inne i prosedyren for knappen du trykker på, samt at tekstfila skrives i den samme prosedyra. Her er instruksjonene kun vist i en logisk rekkefølge. Jeg aner ikke hva programmet ditt skal gjøre.

 

Hvis tekst skal lagres i en HTML-fil, så må du la programmet konstruere tekstfila:

 

1) Assignfile (Fil, 'Index.html');

2) Rewrite (Fil);

3) Writeln (Fil, '<html><head><title>'); //osv, etter HTML-standarden

4) Writeln .. // for alle tagger og tekst

5) Closefile (Fil);

 

Skal du skrive tekst til en HTML-fil bør du nok bruke en TStringlist type istedenfor. Det er mye lettere.

Lenke til kommentar

Takker igjen! Nyttig informasjon å hente her.

Jeg prøver meg fram for å lage label.tag funksjoner som forandres fra gang til gang hver gang man trykker en knapp, og hvis verdien når <0, så skal alle label.tag infoen lagres i tekst fila! (høres meningsløst ut, men jeg er i en prosess hvor jeg lærer nye ting). Setter pris på hjelpen =)

Lenke til kommentar
Takker for svaret tasle! Det virket. Jeg tenkte jeg skulle prøve TStringList, men finner det ikke på PaletteToolen min. Jeg bruker Turbo Delphi, så vet ikke om det er grunnen...

TStringList er en ingen komponent, og finnes derfor ikke på komponentpalettet. Derimot er det en klasse som brukes masse igjennom hele vcl'et, og alt for ofte ellers også. Så lenge du har 'classes' i 'uses'-seksjonen vil du kunne opprette og bruke instanser av TStringList på denne måten:

 

var
 strList: TStringList;
begin
 strList := TStringList.Create();
 try
strList.LoadFromFile('c:\temp\temp.txt');
strList.Add('Legger en streng til nederst i fila');
strList.Add('Og en streng til...')
strList.SaveToFile('c:\temp\temp.txt')
 finally
strList.free;
 end;
end;

 

TStringList er alt for enkel å (miss)bruke til alt mulig rart, så det er greit å bruke TextFile slik tasle viser deg. Et annet alternativ er jo å bruke en TFileStream.

 

-Vegar

Lenke til kommentar

Takker for svaret Vegar. Jeg var litt nyskjerrig på hvordan TStringList virket! Jeg skal teste dette ut.

 

 

TStringList er alt for enkel å (miss)bruke til alt mulig rart, så det er greit å bruke TextFile slik tasle viser deg. Et annet alternativ er jo å bruke en TFileStream.

 

Kan jeg også spørre hvordan TFileStream brukes?

Lenke til kommentar
Hvordan henter jeg teksten i fra en lagret label i en txt fil inn til labelen igjen i programmet?

 

procedure TForm1.Button1Click(Sender: TObject);
var TF: TextFile;
begin
 AssignFile(TF,'Label.txt');
 ReWrite(TF);
 WriteLn(TF,Label1.Caption);
 CloseFile(TF);
end;

procedure TForm1.Button2Click(Sender: TObject);
var TF: TextFile;
Text: string;
begin
 AssignFile(TF,'Label.txt');
 Reset(TF);
 while not Eof(TF) do begin
ReadLn(TF,Text);
Label1.Caption := Text;
 end;
 CloseFile(TF);
end;

 

noe sånn du e ute ette? :p

Endret av Bartil
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...