Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2009, 20:29   #1
ScreN
Пользователь
 
Аватар для ScreN
 
Регистрация: 27.12.2008
Сообщений: 88
По умолчанию FileName

Здравствуйте..
Вот у меня есть код. Запрос на сохранения, при выходе из программы.
Вот он.

Код:
Procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
Var
   Res: Integer;
Begin
     If sMemo1.Tag=0 Then
Begin
     CanClose:=True;
End
Else
Begin
     Res:=Application.MessageBox(PChar('Вы желаете сохранить изменения "'+FileName+'"'),'Вопрос',MB_YESNOCANCEL + MB_ICONQUESTION);
     If Res=IDYES Then // Если нажата кнопка "Да", то
Begin
     Form1.BringToFront; // Открывать окно запроса сохранения, и
     Form1.SaveAsFileClick(Sender); // Открыть окно сохранение документа
     If sMemo1.Tag=1 Then CanClose:=False; // После сохранения, закрыть окно
End;
    If Res=IDNO Then CanClose:=True; // Есне нажата кнопка "Нет", то закрыть окно программы
    If Res=IDCANCEL Then CanClose:=False; // Если нажата кнопка "Отмена", то вернуться в начальное окно программы
End;
End;
Так вот в Application.MessageBox у меня стоит FileName. То есть при запросе сохранения, должно выводится название файла, который сохраняешь..
Но, не выводится.

Подскажите что не так?
ScreN вне форума Ответить с цитированием
Старый 03.01.2009, 20:51   #2
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от ScreN Посмотреть сообщение
..при запросе сохранения, должно выводится название файла, который сохраняешь.. Но, не выводится.
Проверил, всё выводится правильно. Может имя файла пустое?
Jeni вне форума Ответить с цитированием
Старый 03.01.2009, 21:33   #3
ScreN
Пользователь
 
Аватар для ScreN
 
Регистрация: 27.12.2008
Сообщений: 88
По умолчанию

А может из-за того что на AlphaControls пишу?
ScreN вне форума Ответить с цитированием
Старый 03.01.2009, 21:44   #4
ScreN
Пользователь
 
Аватар для ScreN
 
Регистрация: 27.12.2008
Сообщений: 88
По умолчанию

Вот у меня даже объявлена переменная

Код:
var
  Form1: TForm1;
  FileWork: String;
  FileName: String;
ScreN вне форума Ответить с цитированием
Старый 03.01.2009, 22:16   #5
goblinyara
Форумчанин
 
Аватар для goblinyara
 
Регистрация: 02.01.2009
Сообщений: 340
По умолчанию

от того,на каких компонентах пишешь, эта переменная не зависит.

Проверяй на то,что FileName не пустая строка, потому что у меня тоже код без проблем работает.
DelphiWorld 6. Скачай, поставь, и будет тебе счастье=)
Программирование, как и любовь -- одно слово, за которым скрывается бесконечное множество занятий.
goblinyara вне форума Ответить с цитированием
Старый 03.01.2009, 22:35   #6
ScreN
Пользователь
 
Аватар для ScreN
 
Регистрация: 27.12.2008
Сообщений: 88
По умолчанию

И как проверить...? Если я пишу вместо FileName FileWork то так выводится полностью путь файла...
ScreN вне форума Ответить с цитированием
Старый 03.01.2009, 23:42   #7
goblinyara
Форумчанин
 
Аватар для goblinyara
 
Регистрация: 02.01.2009
Сообщений: 340
По умолчанию

Код:
Else
Begin
     //Вот сама проверка на то,что FileName не пуста:
     if FileName <> '' then
     begin
     Res:=Application.MessageBox(PChar('Вы желаете сохранить изменения "'+FileName+'"'),'Вопрос',MB_YESNOCANCEL + MB_ICONQUESTION);
     If Res=IDYES Then // Если нажата кнопка "Да", то
Begin
     Form1.BringToFront; // Открывать окно запроса сохранения, и
     Form1.SaveAsFileClick(Sender); // Открыть окно сохранение документа
     If sMemo1.Tag=1 Then CanClose:=False; // После сохранения, закрыть окно
End;
    If Res=IDNO Then CanClose:=True; // Есне нажата кнопка "Нет", то закрыть окно программы
    If Res=IDCANCEL Then CanClose:=False; // Если нажата кнопка "Отмена", то вернуться в начальное окно программы
End;
End;
else ShowMessage('FileName пуста!');
End;
это банально тебе выдаст, пустая или не пустая строка FileName
DelphiWorld 6. Скачай, поставь, и будет тебе счастье=)
Программирование, как и любовь -- одно слово, за которым скрывается бесконечное множество занятий.
goblinyara вне форума Ответить с цитированием
Старый 05.01.2009, 23:18   #8
ScreN
Пользователь
 
Аватар для ScreN
 
Регистрация: 27.12.2008
Сообщений: 88
По умолчанию

Тему можно закрыть
Всем спасибо.
Сам разобрался!
ScreN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Invalid Filename LobsterOK Общие вопросы Delphi 7 27.04.2010 16:56