Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
14-1092034842
Rule
2004-08-09 11:00
2004.08.29
Подскажите хороший материал по ООП


14-1092119952
Lizka
2004-08-10 10:39
2004.08.29
сервис паки


14-1092299325
Странник
2004-08-12 12:28
2004.08.29
Туркменбаши приказал построить рядом с Ашхабадом дворец из льда


1-1092196174
maxkat
2004-08-11 07:49
2004.08.29
глобальные переменные!


1-1092641495
Externalsym
2004-08-16 11:31
2004.08.29
Проблема при использовании хеширования





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский