Witam, mam taki programik:
do memo1 wczytuje z pliku liczby w takiej formie
212
31231231
3231
2313123
4324
213
35465676
54324
432
Program dynamicznie tworzy mi nowe memo do którego wkłada liczby dopóki nie znajdzie pustej linii, jak na nią trafi to tworzy następne memo i tam lądują następne liczby.
Teraz pytanie: jak zrobić żeby po zmianie liczby w dynamicznie utworzonym memo automatycznie liczba ta była zmieniana w głównym memo1? Czyli coś jakby aktualizacja zmiany.
Wklejam kod programu chociaż jest on bardzo zagmatwany :)
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
ComCtrls, SynEdit;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Memo1: TMemo;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
PageControl1: TPageControl;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
plik : TextFile;
MyText : String;
m,n,i,l,liczby,licznik:integer;
tab: array [ 1 .. 100 ] of string;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var
zakladka: TTabSheet;
memo: TMemo;
edit: TEdit;
begin
licznik:=1;
Memo1.Clear;
if OpenDialog1.Execute then
begin
AssignFile(plik, OpenDialog1.FileName);
Reset(plik);
while not eof(plik) do
begin
Readln(plik, MyText);
tab[licznik]:=MyText;
Memo1.Lines.Add(MyText);
end;
CloseFile(plik);
end;
m:=1;
n:=1;
l:=1;
liczby:=1;
zakladka:= TTabSheet.Create(self);
zakladka.PageControl:= PageControl1;
zakladka.Caption:= 'L' + IntToStr(liczby);
zakladka.Show;
//tworzenie pierwszego TMemo
memo :=TMemo.Create(Self);
memo.Align := alClient;
memo.ReadOnly:=False;
memo.ScrollBars:=ssBoth;
memo.WordWrap:=false;
memo.Parent := zakladka;
//tworzenie pierwszego TEdif
edit:=TEdit.Create(Self);
edit.Align:=alBottom;
edit.ReadOnly:=True;
edit.Parent:=zakladka;
//kopiowanie liczb z Memo1 do poszczególnych memo
for I := 0 to Memo1.Lines.Count-1 do
begin
if (Memo1.Lines[i]<>'') then (PageControl1.ActivePage.Controls[0] as TMemo).Lines.Add(Memo1.Lines[i]);
if Memo1.Lines[i]='' then //jak znajdzie pusta linie to tworzy nowa zakladke z memo
begin
zakladka:= TTabSheet.Create(self);
zakladka.PageControl:= PageControl1;
zakladka.Caption:= 'L' + IntToStr(liczby);
zakladka.Show;
//tworzenie Tmemo
memo := TMemo.Create(Self);
memo.Align := alClient;
memo.ReadOnly:=False;
memo.ScrollBars:=ssBoth;
memo.WordWrap:=false;
memo.Parent := zakladka;
//tworzenie TEdif
edit:=TEdit.Create(Self);
edit.Align:=alBottom;
edit.ReadOnly:=True;
edit.Parent:=zakladka;
inc(n);
m:=0;
end;
inc(m);
end;
PageControl1.Pages[0].Show; //pierwsza zakladka aktywna
end;
end.