powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Динамическое меню
25 сообщений из 64, страница 2 из 3
Динамическое меню
    #38969662
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07Это делает представленный Вами код?магия какая-то)нет
это делает немного "допиленный" код, который добавляет в Item показанный на рисунке
...
Рейтинг: 0 / 0
Динамическое меню
    #38970176
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07Это делает представленный Вами код?магия какая-то)

Магия еще впереди ,
вам в Бд нужно хранить функцию ( указатетель) которая будет вызвана при клике.
Или хранить идентификатор и искать ее в справочнике
загружать на лету из разделяемой библиотеки.


Как старом мультике ,
"а потом ты за ним будешь еще пол дня ганяться, что бы фотографию отдать" :)
...
Рейтинг: 0 / 0
Динамическое меню
    #38970187
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаР
Магия еще впереди ,
вам в Бд нужно хранить функцию ( указатетель) которая будет вызвана при клике.
Или хранить идентификатор и искать ее в справочнике
загружать на лету из разделяемой библиотеки.



какая магия?
задаешь всем одну функцию, в функции получаешь идентификатор вызванного пункта меню и сам уже по нему вызываешь из таблицы соответствия меню и действия нужную функцию действия.
...
Рейтинг: 0 / 0
Динамическое меню
    #38970221
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot ДохтаР]kot07Магия еще впереди ,
вам в Бд нужно хранить функцию ( указатетель) которая будет вызвана при клике.
Или хранить идентификатор и искать ее в справочнике
загружать на лету из разделяемой библиотеки.он же хочет из меню сделать лист-бокс, вся эта магия ему ни к чему
...
Рейтинг: 0 / 0
Динамическое меню
    #38970353
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivДохтаРМагия еще впереди ,
вам в Бд нужно хранить функцию ( указатетель) которая будет вызвана при клике.
Или хранить идентификатор и искать ее в справочнике
загружать на лету из разделяемой библиотеки.



какая магия?
задаешь всем одну функцию, в функции получаешь идентификатор вызванного пункта меню и сам уже по нему вызываешь из таблицы соответствия меню и действия нужную функцию действия.

Прошу прощения , подобного рода динамические меню делаются
что бы не компилить прграмму.

Ну заинсертит автор топика запись о новом пункте меню в таблицу ,
а алгоритмику выполнения где он будет реализовывать?

1. Единстенное, что можно будет сделать без изменения клиента
вызвать другую процедуру на сервере БД.

Если алготимика нового пунтка меню потребует вылонения
работы на машине где это меню показывается , то
2. нужно будет пересобирать программу
ил
3. и подгружать собранную под новый пункт меню разделяему библиотеку.

Я дургих способов не знаю , если Вы знаете, поделитесь .
...
Рейтинг: 0 / 0
Динамическое меню
    #38970439
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как тема разрослась, с созданием разобрался сделал вот так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
void __fastcall TForm1::test1Click(TObject *Sender)
{
 MainMenu1->Items->Items[0]->Items[0]->Clear();
 while(!DataModule5->Instituts->Eof)
{
  TMenuItem *NewItem;
  NewItem = new TMenuItem(this);
  NewItem->Caption = DataModule5->Instituts->FieldByName("Сокращение")->AsString;
  MainMenu1->Items->Items[0]->Items[0]->Add(NewItem);

  NewItem->Visible=true;
  DataModule5->Instituts->Next();
   }
}


Теперь нужно добавить чтобы значение Tag присваивалось и создавалось событие по клику в запрос передавалось значение Tag.
получается вот такой цикл добавить для tag?
for (i = 0; i < DataModule5->Instituts->Eof; i++)
{
NewItem->Tag=i;
}
...
Рейтинг: 0 / 0
Динамическое меню
    #38970495
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
понял что цикл не подходит) так я смогу присвоить Tag значение индекса поля из запроса?
Код: plaintext
1.
 NewItem->Tag=DataModule5->Instituts->IndexName; 
...
Рейтинг: 0 / 0
Динамическое меню
    #38970505
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07понял что цикл не подходит) так я смогу присвоить Tag значение индекса поля из запроса?
Код: plaintext
1.
 NewItem->Tag=DataModule5->Instituts->IndexName; 

у тебя отладчик сломался?
пробуй, сам и увидишь можно или нельзя
...
Рейтинг: 0 / 0
Динамическое меню
    #38970515
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРЯ дургих способов не знаю , если Вы знаете, поделитесь .ты хочешь сказать, что не умеешь определять для нескольких пунктов меню одну функцию-обработчик? Не обманывай нас )))
...
Рейтинг: 0 / 0
Динамическое меню
    #38970563
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю вот
Код: plaintext
1.
NewItem->Tag=DataModule5->Instituts->FieldByName("Код");


получаю вот такую ошибку
[bcc32 Error] Unit1.cpp(281): E2034 Cannot convert 'TField *' to 'int'
Full parser context
Unit1.cpp(273): parsing: void _fastcall TForm1::test1Click(TObject *)
Как исправить?
...
Рейтинг: 0 / 0
Динамическое меню
    #38970583
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Динамическое меню
    #38970591
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07
Код: sql
1.
2.
3.
NewItem->Caption = 
DataModule5->Instituts->FieldByName("Сокращение")->AsString;
NewItem->Tag=DataModule5->Instituts->FieldByName("Код");


