powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Динамическое меню
64 сообщений из 64, показаны все 3 страниц
Динамическое меню
    #38968250
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно ли сделать такое меню, которое строилось бы из запроса?
в mainmenu делаем только один элемент "Меню"
в "Меню" сами создаем элемент 1, а вот подменю элемента 1 создается динамически из результата запроса.
Я так понимаю нужен цикл который будет создавать subitem пока не дойдет до конца результата запроса + записывать имена из строки результата запроса в caption? Как в таком случае ко всему обращаться?
...
Рейтинг: 0 / 0
Динамическое меню
    #38968267
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Динамическое меню
    #38968548
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так тут WinApi, я делаю в билдере
...
Рейтинг: 0 / 0
Динамическое меню
    #38968580
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07я делаю в билдере
А что ты называешь словом "обращаться"? Обычно достаточно при создании пунктов меню
назначить им обработчик OnClick. Больше с ними делать ничего не нужно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Динамическое меню
    #38968593
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07Возможно ли сделать такое меню, которое строилось бы из запроса?


Да, возможно.

kot07в mainmenu делаем только один элемент "Меню"
в "Меню" сами создаем элемент 1, а вот подменю элемента 1 создается динамически из результата запроса.
Я так понимаю нужен цикл который будет создавать subitem пока не дойдет до конца результата запроса + записывать имена из строки результата запроса в caption?

Да, всё так.

kot07Как в таком случае ко всему обращаться?

К меню особенно обращаться не нужно, меню генерирует WM_COMMAND с заданным идентификатором. Тебе нужно только назначать динамически идентификаторы из определённого диапазона и уметь их декодировать обратно в комманды из меню, пришедшего в запросе.

Всё довольно просто .
...
Рейтинг: 0 / 0
Динамическое меню
    #38968594
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07так тут WinApi, я делаю в билдере

Там тоже не сильно сложнее, функции API нужно заменить на соотв. функции VCL.
...
Рейтинг: 0 / 0
Динамическое меню
    #38969033
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я думал можно как то проще сделать вот как то так у меня представлялось все это дело
while (!DataModule->ADOQuery->Eof)
MainMenu1->Items->Items[1]->CreateSubItem->Caption = 1 значению из результата запроса
...
Рейтинг: 0 / 0
Динамическое меню
    #38969037
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но сделать вот так нельзя
...
Рейтинг: 0 / 0
Динамическое меню
    #38969055
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07вот как то так у меня представлялось все это дело
Ну примерно так оно и делается, но кому нужны пункты меню, которым не назначены
обработчики клика?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Динамическое меню
    #38969060
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как то можно добавить их в цикл чтобы создавались? просто в под меню планируется выводить содержимое одного из столбцов таблицы, например название городов и при клике на город передавать в sql запрос значение Tag которое будет порядковому номеру при добавление
...
Рейтинг: 0 / 0
Динамическое меню
    #38969071
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07как то можно добавить их в цикл
Можно, разрешаю.

RTFM TMenuItem.Add().
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Динамическое меню
    #38969178
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получил в гриде таблицу, мне нужна 3 колонка http://www.floomby.ru/s2/CUKnFb
и как мне ее добавить в подменю "Выбрать"
...
Рейтинг: 0 / 0
Динамическое меню
    #38969186
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07как мне ее добавить в подменю "Выбрать"
В цикле, по одной. В чём твоя проблема?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Динамическое меню
    #38969188
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не знаю как указать создание subitems в выбрать
...
Рейтинг: 0 / 0
Динамическое меню
    #38969189
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты прочитал справку пр методу TMenuItem.Add() как я уже говорил выше?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Динамическое меню
    #38969191
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
void __fastcall TForm2::N2Click(TObject *Sender)
{
  TMenuItem *NewItem;
  MainMenu1->Items->Items[0]->Add();
  NewItem=...... Caption=DBGrid1->Columns[2];
  }

что писать вместо многоточия?
Да прочитал, там вот такой примерчик есть
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
TMenuItem *NewItem;
  // first create the separator
  NewItem = new TMenuItem(this); // If you change the AOwner (this) to MainMenu1->Items[1] and then you add the new menu you will get "Menu inserted twice"?  Doesn't happen in Delphi.
  NewItem->Name = "Separator";   // The owner will cleanup these menu items.
  NewItem->Caption = "-";
  // add the new item to the Windows menu
  MainMenu1->Items->Items[1]->Add(NewItem);

только билдер ругается на него и ничего не создает.
Нашел вот такой вот способ
Код: plaintext
1.
2.
3.
4.
5.
6.
 TMenuItem * a =  MainMenu1->CreateMenuItem();
TMenuItem * b =  new TMenuItem(a);
a->Caption = "Меню";
b->Caption = "Подменю";
MainMenu1->Items->Add(a);
a->Add(b);

