Finns det nåt sätt att spara informationen med alla dessa i samma text-fil? Vad egentligen menar ä följande: En idé är att använda sig av nån unik kod som markerar start för varje textsnutt (med nåt tecken som inte används/får användas i texten. Kanse detta skulle funka:Behöver hjälp att spara till textfil i Delphi!
RegisterListbox.Items.SaveToFile(PathName);
RegisterRichEdit.Lines.SaveToFile(PathName);
AddressRichEdit.Lines.SaveToFile(PathName);Sv: Behöver hjälp att spara till textfil i Delphi!
Först så sparar man till en text-fil från en listbox och två richeditbox, med hjälp av TStringlist. Men problemet blir om man vill öppna text-filen, hur får man så att informationen som fanns i t.ex listbox, när filen sparades hamnar tillbaka till lisboxen?Sv: Behöver hjälp att spara till textfil i Delphi!
Exempel:
[LISTBOX]
text som skall till listboxen.
[RICH1]
text som skall till richEdit1
[RICH1]
text som skall till richEdit1
För att läsa in filen får du loopa dig fram mellan raderna som börjar med '['
/ASv: Behöver hjälp att spara till textfil i Delphi!
-Spara knapp-
procedure TForm1.Button3Click(Sender: TObject);
var
F: TextFile;
S:String;
begin
GetDir(0,s); { 0 = Current drive }
{$I-}
AssignFile(F, S+'\Vclock.ini');
Rewrite(F);
Writeln(F, 'Utdatafil:'+Edit1.Text);
Writeln(F, 'UT gif:'+Edit3.Text);
Writeln(F, 'Bakgrundsfil:'+Edit2.Text);
Writeln(F, 'Text Font:'+Label1.Font.name);
Writeln(F, 'Text Font:'+IntToStr(Label1.Font.Size));
Writeln(F, 'Text Font:'+IntToStr(Label1.Font.Color));
Writeln(F, 'Text X:'+IntToStr(PosX.Position));
Writeln(F, 'Text Y:'+IntToStr(PosY.Position));
Writeln(F, 'Text 1:'+Text1.Text);
Writeln(F, 'Text 2:'+Text2.Text);
Writeln(F, 'Tid:'+IntToStr(TidS.Position));
CloseFile(F);
MessageDlg('INI-filen är sparas här: ' + s, mtInformation, [mbOk] , 0);
{$I+}
end;
-Inläsnings del-
procedure TForm1.FormCreate(Sender: TObject);
Var
F:TextFile;
Spos,T:integer;
TmP,S:String;
begin
GetDir(0,s); { 0 = Current drive }
{$I-}
AssignFile(F, S+'\Vclock.ini');
Reset(F);
Readln(F, TmP);
Spos:=11;
TmP:=Copy(TmP,Spos,Length(TmP)-Spos+1);
Edit1.Text:=TmP;
Readln(F, TmP);
Spos:=8;
TmP:=Copy(TmP,Spos,Length(TmP)-Spos+1);
Edit3.Text:=TmP;
Readln(F, TmP);
Spos:=14;
TmP:=Copy(TmP,Spos,Length(TmP)-Spos+1);
Edit2.Text:=TmP;
Readln(F, TmP);
Spos:=11;
TmP:=Copy(TmP,Spos,Length(TmP)-Spos+1);
Label1.Font.name:=TmP;
Readln(F, TmP);
Spos:=11;
TmP:=Copy(TmP,Spos,Length(TmP)-Spos+1);
Label1.Font.Size:=StrToInt(TmP);
Readln(F, TmP);
Spos:=11;
TmP:=Copy(TmP,Spos,Length(TmP)-Spos+1);
Label1.Font.Color:=StrToInt(TmP);
Readln(F, TmP);
Spos:=8;
TmP:=Copy(TmP,Spos,Length(TmP)-Spos+1);
PosX.Position:=StrToInt(TmP);
Readln(F, TmP);
Spos:=8;
TmP:=Copy(TmP,Spos,Length(TmP)-Spos+1);
PosY.Position:=StrToInt(TmP);
Readln(F, TmP);
Spos:=8;
TmP:=Copy(TmP,Spos,Length(TmP)-Spos+1);
Text1.Text:=Tmp;
Readln(F, TmP);
Spos:=8;
TmP:=Copy(TmP,Spos,Length(TmP)-Spos+1);
Text2.Text:=Tmp;
Readln(F, TmP);
Spos:=5;
TmP:=Copy(TmP,Spos,Length(TmP)-Spos+1);
TidS.Position:=StrToInt(TmP);
End;