1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "Delphi - программирование", создана пользователем Katyha1706, 18 янв 2014.

  1. Katyha1706

    Katyha1706 New Member

    Репутация:
    0
    Регистрация:
    18 янв 2014
    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте!Не могли бы вы помочь.
    Мне нужно динамически создать 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.
     
Загрузка...

Поделиться этой страницей