![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
Krjuger |
![]()
Сообщение
#1
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Собственно задача следующая есть Грид как то заполненный,надо ответить на 2 вопроса. Первый, упорядочена ли Итая строка,второй, найти максимальную разность между элементами первой и последней строк.(имееться в виду макс разность между элементами только в 1 столбце,тобиш не полный перебор, а а11 с аN1 ,а21 с N2 и тд и вывести максимальную.
Какие проблемы возникли ,первое изначльно окошло должно быть весьма маленьким,но когда я запускаю дебаг оно на пол экрана вылегает,в других проектах такого не замечалось,как исправить не знаю.Затем,когда пытаюсь свернуть окошно оно не исчезает, а сворачиваеться в край главного окна,а так же наотрез октазываются работать окно выбора задания,когда я вызываю его из меню или уже из окна самого решения задачи.(Собственно я понимаю,что та функция, что я вызываю, делает совсем не то что надо,но какая нужна, не знаю.И последнее я не совсем понимаю как по дефолту сделать так,чтобы оба chekboxa были включены,даже,если окно с выбиром не было вызвано. Прикрепляю сей ужос,по другому не назову. Прикрепленные файлы ![]() |
IUnknown |
![]()
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Затем,когда пытаюсь свернуть окошно оно не исчезает, а сворачиваеться в край главного окна Welcome to MDI ![]() Цитата первое изначльно окошло должно быть весьма маленьким,но когда я запускаю дебаг оно на пол экрана вылегает,в других проектах такого не замечалось,как исправить не знаю. Залезь в его свойства (в Object Inspector-е, я имею в виду) и поменяй Position на poDefaultPosOnly... Тогда при старте значениями CW_USEDEFAULT будет инициализироваться только позиция окна, а его размеры возьмутся из Designer-а.Насчет Цитата наотрез октазываются работать окно выбора задания,когда я вызываю его из меню или уже из окна самого решения задачи - не понял, последовательность действий озвучь... Кстати, при вызове "Еще - Выбор задачи" прямо сразу после запуска - программа вообще рушится... Это так надо?P.S. Чего это TfrmInputOutput - не fsMDIChild? Ты уж реши для себя, у тебя MDI-интерфейс, или нет. Если да - то ВСЕ формы должны быть fsMDIChild, кроме главной (которая fsMDIForm). Не надо перемешивать MDI/SDI... Сообщение отредактировано: IUnknown - 26.10.2011 19:18 |
Krjuger |
![]()
Сообщение
#3
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Да просто задание было сделать SDI,что получилось на ура,а потом переделать в MDI,вот и полезли косяки.Эх щас пойду дальше переосмысливать,но чето MDI мне уже начинает ненравится.Пойду воевать)
|
Krjuger |
![]()
Сообщение
#4
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Так, если я правильно понимаю,то мне надо все мои классы запихнуть в один fsMDIChild, или можно сделать их всех наследуемыми от fsMDIChild? Просто как сделать так,чтобы было MDI,и все окна сразу я представляю,но мне так не хочеться,я бы хотел,чтобы при нажатии на выбор задачи появлялось окно выбира,при нажитии на решение появлялось окно решения.Ну Аbout трогать не стану,пусть так висит.Но как это сделать?
|
IUnknown |
![]()
Сообщение
#5
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Неправильно понимаешь. Тебе надо у твоей формы, которая сейчас никакая, изменить стиль на fsMDIChild, чтобы она тоже была дочерним MDI-окном. Окно About можешь оставить обычным, оно и в стандартном примере - обычное.
На самом деле - не совсем понятно, какая цель преследовалась теми, кто дал это задание. Просто чтоб помучить? Чтоб поняли, что в MDI то, что создано - то видимо, а невидимых окон быть не может? Зачем это всё? Цитата Просто как сделать так,чтобы было MDI,и все окна сразу я представляю,но мне так не хочеться,я бы хотел,чтобы при нажатии на выбор задачи появлялось окно выбира,при нажитии на решение появлялось окно решения Просто такой закон MDI: скрыть форму нельзя. Зато можно ее удалить, и при необходимости - создать заново. Но это - бред ![]() |
Krjuger |
![]()
Сообщение
#6
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Ну в общем вторая ревизия сей гадости.Поскольку окна дестрояться,надо как то сохратить текущие значения.Моя попытка делать это в классе окна решения потерпела фейл))Где лучше всего их глобально обьявить? Еще есть вопрос,как ограничить формы,чтобы они за пределы главного окна не выезжали.Ну и окна дестрояться только при нажатии закрытия,а при нажатии на Ок при выборе задачи не получилось чето)))
Сообщение отредактировано: Krjuger - 27.10.2011 16:33 Прикрепленные файлы ![]() |
IUnknown |
![]()
Сообщение
#7
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Ну и окна дестрояться только при нажатии закрытия,а при нажатии на Ок при выборе задачи не получилось чето))) Что там может не получиться? У тебя ж есть меню, которое вызывает создание и открытие frmInputOutput? Есть. Вот и пользуйся этим...procedure TMDIChild.btnOkClick(Sender: TObject);
begin
{}
MainForm.N1Click(Sender); // Открываем новое окно
Close; // Закрываем текущее
end;
Цитата Поскольку окна дестрояться,надо как то сохратить текущие значения.Моя попытка делать это в классе окна решения потерпела фейл))Где лучше всего их глобально обьявить? Лучше всего - в классе TMainForm. Чего там тебе сохранять в frmType? Два чекбокса? Можешь добавить 2 переменные типа Boolean, в которые будешь сохранять хранить значения чекбоксов перед закрытием формы. А вот с frmInputOutput все гораздо серьезнее ![]() |
Krjuger |
![]()
Сообщение
#8
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Цитата А вот с frmInputOutput все гораздо серьезнее Там сохранять надо больше, я бы вообще при закрытии этой формы сбрасывал всё нужное в TMemoryStream (опять же, описанный в главной форме), и при открытии - читал бы из него назад в форму... В том же порядке, в котором оно и записывалось. Не это уж фиг,не та задача,чтобы так выкареживаться. Принципи даже то,что уже есть я могу сдать,но есть один момент.Если его не сложно исправить,то буду рад.В общем мне не нравиться,что можно понаделать десятки одних и других окошек,хотелось бы ,чтобы,если есть окно задачи,то новое не создавать,а работать со старым,если оно свернуло или на заднем плане,то разворачивать и делать активным.То есть в скинутой тобой процедуре нао сделать проверку на существование данного окна....Но я порывшись че то не нашел. |
IUnknown |
![]()
Сообщение
#9
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата В общем мне не нравиться,что можно понаделать десятки одних и других окошек,хотелось бы ,чтобы,если есть окно задачи,то новое не создавать,а работать со старым,если оно свернуло или на заднем плане,то разворачивать и делать активным. Это противоречит принципам MDI. Дело твое, ковыряйся, может, чего и найдешь, и оно даже иногда будет работать так, как тебе хочется. Но это без меня. Я не занимаюсь вопросами "прилепить пятую ногу зайцу, чтобы была". В этой задаче MDI вообще на фиг не нужен.Кстати, объясни мне один момент: у тебя в Main.pas есть строки Цитата var
MainForm: TMainForm;
frmType: TMdiChild;
frmInPutOutPut: TfrmInputOutput;
implementation
![]() Цитата Принципи даже то,что уже есть я могу сдать - пока рановато... Программа требует доработки... |
Krjuger |
![]()
Сообщение
#10
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Цитата Это противоречит принципам MDI. Дело твое, ковыряйся, может, чего и найдешь, и оно даже иногда будет работать так, как тебе хочется. Но это без меня. Я не занимаюсь вопросами "прилепить пятую ногу зайцу, чтобы была". В этой задаче MDI вообще на фиг не нужен. Я начинаю в MDI разочаровываться все больше и больше((( Цитата Кстати, объясни мне один момент: у тебя в Main.pas есть строки Чесно....не помню,видимо поначалу хотел как то по другому все сделать,но они не мешали и не пораждали ошибок и я про них забыл, косяк блин( Ну и на данным момент последняя версия,вроде весьма стабильная. Прикрепленные файлы ![]() |
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 3:28 |