Здесь создается еще один элемент с именем "Меню" а в нем элемент "Подменю"
...
Рейтинг: 0 / 0
Динамическое меню
    #38969197
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
решил попробовать сначала создать subitem по последнему примеру
Код: plaintext
1.
2.
3.
4.
5.
6.
TMenuItem * a =  MainMenu1->Items[1].Items->CreateMenuItem();
TMenuItem * b =  new TMenuItem(a);
a->Caption = "Меню";
b->Caption = "Подменю";
MainMenu1->Items->Add(a);
a->Add(b);

по идеи должен создать item в item[1] или я не правильно пишу? при компиляции получаю вот такую ошибку
E2316 'CreateMenuItem' is not a member of 'TMenuItem' получается я не имею возможности создать элемент внутри элемента, так?
...
Рейтинг: 0 / 0
Динамическое меню
    #38969205
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07Нашел вот такой вот способ
Где нашёл?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Динамическое меню
    #38969211
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на cyberforume, а что?
...
Рейтинг: 0 / 0
Динамическое меню
    #38969216
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07на cyberforume, а что?
То есть ты вместо примера из документации начал мучиться с кодом с какой-то помойки? Ню-ню...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Динамическое меню
    #38969217
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я просто решил попробовать) код из справки работает но ничего не создает, по крайне мере видимого а при повторном нажатии выдает сообщение:

A component named Separator already exists.
...
Рейтинг: 0 / 0
Динамическое меню
    #38969339
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07я просто решил попробовать) код из справки работает но ничего не создает, по крайне мере видимого а при повторном нажатии выдает сообщение:

A component named Separator already exists.черным по белому написано: компонент с именем "Separator" уже существует
если с английским плохо translate.google.ru в помощь

в меню все добавляется
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
//---------------------------------------------------------------------------
void __fastcall TForm1::my_click(TObject *Sender)
{
        //
        Application->Terminate();

}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button43Click(TObject *Sender)
{
        //
        TMenuItem* Item = new TMenuItem(this);
        Item->Caption="123";

        MainMenu1->Items->Add(Item);

        Item = new TMenuItem(this);
        Item->Caption="Exit";
        Item->OnClick = my_click;

        MainMenu1->Items->Items[0]->Add(Item);

}
//---------------------------------------------------------------------------

...
Рейтинг: 0 / 0
Динамическое меню
    #38969373
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m_Sla
То что представили Вы работает вот так
http://data3.floomby.com/files/share/27_5_2015/7/rok8TLQKqE2HT1T9f59PHw.jpg
Точно так же работает пример с cyberforum представленный здесь 17692782 .
Мне нужно сделать вот так
http://www.floomby.ru/s2/yUKfnM это меню сделано вручную полностью, нужно сделать в меню "Выбор института" чтобы элементы добавлялись сами из бд
...
Рейтинг: 0 / 0
Динамическое меню
    #38969457
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так тоже добавляет


...
Рейтинг: 0 / 0
Динамическое меню
    #38969562
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это делает представленный Вами код?магия какая-то)
...
Рейтинг: 0 / 0
Динамическое меню
    #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
Динамическое меню
    #38971035
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07в поисках всех изданий архангельского
Если прочтёшь хотя бы одну его книгу - будешь навсегда проклят.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Динамическое меню
    #38971063
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovkot07в поисках всех изданий архангельского
Если прочтёшь хотя бы одну его книгу - будешь навсегда проклят.

Почему? или это сарказм?
...
Рейтинг: 0 / 0
Динамическое меню
    #38971064
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m_Slakot07планируется печать в документиспользовать ворд принципиально?
у меня отчеты в html, делать просто, открываются на любом компьютере
вроде как word не принципиален
...
Рейтинг: 0 / 0
Динамическое меню
    #38971088
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07Dimitry Sibiryakovпропущено...

Если прочтёшь хотя бы одну его книгу - будешь навсегда проклят.

Почему? или это сарказм?

нет, вероятно, это намёк на невыкокое качество книг этого автора.
Я сам не читал, поэтому ничего сказать не могу.
...
Рейтинг: 0 / 0
Динамическое меню
    #38971139
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychДохтаРЯ дургих способов не знаю , если Вы знаете, поделитесь .ты хочешь сказать, что не умеешь определять для нескольких пунктов меню одну функцию-обработчик? Не обманывай нас )))

Я могу создать конфигурируемый конечный автомат
с входом через функцию,
весь вопрос в целесообразности и рентабельности
создания нового языка программирования
( правил создания и обработки конфигурационной информации ) для решения задачи.
...
Рейтинг: 0 / 0
Динамическое меню
    #38971250
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДохтаРдля решения задачи.так автор решает другую задачу. Он из меню делает комбобокс, чем ему собственно комбобокс не подошёл не спрашивай, тайна сия велика есть )))
...
Рейтинг: 0 / 0
Динамическое меню
    #38971298
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychДохтаРдля решения задачи.так автор решает другую задачу. Он из меню делает комбобокс, чем ему собственно комбобокс не подошёл не спрашивай, тайна сия велика есть )))

