メインフォームといくつかのページを含むタブシートがあります。
最初のページには、たとえば、edit1 というラベルの付いた編集があります。2 ページには、新しいウィンドウ (フォーム) を開くボタンがあります。このフォームには、edit2 というラベルの付いた別の編集があります。
質問: edit1 の値と edit2 の値を比較するにはどうすればよいですか?
メインフォームといくつかのページを含むタブシートがあります。
最初のページには、たとえば、edit1 というラベルの付いた編集があります。2 ページには、新しいウィンドウ (フォーム) を開くボタンがあります。このフォームには、edit2 というラベルの付いた別の編集があります。
質問: edit1 の値と edit2 の値を比較するにはどうすればよいですか?
次のものが必要です。
MainForm: TMainForm
、およびOtherForm: TOtherForm
.次に、次のように記述できます。
if MainForm.Edit1.Text = OtherForm.Edit2.Text then
....
それはうまくいきます。ただし、2 つのフォームがパブリック プロパティを介してテキストを公開した方がよいでしょう。そうすれば、内部をいじる必要がなくなります。
フォームが show() によって表示される場合、考えられる解決策は次のとおりです。
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.Show();
if self.edit1.text= form2.edit2.text
then ShowMessage('Equals!');
end;
ただし、フォームが DMI の子である場合、値が変更される保証がないため、このソリューションはあまり意味がありません。これは、ShowModal() を使用する場合に機能します。