• Paranoid - курс по анонимности и безопасности в сети от команды codeby. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь

Динамическое Создание Компонентов

Katyha1706

New member
18.01.2014
3
0
#1
Здравствуйте!Не могли бы вы помочь.
Мне нужно динамически создать 5 Label'ов, 3 Edit'a и 2 ComboBox'a.
Сделать как бы анкету,которая берет свои вопросы из одного текста(Task) и помещает ответы в другой(Otvet).
Также в ComboBox'e должно быть два варианта ответов.
Не получается создать их,что не так?


Код:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
NewButton: TButton;
NewLabel: TLabel;
NewEdit: TEdit;
NewComboBox: TComboBox;
procedure NewButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

FileName:String;
f:TextFile;
buf:String;
i:Integer;
NewFileName:String;
//ff:TextFile;
k:integer;
implementation

{$R *.dfm}

procedure TForm1.NewButtonClick(Sender: TObject);
var
i,k:integer;
FileName:string;
NewFileName:String;
f:TextFile;
//ff:TextFile;
begin
For i:=0 to ComponentCount-1 do
begin
If Components[i] is TEdit then
begin
FileName:='Otvet.txt';
AssignFile(f,FileName);
Append(f);
Writeln(f,TEdit(Components[i]).text);

CloseFile(f);
end;

begin
For k:=0 to ComponentCount-1 do
begin
If Components[i] is TComboBox then
begin
FileName:='Otvet.txt';
AssignFile(f,NewFileName);
Append(f);
Writeln(f,TComboBox(Components[k]).text);

CloseFile(f);
end;
end;
end;
end;
end;



procedure TForm1.FormCreate(Sender: TObject);
begin
FileName:='Task.txt';
AssignFile(f,FileName);
reset(f);
i:=1;

while not eof(f) do
begin
readln(f,buf);
NewLabel:=Tlabel.create(self);
NewLabel.Parent:=self;
NewLabel.left:=100;
NewLabel.top:=50*i;
NewLabel.caption:=buf;
NewEdit:=Tedit.create(self);
NewEdit.Parent:=self;
NewEdit.Left:=300;
NewEdit.top:=50*i;
inc(i)

end;
CloseFile(f);

begin
NewFileName:='Task2.txt';
AssignFile(f,NewFileName);
reset(f);
k:=1;

while not eof(f) do
begin
readln(f,buf);
NewLabel:=Tlabel.create(self);
NewLabel.Parent:=self;
NewLabel.left:=100;
NewLabel.top:=50*i;
NewLabel.caption:=buf;
NewComboBox:=TComboBox.create(self);
NewComboBox.Parent:=self;
NewComboBox.Left:=300;
NewComboBox.top:=50*i;
inc(k)
end;
CloseFile(f);
end;
end;
end.
 
Вверх Снизу