Главная страница
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.021 c
2-1231843398
031178
2009-01-13 13:43
2009.02.22
Автофильтр


15-1230090393
Slider007
2008-12-24 06:46
2009.02.22
С днем рождения ! 24 декабря 2008 среда


2-1231593826
S.S.T.
2009-01-10 16:23
2009.02.22
посчитать количество слов в строке


2-1231927823
smartleds
2009-01-14 13:10
2009.02.22
Уважаемый All, есть процедура FormCreate поясните как


15-1229937030
Ega23
2008-12-22 12:10
2009.02.22
Любопытная статья.