Note that there are some explanatory texts on larger screens.

plurals
  1. POPassing the variable to another Form
    text
    copied!<p>Hello I got Form1 with some variables and I want to pass it to another Form3 where I'll use it. So I have two question.</p> <ul> <li><p>How can I get access to variable in another form? I suppose it will be similar to</p> <p><code>var newIdList:= Form1.idList</code></p></li> <li><p>When var idList get value in </p> <p><code>procedure TForm1.Button1Click(Sender: TObject);begin idList:=strtoint(edit1.text); end</code></p> <p>and I show new form in another can I still get value in <code>idList</code>?</p> <p><code>procedure TForm1.Button2Click(Sender: TObject); begin form1.hide; form3.show; end</code></p></li> </ul> <hr> <pre><code> unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TForm1 = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; TabSheet3: TTabSheet; Label5: TLabel; Edit3: TEdit; Edit2: TEdit; Button3: TButton; Edit4: TEdit; Button2: TButton; Button1: TButton; Edit1: TEdit; Label1: TLabel; Label3: TLabel; Label2: TLabel; Edit5: TEdit; Label7: TLabel; Label6: TLabel; Button4: TButton; ListBox1: TListBox; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Edit4Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Edit1Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } idList,imieList,nazwiskoList,adresList: TStringList; end; var Form1: TForm1; plik:TStringList; tempPlik:TextFile; st:string; linia_klient,linia_video:array[0..20] of string; id:integer; implementation uses Unit3; {$R *.dfm} . . . procedure TForm1.FormCreate(Sender: TObject); var i:integer; begin Edit1.Text:='Witaj, Podaj ID klienta'; Label1.Caption:='ID Klienta'; idList:=TStringList.Create; imieList:=TStringList.Create; nazwiskoList:=TStringList.Create; adresList:=TStringList.Create; if (FileExists('idList.txt')=true) then idList.LoadFromFile('idList.txt') else idList.SaveToFile('idList.txt'); if (FileExists('imieList.txt')=true) then imieList.LoadFromFile('imieList.txt') else imieList.SaveToFile('imieList.txt'); if (FileExists('nazwiskoList.txt')=true) then nazwiskoList.LoadFromFile('nazwiskoList.txt') else nazwiskoList.SaveToFile('nazwiskoList.txt'); if (FileExists('adresList.txt')=true) then adresList.LoadFromFile('adresList.txt') else adresList.SaveToFile('adresList.txt'); AssignFile(tempPlik,'video.txt'); Reset(tempPlik); i:=0; While Not Eof(tempPlik) do begin Readln(tempPlik,linia_video[i]); inc(i); end; CloseFile(tempPlik); end; procedure TForm1.Button4Click(Sender: TObject); begin //Form1.Hide; Form3.Show; end; end. unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm3 = class(TForm) Button1: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; procedure Button1Click(Sender: TObject); procedure FormShow(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form3: TForm3; implementation uses Unit1; {$R *.dfm} procedure TForm3.Button1Click(Sender: TObject); begin Form3.Hide; //Form1.Show; end; procedure TForm3.FormShow(Sender: TObject); begin Label4.Caption:= intToStr(idList.Count); end; end. </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload