![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как удобнее оформит передачу массива записей в функцию [D7]
ANB © (2005-05-19 10:37:00)Чего то я торможу.
Как удобнее оформит передачу массива записей в функцию в виде параметра, чтобы было попроще писать потом вызов.
ANB (2005-05-19 11:38:00) [21]
> Думкин © (19.05.05 11:37) [39]
- а прототяп и вызов функции сможешь накидать ?
ANB (2005-05-19 11:38:00) [22]
> А как же тогда Form1.Button1 ? :о)
- вот и грю же, не люблю, а приходится.
> А просто открытого - ничего и в ТП не было.
, млин, может я с TC перепутал . . . Давненько не нужно было.
Думкин (2005-05-19 11:37:00) [23]Variant open array parameters - то?
Ega23 (2005-05-19 11:36:00) [24]- не, скорее не люблю. Ну не торчу я от ООП. Хотя в реализации все равно придется с ними возится.
А как же тогда Form1.Button1 ? :о)
Думкин (2005-05-19 11:36:00) [25]> [34] ANB © (19.05.05 11:30)
Пипец. Я же тебе пишу - открытые массивы. А просто открытого - ничего и в ТП не было.
ANB (2005-05-19 11:33:00) [26]
> (или не умеешь)
- не, скорее не люблю. Ну не торчу я от ООП. Хотя в реализации все равно придется с ними возится.
Ega23 (2005-05-19 11:31:00) [27]2 ANB © (19.05.05 11:30) [34]
Короче, заведи Set и не мучайся, если с классами возиться неохота (или не умеешь)
ANB (2005-05-19 11:30:00) [28]
> Также есть 2 кнопки - "Очистить" и "Закрыть".
- хе, этто слишком просто. 2 кнопки. А если мне нужна одна ? Кнопки на панельку динамически накидать я и сам умею. Мнеж надо передать - какие. Минимумом кода. Кстати, помнится была такая фича - открытый список аргументов, кажись в TP. Delphi это ест ?
Думкин (2005-05-19 11:26:00) [29]Хм. Навскидку пока не вижу. А гемор вижу. :)
basken (2005-05-19 11:26:00) [30]
> ANB © (19.05.05 11:24) [30]
Что значить прикручивать...?
Ega23 (2005-05-19 11:24:00) [31]А чего этот код у тебя делает ?
Выводит на экран содержимое текстового файла в мемо. Также есть 2 кнопки - "Очистить" и "Закрыть".
- это, а зачем ? Номер кнопки я могу определить и вернуть.
Ну и что? А где "реакция" на кнопку?
ANB (2005-05-19 11:24:00) [32]
> Напиши классовый метод
- да и не нужен тут классовый. Потом придется имя класса постоянно прикручивать.
ANB (2005-05-19 11:23:00) [33]
> basken (19.05.05 11:22) [28]
- да вот в описании параметров и все проблемы. Сабж читал ?
basken (2005-05-19 11:22:00) [34]
> ANB © (19.05.05 11:01) [14]
Напиши классовый метод для своего диалогового окна с нужными тебе параметрами, и вызывай его как обычную процедуру...
ANB (2005-05-19 11:20:00) [35]
> Ну тогда ещё нужно ссылку на метод передавать, который кнопке
> будешь присваивать.
- это, а зачем ? Номер кнопки я могу определить и вернуть.
А чего этот код у тебя делает ?
Ega23 (2005-05-19 11:18:00) [36]
function ShowTexLogFile(const aFileName:String):Boolean;
procedure BtnClearClick(Sender:TObject);
var
i:Integer;
_memo:TMemo;
begin
if (Sender is TForm) then
begin
With TForm(Sender) do
begin
for i:=0 to ComponentCount-1 do
if (Components[i] is TMemo) then
if UpperCase(TMemo(Components[i]).Name)=UpperCase('memSQLLogMonitor') then
begin
_memo:=TMemo(Components[i]);
_memo.Lines.Clear;
_memo.Lines.Add(' ');
_memo.Lines.SaveToFile(_memo.Hint);
Break;
end;
end;//With TForm(Sender) do
end;//if (Sender is TForm) then
end;//procedure BtnClearClick(
var
aForm:TForm;
aPanel:TPanel;
OnClearClick:TMethod;
List:TStringList;
i:Integer;
begin
Result:=False;
//if not FileExists(aFileName) then Exit;
try
Application.CreateForm(TForm, aForm);
try
With aForm do
begin
Caption:=aFileName;
BorderStyle:=bsSingle;
Height:=500;
Width:=750;
Position:=poScreenCenter;
end;
With TMemo.Create(aForm) do
begin
Parent:=aForm;
Name:='memSQLLogMonitor';
Align:=alClient;
ScrollBars:=ssBoth;
//Height:=440;
Clear;
Hint:=aFileName;
List:=TStringList.Create;
if FileExists(aFileName) then
begin
List.LoadFromFile(aFileName);
for i:=List.Count-1 downto 0 do Lines.Add(List.Strings[i]);
end;
List.Free;
end;
aPanel:=TPanel.Create(aForm);
With aPanel do
begin
Parent:=aForm;
Height:=45;
Align:=alBottom;
end;
With TButton.Create(aPanel) do
begin
Parent:=aPanel;
Cancel:=True;
Height:=25;
Width:=100;
Font.Size:=10;
Top:=10; //aPanel.ClientHeight-10;
Left:=aPanel.Width-110;
Anchors:=[akTop, akRight];
Caption:='Закрыть';
ModalResult:=mrOK;
end;
With TButton.Create(aPanel) do
begin
Parent:=aPanel;
Height:=25;
Width:=100;
Font.Size:=10;
Top:=10; //aPanel.ClientHeight-30;
Left:=aPanel.Width-220;
Anchors:=[akTop, akRight];
Caption:='Очистить';
OnClearClick.Code:=@BtnClearClick;
OnClearClick.Data:=aForm;
OnClick:=TNotifyEvent(OnClearClick);
end;
aForm.ShowModal;
finally
aForm.Free;
end;
except on E:Exception do
raise Exception.Create('ShowTexLogFile '+E.Message);
end;
end;
Ega23 (2005-05-19 11:17:00) [37]Ну тогда ещё нужно ссылку на метод передавать, который кнопке будешь присваивать.
ANB (2005-05-19 11:14:00) [38]
RDlgButton = record
IconInd : Integer;
Caption : String;
end;
function ShowDialog (sTitle, sMessage : String; const Buttons : array of RDlgButton) : Integer;
procedure TForm2.Button1Click(Sender: TObject);
const Buttons : array [1..1] of RDlgButton = ((IconInd : 0; Caption : 'OK'));
begin
ShowDialog('Заголовок','Мессага', Buttons);
end;
Вот так компиляется. Еще бы сделать без const, и было бы счастье.
Типа :
ShowDialog('Заголовок','Мессага', ((IconInd : 0; Caption : 'OK')));
Ega23 (2005-05-19 11:13:00) [39]В субботу идти намерение с сыном имеем и билеты уж взяты
Класс!!! :-))))))))
Danilka (2005-05-19 11:12:00) [40][20] Ega23 © (19.05.05 11:09)
> Мастер Йода
Йод, это шото типа зеленки, им болячки мажут, а хто такой мастер йоду - это мастер по замазыванию болячек? :)