как то не интересно переводить все меню на комбобоксы
...
Рейтинг: 0 / 0
Динамическое меню
    #38971362
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07как то не интересно переводить все меню на комбобоксыа что ты будешь делать, когда запрос вернёт тебе пару-тройку сотен записей? удобное меню получится, как считаешь? ;-)
...
Рейтинг: 0 / 0
Динамическое меню
    #38971388
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07m_Slaпропущено...
использовать ворд принципиально?
у меня отчеты в html, делать просто, открываются на любом компьютере
вроде как word не принципиален

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
        // html
        TStringList *Report=new TStringList();
        Report->Add("<!DOCTYPE html>");
        Report->Add("<html>");
        Report->Add("<head><title>&#206;&#242;&#247;&#229;&#242;</title></head>");
        Report->Add("<body>");
        Report->Add("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\">");
        Report->Add("<div align=center><h2>"+TDateTime::CurrentDateTime().FormatString("hh:nn dd.mm.yy")+"</h2><div>");

        Report->Add("<table width=100% border=1 rules=all bordercolor=\"00000\">");
        AnsiString line;
        for(int row=0; row<10; row++)
        {
           line="<tr>";
           for(int col=0;col<5;col++)
           {
                line+="<td valign=\"top\">"+IntToStr(row)+" "+IntToStr(col)+"</td>";
           }
           line+="</tr>";
           Report->Add(line);
        }
        Report->Add("</table>");
        Report->Add("<p align=\"left\">&#242;&#240;&#224;&#236;-&#239;&#224;&#240;&#224;&#236;</p>");

        Report->Add("</body>");
        Report->Add("</html>");
        Report->SaveToFile("Report.html");
        ShellExecute(NULL,"open","Report.html",NULL,NULL, SW_SHOWNORMAL);

        delete Report;


...
Рейтинг: 0 / 0
Динамическое меню
    #38971423
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychkot07как то не интересно переводить все меню на комбобоксыа что ты будешь делать, когда запрос вернёт тебе пару-тройку сотен записей? удобное меню получится, как считаешь? ;-)
Не думаю что настанет тот момент когда в универе будет содержаться пара тройка сотен институтов)
...
Рейтинг: 0 / 0
Динамическое меню
    #38972066
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07egorychпропущено...
а что ты будешь делать, когда запрос вернёт тебе пару-тройку сотен записей? удобное меню получится, как считаешь? ;-)
Не думаю что настанет тот момент когда в универе будет содержаться пара тройка сотен институтов)По твоему, при каком количестве строк меню становится неудобным?
...
Рейтинг: 0 / 0
Динамическое меню
    #38972425
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owlkot07пропущено...

Не думаю что настанет тот момент когда в универе будет содержаться пара тройка сотен институтов)По твоему, при каком количестве строк меню становится неудобным?
когда в меню/подменю больше 15-20 записей не слишком удобно
...
Рейтинг: 0 / 0
Динамическое меню
    #38972539
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07White Owlпропущено...
По твоему, при каком количестве строк меню становится неудобным?
когда в меню/подменю больше 15-20 записей не слишком удобноАга. Ну тогда твой "момент" уже настал.

http://www.harvard.edu/schools
Пятнадцать штук.

http://www.columbia.edu/content/schools.html
А вот и двадцать институтов под одной юридической крышей.
...
Рейтинг: 0 / 0
Динамическое меню
    #38973257
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m_Slakot07пропущено...

вроде как word не принципиален

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
        // html
        TStringList *Report=new TStringList();
        Report->Add("<!DOCTYPE html>");
        Report->Add("<html>");
        Report->Add("<head><title>&#206;&#242;&#247;&#229;&#242;</title></head>");
        Report->Add("<body>");
        Report->Add("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\">");
        Report->Add("<div align=center><h2>"+TDateTime::CurrentDateTime().FormatString("hh:nn dd.mm.yy")+"</h2><div>");

        Report->Add("<table width=100% border=1 rules=all bordercolor=\"00000\">");
        AnsiString line;
        for(int row=0; row<10; row++)
        {
           line="<tr>";
           for(int col=0;col<5;col++)
           {
                line+="<td valign=\"top\">"+IntToStr(row)+" "+IntToStr(col)+"</td>";
           }
           line+="</tr>";
           Report->Add(line);
        }
        Report->Add("</table>");
        Report->Add("<p align=\"left\">&#242;&#240;&#224;&#236;-&#239;&#224;&#240;&#224;&#236;</p>");

        Report->Add("</body>");
        Report->Add("</html>");
        Report->SaveToFile("Report.html");
        ShellExecute(NULL,"open","Report.html",NULL,NULL, SW_SHOWNORMAL);

        delete Report;



Спасибо за такую щедрость http://www.sql.ru/forum/images/happy.gif осталось разобраться с циклом вставки надеюсь труда не составит
...
Рейтинг: 0 / 0
64 сообщений из 64, показаны все 3 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / Динамическое меню
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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