Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 05.05.2012, 21:22
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Обычно для этого используют функции/процедуры с одним именем и разными входными параметрами.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #17  
Старый 05.05.2012, 21:51
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

procedure ... overload;
Ответить с цитированием
  #18  
Старый 05.05.2012, 21:55
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Я надеялся ТС сам до этого дойдёт.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #19  
Старый 05.05.2012, 22:35
Yo_Asakyra Yo_Asakyra вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
Я надеялся ТС сам до этого дойдёт.
Про функции и процедуры конечно смешно.
Я задал вопрос именно потому, что если я буду вызывать то что необходимо в каждой кнопке\пункте меню, то получится много лишнего кода, вот я и подумал, что через ActionList можно сделать общий Action для кнопок и меню, но столкнулся с проблемой передачи разных параметров.
А писать еще одну функцию лишь для приёма параметров, это как-то не целесообразно.
Я написал что выполнить действие, но это было лишь упрощение, в действительности же там не одна строка кода
Ответить с цитированием
  #20  
Старый 05.05.2012, 22:43
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Назначаешь одной кнопке процедуру где идёт выполнение кода, остальные кнопки ссылаются на эту же процедуру. Немного напоминает действие ActionList-а.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #21  
Старый 06.05.2012, 09:05
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

вообще не понятно зачем тут ActionList?

Код:
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure ButtonClick(Sender: TObject);
...
procedure TForm1.ButtonClick(Sender: TObject);
begin
  // Sender
end;

Код:
  object Button1: TButton
    OnClick = ButtonClick
  end
  object Button2: TButton
    OnClick = ButtonClick
  end
  object Button3: TButton
    OnClick = ButtonClick
  end
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #22  
Старый 06.05.2012, 15:23
Аватар для ~TB~
~TB~ ~TB~ вне форума
Начинающий
 
Регистрация: 17.02.2006
Адрес: Казахстан
Сообщения: 172
Версия Delphi: XE
Репутация: 1500
По умолчанию

Цитата:
Мне видится 2 подхода:
1) Создать Action в ActionList'e, назначить его этим элементам и внутри самого Action'a проводить анализ чем был вызван этот Action.
2) В каждом GUI элементе просто прописать один и тот-же код с разными параметрами.

1-й вариант одназначно, так как в случае дальнейшей модификации кода не нужно будет править его в нескольких местах + удобнее работать с хоткеями, капшинами и т.п.
__________________
00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110
Ответить с цитированием
Этот пользователь сказал Спасибо ~TB~ за это полезное сообщение:
Yo_Asakyra (17.05.2012)
  #23  
Старый 17.05.2012, 19:17
Yo_Asakyra Yo_Asakyra вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 11
Репутация: 10
Восклицание Мистика

Добрый день.
Возникла мистическая ситуация:
При записи данных в БД все поля кроме BLOB (ArrayOfCRC указан как WideString т.к. заношу в него строку) заносятся нормально, а данные в BLOB поле заносятся непонятно по каким правилам.
Например: Заношу 6 записей в БД, у некоторых BLOB заполнен, а у некоторых - нет.
Помогите разобраться

Работаю через FIB+ компоненты. В частности TpFIbDataBase, TpFiBDataSet и TpFIbTransaction.
Приведённым ниже кодом я заполняю БД (Interbase, созданная в InterBase & FireBird Manager'e 3.3.0.2).
Функции ExtractFileNameEx и CteateCRCArray работают корректно.
P.S. в View дебагера смотрел "ParamByName('ArrayOfCRC').AsWideString" тоже все работает нормально.
Код:
procedure TMainForm.InsertIntODBClick(Sender: TObject);
var
  vTextLengh : Word;
begin
  with DataModuleX.DataSet do
    try
      close;
      if not prepared then 
        Prepare;
      with DataModuleX.DataSet.QInsert do
        Try
          ParamByName('NameOfText').AsString := (FileOpen.Dialog.FileName, True); 
          ParamByName('ArrayOfCRC').AsWideString := CteateCRCArray(GlobalCanonizedText, 980, Configuration.WordsInShingle.Value, Configuration.NormalDoc.Checked); 
          ParamByName('TextLength').AsInteger := vTextLengh;
          ExecQuery;
        finally
          QInsert.Params.ClearValues;
          DataModuleX.MainTransaction.Commit;
        end;
    Except 
      on E : Exception do
        ShowMessage(E.ClassName+' Ошибка'+E.Message);
    End;
End;

Структура БД:

TextId - Первичный ключ.
NameOfText - Уникальный.

Нужели никто не знает в чём может быть причина?

Последний раз редактировалось Yo_Asakyra, 19.05.2012 в 01:07.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:05.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025