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

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

Как удобнее оформит передачу массива записей в функцию [D7]


Страницы:   1 2 3 4

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)
> Мастер Йода

Йод, это шото типа зеленки, им болячки мажут, а хто такой мастер йоду - это мастер по замазыванию болячек? :)


Страницы:   1 2 3 4

Наверх

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