Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как сгенирировать n-ое количество Edit?


Автор: Данил Панфилов 8.8.2005, 06:34
Простотите, возможно совсем банальный вопрос, я только начинаю программировать на Delphi и пока путаюсь в особенностях ООП (раньше программировал только на ASM и PHP), а надо срочно сделать одну программку. Но столкнулся вот с такой проблемой, и прошу уважаемое сообщество помочь мне.
Задача: вводится число n от 2 до 22. После нажатия баттон, программа должна вывести n полей Edit: Edit1, Edit2,... EditN дя дальешего ввода информации в эти поля. Напрашивается использовать цикл, но я не нашел решения, как перебирать в циклах индекс Edit...
Помогите, пожалуйста!

Автор: Grig 8.8.2005, 06:54
http://forum.vingrad.ru/index.php?showtopic=51425&unread=1&hl=%F1%EE%E7%E4%E0%F2%FC+%EA%EE%EC%EF%EE%ED%E5%ED%F2

Автор: Rrader 8.8.2005, 06:56
Код

Function CreateEdits(Count: Integer): Integer;
Var
  I: Integer;
  E: TEdit;
Begin
  For I := 0 To Count - 1 Do
  Begin
    E := TEdit.Create(NIL);
    E.Parent := Form1;
    E.Top := I * 21 + I * 4;
    E.Left := 200;
  End;
End;

procedure TForm1.Button1Click(Sender: TObject);
begin
  CreateEdits(5);
end;

Автор: Guest 8.8.2005, 08:30
Цитата(Rrader @ 8.8.2005, 06:56)
Код

Function CreateEdits(Count: Integer): Integer;
Var
  I: Integer;
  E: TEdit;
Begin
  For I := 0 To Count - 1 Do
  Begin
    E := TEdit.Create(NIL);
    E.Parent := Form1;
    E.Top := I * 21 + I * 4;
    E.Left := 200;
  End;
End;

procedure TForm1.Button1Click(Sender: TObject);
begin
  CreateEdits(5);
end;

При выполнение вашего кода выдается ошибка "Class TEdit not found"...

Автор: Song 8.8.2005, 08:42
Надо код.

Автор: Guest 8.8.2005, 08:50
Цитата(Song @ 8.8.2005, 08:42)
Надо код.

Вот код

Код

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
   { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


Function CreateEdits(Count: Integer): Integer;
Var
  I: Integer;
  E: TEdit;
Begin
  For I := 0 To Count - 1 Do
  Begin
    E := TEdit.Create(NIL);
    E.Parent := Form1;
    E.Top := I * 21 + I * 4;
    E.Left := 200;
  End;
End;

procedure TForm1.Button1Click(Sender: TObject);
begin
  CreateEdits(5);
end;

end.

Автор: Pakshin A. S. 8.8.2005, 08:55
У меня ваш код работает. Класс TEdit находится в StdCtrls... усе номано... smile

Автор: Guest 8.8.2005, 09:13
все ок, это был глюк какой-то - перезапучтил Delphi и все заработало. Спасибо всем за помощь!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)