Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Че-то совсем туплю..


Steep ©   (2007-04-09 14:54:00) 

procedure RegSaveButton(Sender: TObject; Count: integer; Tip: string; ArrayPath: array[0..5] of string);
Пишет [Pascal Error] PanelUnit.pas(68): E2029 'OF' expected but '[' found

что не так??


Steep   (2007-04-10 11:37:00) [1]

> if Sender is TForm then begin
за это вобще большое спасибо!!
Еще такой маленький вопросик sender - там указывается (как бы это правильней сказать...) только классы T...
т.е. можно ловить и обрабатывать отдельно от Кнопки (TButton.click) и например Листбокса (TListBox.Click)
Правильно я мыслю?


Steep   (2007-04-10 11:31:00) [2]

Большое спасибо Джо ©, ЮЮ ©  !!!


ЮЮ   (2007-04-10 09:20:00) [3]

ну т.е. просто RegSaveButton('1', '2', '3','4','5');
> и всЕ?


Ну ести так просто работает, то и используй :)

Иначе:

procedure RegSaveButton(
 Sender: TObject; Count: integer; Tip: string; ArrayPath: array of string
);

var
 i: integer;
 txt: string;
begin
 if Sender is TForm then begin
   txt := '';
   for i := 0 to High(ArrayPath) do
     txt := txt + ArrayPath[i] + '\';
   TForm(Sender).Caption := txt;
 end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 RegSaveButton(Form1, 10, 'TypeA', ['1', '2', '3', '4', '5', '6']);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 RegSaveButton(Form1, 10, 'TypeB', ['1', '2']);
end;


На худой конец, можно и заполнить массив:

TArrayPath = array[0..5] of string;
...
procedure RegSaveButton(Sender: TObject; Count: integer; Tip: string; ArrayPath: TArrayPath);
...

var
 arr: TArrayPath;
begin
 arr[0] := '1';
 ...
 arr[5] := '6';
 RegSaveButton(Form1, 10, 'TypeA', arr);


Steep   (2007-04-10 07:25:00) [4]


> type  TArrayPath = array[0..5] of string;
> procedure RegSaveButton  (ArrayPath: TArrayPath)


ну т.е. просто RegSaveButton('1', '2', '3','4','5');
и всЕ?


Германн   (2007-04-09 16:36:00) [5]

<telepator>
Автору нужно что-то типа array of const
</telepator>


Джо   (2007-04-09 16:13:00) [6]

> [4] Steep ©   (09.04.07 15:38)
> ну т.е. как потом использовать сию конструкцию?

То есть как это «как использовать»? Есть проблемы с использованием массивов? Какие именно?


Steep   (2007-04-09 15:38:00) [7]

ну т.е. как потом использовать сию конструкцию?


Джо   (2007-04-09 15:33:00) [8]

> [2] Steep ©   (09.04.07 15:21)
> блин..
> А потом можно задавать сразу пять элементов в Массив? В
> процедуре?

Перефразируй.


Steep   (2007-04-09 15:21:00) [9]

блин..
А потом можно задавать сразу пять элементов в Массив? В процедуре?


Джо   (2007-04-09 14:57:00) [10]

type
 TArrayPath = array[0..5] of string;

procedure RegSaveButton (ArrayPath: TArrayPath)


Наверх

Титульная страница Поиск, карта сайта Написать письмо