memo ma problem z dobrym wczytaniem pliku

0

witam
tym razem mam problem z memo, mianowicie na starcie robi mi sie pusty plik .txt i do tego momentu wszystko jest ok, ale gdy podczas uzywania programu zapelniam rekord stringami i zapisuje je do pliku, memo (ktore jest w drugiej formie) laduje mi ten pusty plik, a nie ten ktory zostal zapelniony stringami; oto co mam m.in. w unit1:

uses
  Windows, Messages... unit2;
...
...
TRUzytkownicySieci=
        record
        im:string;
        naz:string;
         Nr:string;

...
   {na starcie tworze plik}
procedure TForm1.start(Sender: TObject);
var
l: TEXTFILE;
begin
assignfile(l,'d:\pliki.txt');
rewrite(l);
closefile(l);
....
....
procedure TForm1.ZapiszClick(Sender: TObject);
var pom, pom1,nap:string;
odpowiedz:integer;

begin
us.im:=imie.Text;
us.naz:=nazwisko.Text;
{FontName.Items[FontName.ItemIndex];}
us.klasa:=klasa.Items[klasa.itemindex];
us.nr:=nr.Items[nr.itemindex];
us.plec:=plec.Items[plec.itemindex];
us.datur:=DataUr.Text;
   {zapelniam rekord stringami}
...
AssignFile(f,'d:\pliki.txt');
rewrite(f);
write(f,us.klasa+';');
write(f,us.nr+';');
...
closefile(f);
   {zapelniam nowy plik 'pliki.txt'}
form2.show;
...
...
======
unit2:
...
procedure TForm2.laduj_memo(Sender: TObject);
begin
 memo1.Lines.LoadFromFile('d:\pliki.txt');
end;

======
i teraz moje pytanie: dlaczego laduje ten pusty plik, a nie ten ktory jest zapisywany po kliknieciu przycisku? przeciez przechodzi do unit2 i laduje plik pliki.txt dopiero po zapisaniu tego co wpisalem...

0

hmm.. O ile mi wiadomo, memo ma ograniczenia co do ilości znaków w stringu.. Spróbuj działać na RichEdit

0

Może gdzieś po drodze kasujesz REWRITE-m ten zapisany plik? U mnie to wygląda mniej więcej tak:

FORMA1:
  Memo1: TMemo;
  dodaj: TButton;
  laduj: TButton;


procedure TForm1.dodajClick(Sender: TObject);
begin
  form2.show;
end;

procedure TForm1.ladujClick(Sender: TObject);
begin
  Memo1.Clear;
  if FileExists('plik.txt') then
    Memo1.Lines.LoadFromFile('plik.txt')
  else showmessage('Nie znaleziono pliku');
end;


FORMA2:
  Edit1: TEdit;
  Edit2: TEdit;
  dopisz: TButton;

procedure TForm2.dopiszClick(Sender: TObject);
var TF: TextFile;
begin
  AssignFile(TF,'plik.txt');
  if FileExists('plik.txt') then Append(TF)
    else rewrite(TF);
  Write(TF,Edit1.text+' '+Edit2.text+#13+#10);
  closeFile(TF);
end;

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