Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.22;
Скачать: CL | DM;

Вниз

Сохранение всех открытых документов в 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.087 c
8-1190199525
gtr86
2007-09-19 14:58
2009.02.22
Вывод текста на канве


2-1231636459
demon
2009-01-11 04:14
2009.02.22
Окно на поверхности


10-1152894438
TStas
2006-07-14 20:27
2009.02.22
Как вписывать что-то в вордовскую таблицу?


15-1229898775
[Ждущий]
2008-12-22 01:32
2009.02.22
Долго открывается список с локальными дисками


2-1231438760
NEWichok
2009-01-08 21:19
2009.02.22
Как организовать проверку перед "POST"?