Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.005 c
2-1231741847
abhtr
2009-01-12 09:30
2009.02.22
Как отмечать записи в TListBox


2-1231924532
andreoman
2009-01-14 12:15
2009.02.22
treeview при двойном щелчке менялась пиктограмма узла


15-1230156693
Дмитрий Белькевич
2008-12-25 01:11
2009.02.22
Вопрос по поводу GNU


15-1230066661
Поросенок Винни-Пух
2008-12-24 00:11
2009.02.22
"расчесать" *.ape + *.cue


15-1229522731
@!!ex
2008-12-17 17:05
2009.02.22
Релиз VirtualBox с поддержкой 3D!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский