Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2014, 14:55   #21
PaHaNjkee
Delphi 10 Seattle
Пользователь
 
Аватар для PaHaNjkee
 
Регистрация: 01.11.2010
Сообщений: 90
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
так надо и начинать с того что озвучить проблему, а не рассказывать свое кривое решение
Ну так если я озвучил проблему Вы бы написали "Нам нужен код", "Вы не просите решение, а делайте сами" и т.д.
PaHaNjkee вне форума Ответить с цитированием
Старый 26.03.2014, 15:42   #22
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

надо расписать в чем проблема и ваш подход в решении, а тут подскажут так или не так, и как надо
eval вне форума Ответить с цитированием
Старый 26.03.2014, 19:10   #23
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Так пойдет?
Код:
unit Unit1;

interface

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

// не использовал)
const
  MAX_QUESTIONS :Integer = 6;

type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    Button1: TButton;
    Button2: TButton;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    Grp1, Grp2 :TGroupBoxList;
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  GB :TGroupBox;
  Ed :TEdit;
  PageSel :TTabSheet;
  N, I :Integer;
begin // add
 PageSel := PageControl1.ActivePage;
 I := PageSel.Tag;
 GB := TGroupBox.Create(nil);
 GB.Parent := PageSel;
 GB.Height := 50;
 GB.Width := 100;
 GB.Top := PageSel.Tag * GB.Height + 2;
 GB.Left := 2;
 GB.Name := Format('GB%d', [I]);

 Ed := TEdit.Create(GB);
 Ed.Parent := GB;
 Ed.Height := 25;
 Ed.Width := 90;
 Ed.Top := 16;
 Ed.Left := 4;
 Ed.Name := Format('Ed%d', [I]);

 N := PageSel.TabIndex;
  case N of
 0: Grp1.Add(GB);
 1: Grp2.Add(GB);
  end;
 PageSel.Tag := PageSel.Tag + 1;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  I :Integer;
begin
 Grp1.Clear;
 Grp2.Clear;
 for I := 0 to PageControl1.PageCount - 1 do
  PageControl1.Pages[I].Tag := 0;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Grp1 := TGroupBoxList.Create(True);
  Grp2 := TGroupBoxList.Create(True);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 FreeAndNil(Grp1);
 FreeAndNil(Grp2);
end;

end.
Код:
unit Unit2;

interface

Uses
  Contnrs, StdCtrls;

//  Параметр AOwnsObjects определяет, как будут уничтожаться объекты в случае их удаления из списка.
//  Если AOwnsObjects установлен в true, это будет происходить автоматически,
//  если false – надо будет делать все самостоятельно.
//  По умолчанию он равен true.

type TGroupBoxList = class(TObjectList)
 private
    function GetItems(Index: Integer): TGroupBox;
    procedure SetItems(Index: Integer; const Value: TGroupBox);
 public
  property Items[Index: Integer]:TGroupBox read GetItems write SetItems; default;
end;

implementation

{ TGroupBoxList }

function TGroupBoxList.GetItems(Index: Integer): TGroupBox;
begin
 Result := TGroupBox(inherited GetItem(Index));
end;

procedure TGroupBoxList.SetItems(Index: Integer; const Value: TGroupBox);
begin
 inherited SetItem(Index, Value);
end;

end.
Изображения
Тип файла: png own.png (30.4 Кб, 39 просмотров)

Последний раз редактировалось Alter; 26.03.2014 в 19:13.
Alter вне форума Ответить с цитированием
Старый 27.03.2014, 14:07   #24
PaHaNjkee
Delphi 10 Seattle
Пользователь
 
Аватар для PaHaNjkee
 
Регистрация: 01.11.2010
Сообщений: 90
По умолчанию

Цитата:
Сообщение от Alter Посмотреть сообщение
Так пойдет?
Спасибо


__________________
Оверквотинг (overquoting) на форуме запрещён.
Не злоупотребляйте избыточным цитированием.
Если Вы отвечаете на предыдущее сообщение, нет необходимости приводить его полностью в своем ответе.
В крайнем случае выберите нужный фрагмент и процитируйте его.
Модератор.

Последний раз редактировалось PaHaNjkee; 27.03.2014 в 18:13.
PaHaNjkee вне форума Ответить с цитированием
Старый 27.03.2014, 14:14   #25
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
PaHaNjkee
Вот вы можете логично объяснить - зачем такое сверхизбыточное цитирование?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.03.2014, 15:20   #26
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

Мне тоже любопытно, к чему цитирование кода, если можно обратиться по имени, и поблагодарить за код. Это не придирка, просто любопытно
XE5 вне форума Ответить с цитированием
Старый 27.03.2014, 15:32   #27
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Это не придирка, просто любопытно
Потому что форумчанин привык к быстрому ответу с цитатой. Просто на нашем портале цитата не ограничена по размерам, а жаль.
Короче за это не бьют, но смотрят косо )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.03.2014, 17:10   #28
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Внизу страницы есть "Отправить быстрый ответ" и тогда нет надобности цитировать вообще всё сообщение)
Alter вне форума Ответить с цитированием
Старый 27.03.2014, 19:53   #29
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

Если уж речь зашла о цитатах, к кому можно обратиться с просьбой, реализовать на форуме кнопку обратиться? Не то чтобы лень копировать ник, и обрамлять его тегом, но есть мнение, что это уменьшит количество больших цитат.
XE5 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПРоблема с функцией! dpmkh Общие вопросы Delphi 6 12.10.2012 18:42
проблема с функцией Madmaxisss Паскаль, Turbo Pascal, PascalABC.NET 5 23.08.2012 13:46
проблема с функцией Си blain Помощь студентам 1 19.02.2012 21:06
Проблема с функцией MeTeOpA C# (си шарп) 6 11.07.2011 00:07