Form2 not found
procedure TfrmMain.btnGetNewArticleClick(Sender: TObject);
var
frm: TfrmNewArticle;
begin
frm := TfrmNewArticle.Create(Self);
try
if frm.ShowModal = mrOk then
begin
labelArticleName.Caption := frm.editArticleName.Text;
memoArticleDescr.Text := frm.memoArticleDescr.Text;
end;
finally
FreeAndNil(frm);
end;
end;
the unit code for the frmNewArticle form could look like this:
unit uNewArticle;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Buttons, StdCtrls, ExtCtrls;
type
TfrmNewArticle = class(TForm)
editArticleName: TEdit;
labelArticleName: TLabel;
memoArticleDescr: TMemo;
labelArticleDescr: TLabel;
btnOk: TBitBtn;
btnCancel: TBitBtn;
end;
var
frmNewArticle: TfrmNewArticle;
implementation
{$R *.dfm }
end.
unit uNewArticle;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Buttons, StdCtrls, ExtCtrls;
type
TfrmNewArticle = class(TForm)
editArticleName: TEdit;
labelArticleName: TLabel;
memoArticleDescr: TMemo;
labelArticleDescr: TLabel;
btnOk: TBitBtn;
btnCancel: TBitBtn;
end;
var
frmNewArticle: TfrmNewArticle;
// new function inserted
function NewArticle_NameAndDescr(var aNewName: string; var aNewDescr: string): boolean;
implementation
{$R *.dfm }
// new function implementation inserted
function NewArticle_NameAndDescr(var aNewName: string; var aNewDescr: string): boolean;
var frm: TfrmNewArticle;
begin
Result := False;
frm := TfrmNewArticle.Create(nil);
try
frm.editArticleName.Text := aNewName;
frm.memoArticleDescr.Text := aNewDescr;
if frm.ShowModal = mrOk then
begin
Result := True;
aNewName := frm.editArticleName.Text;
aNewDescr := frm.memoArticleDescr.Text;
end;
finally
FreeAndNil(frm);
end;
end;
end.
procedure TfrmMain.btnGetNewArticleClick(Sender: TObject);
var aName, aDescr: string;
begin
aName := '';
aDescr := '';
if NewArticle_NameAndDescr(aName, aDescr) then
begin
labelArticleName.Caption := aName;
memoArticleDescr.Text := aDescr;
end;
end;
function NewArticle_NameAndDescr(var aNewName: string; var aNewDescr: string;
var aNewBarcode: string): boolean;
function NewArticle_NameAndDescr(Params: TStrings): boolean;
var frm: TfrmNewArticle;
begin
Result := False;
frm := TfrmNewArticle.Create(nil);
try
frm.editArticleName.Text := Params.Values['NAME'];
frm.memoArticleDescr.Text := Params.Values['DESCR'];
if frm.ShowModal = mrOk then
begin
Result := True;
Params.Values['NAME'] := frm.editArticleName.Text;
Params.Values['DESCR'] := frm.memoArticleDescr.Text;
end;
finally
FreeAndNil(frm);
end;
end;
Using this new function would be like this:
procedure TfrmMain.btnGetNewArticleClick(Sender: TObject);
var Params: TStringList;
begin
Params := TStringList.Create;
try
// no need for init of Name and Descr
// Params.Text is empty !!!
if NewArticle_NameAndDescr(Params) then
begin
labelArticleName.Caption := Params.Values['NAME'];
memoArticleDescr.Text := Params.Values['DESCR'];
end;
finally
FreeAndNil(Params);
end;
end;
function NewArticle_NameAndDescr(Params: TStrings): boolean;
var frm: TfrmNewArticle;
begin
Result := False;
frm := TfrmNewArticle.Create(nil);
try
frm.editArticleName.Text := Params.Values['NAME'];
frm.memoArticleDescr.Text := Params.Values['DESCR'];
frm.editArticleBarcode.Text := Params.Values['BARCODE'];
if frm.ShowModal = mrOk then
begin
Result := True;
Params.Values['NAME'] := frm.editArticleName.Text;
Params.Values['DESCR'] := frm.memoArticleDescr.Text;
Params.Values['BARCODE'] := frm.editBarcode.Text;
end;
finally
FreeAndNil(frm);
end;
end;
Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.
Comments (2)
Commented:
wait, where was I that i didn't saw this article???
well, I did same in similar maner :)
Commented: