Zapis ciągły do pliku

0

Hej!
Mam pewien problem.
Mam na formie 50 Edit'ów i chcę zapisać do pliku, np od Edit1 do Edit24, potem od Edit 26 do Edit50. Nie chcę tego robić w ten sposób:
var plik:TextFile;
begin
AssignFile(plik,'costam.txt');
Rewrite(plik);
WriteLn(plik,Edit1.Text);
:
:
:
WriteLn(plik,Edit24.Text); a potem od Edit26 do Edit50.
CloseFile(plik);
end;
End;

bo to bedzie za długi kod i nieestetyczny.
Chodzi mi aby zapisać do pliku jakoś tak: WriteLn(plik,Edit1.Text...Edit24.Text);
Coś w stylu jak się robi tablice. Czy ktoś wie jak to zapisać no i oczywiście odczytać plik takim sposobem? Za odpowiedź z góry wielkie dzięki :)

0

pętla i FindComponent i F1

np:

var i:integer;plik:TextFile;
begin
  AssignFile(plik,'dane.txt');
  Rewrite(plik);
  for i:=1 to 25 do
    if (FindComponent('Edit'+IntToStr(i)) is TEdit) then
     WriteLn(plik,(FindComponent('Edit'+IntToStr(i)) as TEdit).Text);

  sleep(5000); // przykładowa pauza

  for i:=26 to 50 do
    if (FindComponent('Edit'+IntToStr(i)) is TEdit) then
     WriteLn(plik,(FindComponent('Edit'+IntToStr(i)) as TEdit).Text);

  CloseFile(plik);
end;

a odczytywanie:

var i:integer;plik:TextFile;l:string;
begin
  AssignFile(plik,'dane.txt');
  Reset(plik);
  for i:=1 to 50 do begin
    ReadLn(plik,l);
    if (FindComponent('Edit'+IntToStr(i)) is TEdit) then
     (FindComponent('Edit'+IntToStr(i)) as TEdit).Text:=l;
  end;
  CloseFile(plik);
end;
0

np:

for i:=1 to 100 do
   begin
   writeln(plik,TEdit(FindComponent('Edit'+IntToStr(i))).text);
end;

powinno zadziałać

0

Lepiej i szybciej stworzyć Edity dynamicznie jako elementy array of TEdit i lecieć po tablicy.

Ludzie! Problem zrobienia czegoś z dużą liczbą komponentów tego samego rodzaju wypływa bardzo często na forum. Może by tak poszukać, poczytać?

1 użytkowników online, w tym zalogowanych: 0, gości: 1