Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Как дополните   Найти похожие ветки 

 
Zif ©   (2004-08-09 23:41) [0]

У меня возникла такая проблема: при нажитии на кнопку "Выборка" открывается форма "Выбор" и таких кнопок у меня более 30. Вопрос: как Форме "Выбор" при нажатии на кнопки типа "Выборка" присваивать нужные значения.
к примеру:

procedure TFormMain.ButtonViborkaClick(Sender: TObject);
begin
 FormVibor.ShowModal;
 FormVibor.Caption:="Выбор категирии такой-то"
 FormVibor.DBEdit.DataSourse:="название"
 FormVibor.DBEdit.DataField:="название"
 FormVibor.DBLookupListBox.ListSourse:="название"
 FormVibor.DBLookupListBox.ListField:="название"
 FormVibor.DBLookupListBox.KeyField:="название"
end;


также надо изменить нажатие на кнопку "ОК" и "Отмена"
procedure TFormVibor.ButtonOKClick(Sender: TObject);
begin
 DataModule.ADOTableвыбранный.Post
 Close;
end;


 
k-sergey ©   (2004-08-09 23:59) [1]

может тебе что то подобное нужно просто:

TImage(FindComponent("Image"+inttostr(x))).Free;

procedure Tform1.onclickImag(Sender:TObject);
If Sender Is TImage Then
  begin
   s:=TImage(Sender).Name;
  end;

у всех image onClick:=onclickImag;


 
GuAV ©   (2004-08-10 00:09) [2]

Имхо, создать класс/запись, где описаны "Выбор категирии такой-то", "название", ADOTableвыбранный.
потом связать с кнопками
а. через массив в тэге индекс
б. через указатель в тэге
в. через ТБукетЛист
г. еще как-то


 
Zif ©   (2004-08-10 11:13) [3]

Не совсем понятно что мне нужно сделать. можно это показать в виде кода с моими параметрами, т.к. в примере k-sergey нет ни одного моего параметра или я не так все понял. и если можно поподробнее.
Заранее напомню: у меня более 100 кнопок (просто в первый раз я не считал), причем они в будующем будут меняться (скины, дизайн проги) поэтому надо код писать скорее всего при нажатии ButtonClick, а не в форме "Выбор".


 
Ega23 ©   (2004-08-10 11:16) [4]

procedure TFormMain.ButtonViborkaClick(Sender: TObject);
begin
FormVibor.ShowModal;
FormVibor.Caption:="Выбор категирии такой-то"
FormVibor.DBEdit.DataSourse:="название"
FormVibor.DBEdit.DataField:="название"
FormVibor.DBLookupListBox.ListSourse:="название"
FormVibor.DBLookupListBox.ListField:="название"
FormVibor.DBLookupListBox.KeyField:="название"
end;


ShowModal после присвоений делай.


 
Zif ©   (2004-08-10 11:34) [5]

тогда выдает ошибку


 
Den303 ©   (2004-08-10 14:10) [6]

В свойстве Button1.Tag каждой кнопке присвой уникальный индекс, а при нажатии в case sender.tag of ... выставляй нужные значения


 
Zif ©   (2004-08-10 21:32) [7]

Button1.Tag как понимаю в инспекторе объектов надо изменить.
а что писать в коде? можно прямо с этим кодом, примерно так:
procedure TFormMain.ButtonViborkaClick(Sender: TObject);
begin
case sender.tag of 7
FormVibor.ShowModal;
FormVibor.Caption:="Выбор категирии такой-то"
FormVibor.DBEdit.DataSourse:="название"
FormVibor.DBEdit.DataField:="название"
FormVibor.DBLookupListBox.ListSourse:="название"
FormVibor.DBLookupListBox.ListField:="название"
FormVibor.DBLookupListBox.KeyField:="название"
end;

ShowModal где вставлять??? до или после case sender.tag of 7 ???


 
GuAV ©   (2004-08-10 21:54) [8]

c кейсом заморочаешься. лучше массив из записей

const
 A: array[1..7] of
   record
     A, B: string;
   end = (тута чему он равен)

showmodal после

> case sender.tag of 7

ТАКОЕ точно не прокатит :)


 
Zif ©   (2004-08-10 22:32) [9]

можно с моим примером? не совсем понятно. и в A: array[1..7] of почему именно от 1 до 7?
я начинающий


 
GuAV ©   (2004-08-10 23:04) [10]

var
A: array[1.."более 30"] of // индексы по тэгам
  record
    myCaption, myName: string;
    table: tadotable;
  end = (тута чему они все равны, а table-nil)
procedure TFormMain.ButtonViborkaClick(Sender: TObject);
begin
with A[TComponent(sender).tag] do
begin
FormVibor.Caption:=myCaption
FormVibor.DBEdit.DataSourse:=myName
FormVibor.DBEdit.DataField:=myName
FormVibor.DBLookupListBox.ListSourse:=myName
FormVibor.DBLookupListBox.ListField:=myName
FormVibor.DBLookupListBox.KeyField:=myName
FormVibor.ShowModal;
end;
end;


 
Zif ©   (2004-08-10 23:44) [11]

большое СПАСИБО, буду разбираться. то что нужно



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.047 c
14-1091986370
VID
2004-08-08 21:32
2004.08.29
Через 15 минут по ОРТ фильм "Враг у ворот"


14-1091910277
Алекс_
2004-08-08 00:24
2004.08.29
Где бы скачать новые компоненты FastNet?


3-1091540445
AndrewK
2004-08-03 17:40
2004.08.29
Как вызвать создания ConnectionString?


14-1092171068
wnew
2004-08-11 00:51
2004.08.29
TRichEdit и кириллица


3-1091788451
Самовар
2004-08-06 14:34
2004.08.29
Удаление пустых записей в базе