Как исправить?
Нанять программиста. Или обратиться к кому-нибудь, который умеет читать и способен найти
два отличия между отквоченными строками и при этом не является твоим конкурентом на рынке
труда.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Динамическое меню
    #38970684
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения , подобного рода динамические меню делаются
что бы не компилить прграмму.


Я догадываюсь...


Ну заинсертит автор топика запись о новом пункте меню в таблицу ,
а алгоритмику выполнения где он будет реализовывать?


На клиенте, разумеется. В этой самой программе, которую он пишет.



1. Единстенное, что можно будет сделать без изменения клиента
вызвать другую процедуру на сервере БД.


Ну, да, один из вариантов. Также он сможет вызвать разные процедуры внутри программы,
которые будут реализовывать то или иное действие, или тип действия.
Это обычно и называется "меню".



Если алгоритмика нового пунтка меню потребует вылонения
работы на машине где это меню показывается , то
2. нужно будет пересобирать программу
ил
3. и подгружать собранную под новый пункт меню разделяему библиотеку.


Ну да, всё правильно.
...
Рейтинг: 0 / 0
Динамическое меню
    #38970690
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07Делаю вот
Код: plaintext
1.
NewItem->Tag=DataModule5->Instituts->FieldByName("Код");


получаю вот такую ошибку
[bcc32 Error] Unit1.cpp(281): E2034 Cannot convert 'TField *' to 'int'
Full parser context
Unit1.cpp(273): parsing: void _fastcall TForm1::test1Click(TObject *)
Как исправить?

Боюсь, на этом уровне понимания проблемы тебе действительно надо обратиться в какой-то университет для
изучения языка программирования, на котором ты пытаешься писать программу.
...
Рейтинг: 0 / 0
Динамическое меню
    #38970743
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Университетская программа освоения языков программирования не может дать все знания методов и свойств какого-либо языка, по крайне мере в том универе в котором я учусь дают лишь поверхностные знания, хотя программирование не является профильным предметом специальности на которую я учусь и в силу этого даются лишь поверхностные знания. Особо не пинайте меня ногами за мою тупость
С tag исправил теперь работает, событие по клику тоже создается, осталось теперь вытащить нужный tag и отправить в запрос
...
Рейтинг: 0 / 0
Динамическое меню
    #38970754
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07Университетская программа освоения языков программирования не может дать все
знания методов и свойств какого-либо языка, по крайне мере в том универе в котором я учусь
дают лишь поверхностные знания
А знание того, что клавиша F1 вызывает контекстную справку Вы пропустили мимо ушей?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Динамическое меню
    #38970764
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
F1 использую но не так часто как гугл
...
Рейтинг: 0 / 0
Динамическое меню
    #38970781
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07Университетская программа освоения языков программирования не может дать все знания методов и свойств какого-либо языка, по крайне мере в том универе в котором я учусь дают лишь поверхностные знания, хотя программирование не является профильным предметом специальности на которую я учусь и в силу этого даются лишь поверхностные знания.


Но согласись, там должны даваться понятия о типах данных и навыки преобразования поля набора данных в int.
Если нет -- меняй университет, меняй профессию.
Увы.
А конкретный совет тебе уже дали.
...
Рейтинг: 0 / 0
Динамическое меню
    #38970793
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07использую но не так часто как гугл

А зря.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Динамическое меню
    #38970802
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07Университетская программа освоения языков программирования не может дать все знания методов и свойств какого-либо языка, по крайне мере в том универе в котором я учусь дают лишь поверхностные знания, хотя программирование не является профильным предметом специальности на которую я учусь и в силу этого даются лишь поверхностные знания. Особо не пинайте меня ногами за мою тупость
С tag исправил теперь работает, событие по клику тоже создается, осталось теперь вытащить нужный tag и отправить в запроспрочитай какую-нибудь книгу по билдеру, 99% твоих вопросов сразу отпадет
...
Рейтинг: 0 / 0
Динамическое меню
    #38970881
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в поисках всех изданий архангельского, интересно как пользоваться TWordDocument а то никто не знает и все шлют меню юзать ole-сервер
...
Рейтинг: 0 / 0
Динамическое меню
    #38970884
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovkot07использую но не так часто как гугл

А зря.

Это я уже понял.
...
Рейтинг: 0 / 0
Динамическое меню
    #38970945
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07в поисках всех изданий архангельского, интересно как пользоваться TWordDocument а то никто не знает и все шлют меню юзать ole-серверВорд тебе для чего нужен?
...
Рейтинг: 0 / 0
Динамическое меню
    #38970960
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
планируется печать в документ
...
Рейтинг: 0 / 0
Динамическое меню
    #38971011
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07планируется печать в документиспользовать ворд принципиально?
у меня отчеты в html, делать просто, открываются на любом компьютере
...
Рейтинг: 0 / 0
25 сообщений из 64, страница 2 из 3
Форумы / C++ [игнор отключен] [закрыт для гостей] / Динамическое меню
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]