Форум: "Начинающим";
Текущий архив: 2009.02.22;
Скачать: [xml.tar.bz2];
ВнизСохранение всех открытых документов в MDI приложении одним кликом Найти похожие ветки
← →
Andrnow (2009-01-05 21:18) [0]Имеется программа с интерфейсом MDI (стандартный шаблон). В ней открывается несколько текстовых файлов. Как сделать так, чтобы при нажатии кнопки все измененные файлы сохранялись (ну или чтобы просто все файлы сохранялись не зависимо от того был файл изменен или нет)?
← →
Сергей М. © (2009-01-05 21:20) [1]
> Как сделать так, чтобы .. все
Т.е. с каким-то одним у тебя проблем нет ?
← →
Andrnow (2009-01-05 21:33) [2]С одним проблем нет. Активное окно сохраняю вот так.
if not (ActiveMDIChild = Nil) then
if ActiveMDIChild is TMDIChild then
begin
TMDIChild(ActiveMDIChild).Memo1.Lines.SaveToFile(TMDIChild(ActiveMDIChild).Capti on);
end;
end;
Но этот код сохраняет содержимое активного окна. А как сохранить содержимое неактивного окна?
Хорошо, спрошу по другому: Как обратиться к компоненту Memo НЕактивного дочернего окна?
И еще тогда вопрос. Предположим в модуле дочернего окна у меня есть переменная. Как мне считать/изменить эту переменную из модуля основного окна?
← →
Плохиш © (2009-01-05 22:44) [3]
> Но этот код сохраняет содержимое активного окна. А как
> сохранить содержимое неактивного окна?
>
Для этого надо в справке по ActiveMDIChild нажать на "see also..."
← →
Игорь Шевченко © (2009-01-05 22:59) [4]Плохиш © (05.01.09 22:44) [3]
> Для этого надо в справке по ActiveMDIChild нажать на "see
> also..."
У тебя появилась английская справка ?
← →
KilkennyCat © (2009-01-06 00:26) [5]var
I: Integer;
begin
with Form1 do
for I := MDIChildCount-1 downto 0 do
MDIChildren[I]. ...;
end;
← →
Плохиш © (2009-01-06 01:26) [6]
> У тебя появилась английская справка ?
Подсунули вражескую bds2006.
← →
AndreyV © (2009-01-06 07:27) [7]> [2] Andrnow (05.01.09 21:33)
> С одним проблем нет. Активное окно сохраняю вот так.
Пусть окно сохраняет свои данные само.
И
> [5] KilkennyCat © (06.01.09 00:26)
← →
Andrnow (2009-01-13 05:02) [8]
> KilkennyCat © (06.01.09 00:26) [5]
Ну и как???
Так не работает:
for I := MDIChildCount-1 downto 0 do
MDIChildren[I].Memo1.Lines.SaveToFile(MDIChildren[I].Caption);
← →
Плохиш © (2009-01-13 10:57) [9]
> Так не работает:
>
Это, что, новое сообщение об ошибке? В какой версии введено?
← →
{RASkov} © (2009-01-13 11:48) [10]> Так не работает:
> for I := MDIChildCount-1 downto 0 do
> MDIChildren[I].Memo1.Lines.SaveToFile(MDIChildren[I].Caption)
> ;
А если так:
...
{TTwayFormWithMemo}(MDIChildren[I]).Memo1.Lines.SaveToFile(MDIChildren[I].Captio n)
← →
Andrnow (2009-01-13 14:51) [11]
> А если так:
> ...
> {TTwayFormWithMemo}(MDIChildren[I]).Memo1.Lines.SaveToFile(MDIChildren[I].
> Captio n)
Undiclared identifier: "Memo1"
← →
clickmaker © (2009-01-13 14:59) [12]> [11] Andrnow (13.01.09 14:51)
так MDIChildren[i] типа TForm
надо приводить к реальному типу
← →
MsGuns © (2009-01-13 15:28) [13]Худая мода - заставлять маму работать за дочек. У которых вполне достаточно своих средств для корректного завершения работы.
Например такая. При начале правки дочка поднимает некий свой флажок, а при попытке закрыть ее (хотя бы в CloseQuery) проверять его и пищать соотетственно.
При закрытии же мамаши посылать из нее же широковещательное сообщение дочкам, после чего проверять осталась ли хоть одна из них и , если да, то не закрываться.
И вообще - "правильный" интерфейс это когда главная форма ничего (или почти) ничего не знает обо все остальных :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.02.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c