Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Закрытие TOpenDialog [D2005, XP]


..::KraN::.. ©   (2007-04-16 21:04:00) 

Пожалуйста, подскажите, как закрыть окно TOpenDialog, функция Close не помогает?


Плохиш   (2007-04-17 13:46:00) [1]


> ..::KraN::.. ©   (17.04.07 13:29) [14]

Тебе уже ответили за 39 минут до того как ты соизволил свой "код" выложить.


Игорь Шевченко   (2007-04-17 13:43:00) [2]


> Я просто не стал полный код писать :( Вот он полностью:


Лучше бы ты и полностью не писал.


{RASkov}   (2007-04-17 13:43:00) [3]

> [14] ..::KraN::.. ©   (17.04.07 13:29)

Разнеси открытие и сохранение файла по разным методам(процедурам).... Проще будет думать где и как открыть или сохранить...


..::KraN::..   (2007-04-17 13:29:00) [4]


> А где ж тут OpenDialog?

Я просто не стал полный код писать :( Вот он полностью:
If Form1.StatusBar1.Panels[2].Text='Текст был изменён' then
  Begin
   case MessageDlg('Сохранить изменения в файле '+' '+'"'+ExtractFileName(fail)+'"'+' '+'?', mtWarning, mbyesnoCancel, 0) of
     mrYes:  if fail='' then
               begin
                 if SaveDialog1.Execute then
                   SynEdit1.Lines.SaveToFile(SaveDialog1.FileName);
               end
             else SynEdit1.lines.SaveToFile(fail);
  end;
end;
 If OpenDialog1.Execute then
   begin
     StatusBar1.Panels[2].Text:='';
     Synedit1.Lines.LoadFromfile(OpenDialog1.fileName);
     fail:=OpenDialog1.fileName;
     StatusBar1.Panels[0].text:=fail;
     a:=Synedit1.Lines.Count;
     b:=InttoStr(a);
     StatusBar1.Panels[1].text:='В тексте '+b+' строк';
     Edit1.Text:=fail;
     TabSheet2.Caption:=ExtractFileName(fail)+' - '+'Просмотр';
     TabSheet1.Caption:=ExtractFileName(fail)+' - '+'HTML код';
   end;


TRUNK   (2007-04-17 12:50:00) [5]

Возможно так:

if FileModified then
 case Application.MessageBox(PChar('Сохранить изменения в файле ''' + FileName + ''' ?'),PChar('Сохранить изменения?'),MB_YESNOCANCEL) of
   IDYES:    if SaveDialog.Execute then
               begin
               SaveFile;
               AllowOpen := true;
               end
             else
               AllowOpen := false;
   IDNO:     AllowOpen := true;
   IDCANCEL: AllowOpen := false;
 end
else
 AllowOpen := true;

if AllowOpen then
 if OpenDialog.Execute then
   OpenFile;


SergGG   (2007-04-17 12:43:00) [6]

..::KraN::.. ©   (17.04.07 12:34) [10]
А где ж тут OpenDialog?


Плохиш   (2007-04-17 12:36:00) [7]


> ..::KraN::.. ©   (17.04.07 12:34) [10]

Как это вяжется с

> ..::KraN::.. ©   (16.04.07 21:04)  


..::KraN::..   (2007-04-17 12:34:00) [8]

If Form1.StatusBar1.Panels[2].Text='Текст был изменён' then
  Begin
   case MessageDlg('Сохранить изменения в файле '+' '+'"'+ExtractFileName(fail)+'"'+' '+'?', mtWarning, mbyesnoCancel, 0) of
     mrYes:  if fail='' then
               begin
                 if SaveDialog1.Execute then
                   SynEdit1.Lines.SaveToFile(SaveDialog1.FileName);
               end
             else SynEdit1.lines.SaveToFile(fail);
  end;
<<- Вот такой код!


SergGG   (2007-04-17 12:18:00) [9]

Если Я правильно понял:

 if SaveDialog1.Execute then
 begin
   if OpenDialog1.Execute then
  ....
 end else
 .....


Плохиш   (2007-04-17 12:16:00) [10]


> ..::KraN::.. ©   (17.04.07 12:09) [6]

Надо прочитать книжку по использованию операторов ветвления в делфи.


Amoeba   (2007-04-17 12:13:00) [11]


> ..::KraN::.. ©   (17.04.07 12:09) [6]
>
> Короче, есть диалог сохранения файла. Если файл изменён,
>  то при нажатии на кнопку ДА файл сохраняется и открывается
> OpenDialog1, если нет файл не сохраняется и тоже открывается
> этот же диалог, а если нажата кнопка Отмена файл не сохраняется
> и OpenDialog1 не открывается. Теперь наверное понятно? ;
> )
>

А теперь предъяви свой кривой код. Тогда и займемся его выпрямлением.


..::KraN::..   (2007-04-17 12:09:00) [12]

Короче, есть диалог сохранения файла. Если файл изменён, то при нажатии на кнопку ДА файл сохраняется и открывается OpenDialog1, если нет файл не сохраняется и тоже открывается этот же диалог, а если нажата кнопка Отмена файл не сохраняется и OpenDialog1 не открывается. Теперь наверное понятно? ;)


{RASkov}   (2007-04-16 22:43:00) [13]

> подскажите, как закрыть окно TOpenDialog

Чесслово глупость какая-то... а зачем его открывал?


_Аноним   (2007-04-16 22:14:00) [14]

Покажи код вызова диалога. У тебя там косяк.


Virgo_Style   (2007-04-16 22:05:00) [15]

..::KraN::.. ©   (16.04.07 21:58) [2]
Не знаю поймешь меня или нет


нет, не пойму.

Не показывай диалог при нажатии на кнопку Отмена. Поможет. Зуб даю.


..::KraN::..   (2007-04-16 21:58:00) [16]

Надо. Чтобы при нажатии на кнопку "Отмена" OpenDialog не показывался. Не знаю поймешь меня или нет :(


Virgo_Style   (2007-04-16 21:20:00) [17]

а.... зачем, если не секрет?


Наверх

Титульная страница Поиск, карта сайта Написать письмо