Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: из окон в окно  (Прочитано 14160 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« : 07-06-2008 19:17 » 

Здравствуйте уважаемые гуру Дельфинария.
Подскажите пожалуйста. У меня есть 2 программы которые бы я хотел слить в одну. посредством размещения на общей форме и с 2 мя кнопками button1 = программа 1
button2 = прога 2.
или как вариацию засунуть все это дело в меню.
искал на форуме. ниче не нашел. заранее ПИТЕР всем
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 07-06-2008 19:21 » 

а те программы - обе твои ?

И ещё - какова их структура ? А то в каком то случае придётся код копировать, в каком то тупо экзешники запускать, возможно Улыбаюсь Или диалоги открывать,если dialog-bazed обе
Записан

Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 07-06-2008 19:35 » 

а те программы - обе твои ?

И ещё - какова их структура ? А то в каком то случае придётся код копировать, в каком то тупо экзешники запускать, возможно Улыбаюсь Или диалоги открывать,если dialog-bazed обе

да обе мои. они обе однооконные если под структурой ты это имеешь ввиду. первая использует базы данных. простенькие они. я вобще то хотел бы узнать как научиться использовать формы. а привязка по экзе мне очень нравится Улыбаюсь
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 07-06-2008 19:39 » 

Элексир, ну по дельфи я ничего не подскажу, а вообще - раз однооконные, то берёшь класс окна - и копируешь в общий проект. По кнопке создаёшь экземпляр нужного класса - и вперёд, на мины, с песней Улыбаюсь
Записан

Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 07-06-2008 19:50 » 

Элексир, ну по дельфи я ничего не подскажу, а вообще - раз однооконные, то берёшь класс окна - и копируешь в общий проект. По кнопке создаёшь экземпляр нужного класса - и вперёд, на мины, с песней Улыбаюсь
а можешь подсказать как все таки сделать многооконное приложение?в частности использование mdiform и mdichild. а то я пробую и ни ... чего не получается.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 07-06-2008 20:00 » 

Элексир, ждём дельфистов )
Записан

Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 07-06-2008 20:02 » new

Алексей1153+++ Спасибо Улыбаюсь
Записан
Sands
Помогающий

ua
Offline Offline

« Ответ #7 : 07-06-2008 20:32 » 

Элексир, Если от етих программ ничего такого не требуется, то можно вообще обойтись шелэкзэкьютом. Я понимаю, что ето не совсем подходит кака реализация "слить" но все же.
Записан
Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 07-06-2008 20:41 » 

Элексир, Если от етих программ ничего такого не требуется, то можно вообще обойтись шелэкзэкьютом. Я понимаю, что ето не совсем подходит кака реализация "слить" но все же.
выполнять удаленно? а как это можно реализовать?
Записан
Sands
Помогающий

ua
Offline Offline

« Ответ #9 : 07-06-2008 20:48 » 

Элексир, Ну просто если допустим тебе требуется чтобы ети программки как-то отрабатывали и некоторый результат возвращали главному(менеджерскому) окну то тогда можно применять методику описанную Алексеем. А если ты просто решил написать некий каталогизатор своих программ, который бы просто по нажатию кнопки запускал программку на выполнение и пр етом результат их работы етому менеджеру не важен, то можно обратить внимание на функцию
ShellExecute
Параметры посмотри в справке, ибо я тоже не очень програмил в дельфи. Но суть в том, что одним из параметров в функцию передается путь к екзешнику(или другому файлу - если более общно), который надо выполнить. Тогда просто в отдельную папочку сложиш екзешники своих программ, а в обработчиках нажатия кнопок пропишеш просто вызов ShellExecute с нужными путями.
Записан
Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #10 : 07-06-2008 20:52 » 

Sands, спасибо за совет. надо попробовать.
ты не можешь подсказать где можно найти справку по mdi'аям?
Записан
Sands
Помогающий

ua
Offline Offline

« Ответ #11 : 07-06-2008 21:00 » 

К сожалению - нет. Единсвенное что могу сказать, то помниться у делфи есть каталог с примерами разных програмок, начиная от простых окон и заканчивая навортами типа подключения OpenGL. Так вот думается мне там должен быть базовый пример для MDI-приложения. Правда расположение его не подскажу ибо не помню(( Но вроде где-то в папке, куда ты устанавливал делфи.
Записан
Basurman
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #12 : 07-06-2008 23:08 » 

Все справки можно найти в SDK, правда на английском и весьма мутные. Поскольку MDI (интерфейс многодокументных приложений) - творение детища Билла Гейтса, а Delphi
даёт к нему только обёртку.
Примеры приложений надо искать в каталоге Demos, расположенном в дереве каталогов Delphi. Например ...\Borland\BDS\3.0\Demos.
Записан
zubr
Гость
« Ответ #13 : 08-06-2008 06:58 » 

А клавиша F1 что не работает? В Delphi mdi-формы делаются настолько примитивно, что стыдно об этом говорить. Для этого не надо писать ни строчки кода. В инспекторе объектов для главной mdi-формы ставишь свойство формы FormStyle в fsMdiForm, а в чилд-форме fsMdiChild. И все!!!
Записан
Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #14 : 08-06-2008 10:57 » 

А клавиша F1 что не работает? В Delphi mdi-формы делаются настолько примитивно, что стыдно об этом говорить. Для этого не надо писать ни строчки кода. В инспекторе объектов для главной mdi-формы ставишь свойство формы FormStyle в fsMdiForm, а в чилд-форме fsMdiChild. И все!!!
Я так и поступаю. но ведь это второе окно сразу активным становится. а я хочу вызывать его по кнопке.
Записан
zubr
Гость
« Ответ #15 : 08-06-2008 12:34 » 

Ну так отключи его автоматическое создание. Или вручную из файла проекта Project->View Source удали Application.CreateForm(TForm2, Form2); или из Options проекта удали чилд-форму из Auto create. А чтобы чилд окно при закрытии уничтожалось, а не сворачивалось, в событии OnClose данного окна пропиши Action:=caFree;
Записан
Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #16 : 08-06-2008 15:08 » 

Спасибо за подсказки. Улыбаюсь
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines