Wątek przeniesiony 2015-01-04 22:21 z przez furious programming. Powód: Wątek dotyczący podstaw

Załadowanie zawartości pliku tekstowego do komponentu Memo

Odpowiedz Nowy wątek
2015-01-04 20:02
Black Window
0

Witam, mam problem z odczytem z pliku txt do memo.
Problem polega na tym, że po pierwszym teście programu w memo nie wyświetla się nic, po drugim teście wyświetla się to co zapisałem w poprzednim itd.

Oto mój kod:

procedure TForm3.FormCreate(Sender: TObject);
var
nazwapliku: string;
TF: textfile;
begin
nazwapliku:= 'C:\plik.txt';
Memo1.Lines.LoadFromFile(nazwapliku);
end;

dodanie znacznika <code class="delphi"> - @furious programming

edytowany 1x, ostatnio: furious programming, 2016-12-13 18:26
Pytania o podstawy języka zadajemy w tym dziale; - furious programming 2015-01-04 22:21

Pozostało 580 znaków

2015-01-04 20:07
0

A czego oczekiwałeś?
Przecież wczytujesz tylko przy starcie.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2015-01-04 20:12
Black Window
0

Wcześniej mam form w którym jest podawanie kilku danych, zapis do pliku i potem jest to.
Chciałbym żeby po zapisie odczytało mi to w memo, jakieś wskazówki?

Pozostało 580 znaków

2015-01-04 20:26
0

Po zapisie - odczytać.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2015-01-04 20:32
Black Window
0

Nie musisz mnie traktować jak debila serio. Potrzebuje tylko pomocy z czymś z czym sobie poradzić nie umiem. Jeśli ktoś umie i CHCE pomóc to poproszę o pomoc. Z góry dziękuję.

Kod zapisu

procedure TForm2.Button1Click(Sender: TObject);
var
  TF : TextFile;
  pusty: string;
 
begin
max:=strtoint(label3.Caption);
pusty:= ' ';
if licznik<max
then
    begin
 
      AssignFile(TF, 'C:\plik.txt');
        try
          Append(TF);
          Write(TF, inttostr(licznik));
          Write(TF, pusty);
          Write(TF, form2.edit3.text);
          Write(TF, pusty);
          Write(TF, form2.edit1.text);
          Write(TF, pusty);
          Writeln(TF, form2.edit2.text);
        finally
          CloseFile(TF);
 
      licznik:=licznik+1;
      form2.Label1.Caption:=inttostr(licznik)+'/'+form1.Edit1.Text;
 
    end;
 
      edit1.Text:='';
      edit2.Text:='';
      edit3.Text:='';
end
else
    begin
          AssignFile(TF, 'C:\plik.txt');
        try
          Append(TF);
          Write(TF, inttostr(licznik));
          Write(TF, pusty);
          Write(TF, form2.edit3.text);
          Write(TF, pusty);
          Write(TF, form2.edit1.text);
          Write(TF, pusty);
          Writeln(TF, form2.edit2.text);
        finally
          CloseFile(TF);
    form2.Hide;
    form3.Show;
    end;
 
  end;
  end;

dodanie znacznika <code class="delphi"> - @furious programming

edytowany 1x, ostatnio: furious programming, 2016-12-13 18:26

Pozostało 580 znaków

2015-01-04 20:44
0
  1. Albo zamiast: form3.Show; dajesz: TForm3.Create(Application).Show; oraz
    procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    Action:=caFree;
    end;

    oczywiście musi być podpięte pod OnClose

  2. Albo przenieś wczytywanie pliku do:
    procedure TForm3.FormShow(Sender: TObject);
    begin
    Memo1.Lines.LoadFromFile('C:\plik.txt');
    end;

    Jak widać dokładnie to co powiedziałem wyżej: - "Po zapisie - odczytać."


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2015-01-04 20:59
Black Window
0

Ta druga opcja ma byc tam gdzie mam memo wrzucone tak? czyli cos takiego:

unit Unit3;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm3 = class(TForm)
    Memo1: TMemo;
    procedure FormShow(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form3: TForm3;
 
implementation
 
{$R *.dfm}
 
procedure TForm3.FormShow(Sender: TObject);
begin
Memo1.Lines.LoadFromFile('C:\plik.txt');
end;
 
end.

Pytam, ponieważ tak mam i teraz w memo nic nie wyświetla

Pozostało 580 znaków

2015-01-04 21:16
0

Czy zdarzenie OnShow podłączyłeś do FormShow ?


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

2015-01-04 21:18
Black Window
0

Myślałem, że w tym wypadku jest niepotrzebne. Serdecznie dziękuję za pomoc :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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