![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Закрытие 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]а.... зачем, если не секрет?