Форум: "Основная";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
ВнизКак дополните Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.036 c