Форум: "Начинающим";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];
ВнизSaveDialog Найти похожие ветки
← →
fics © (2008-01-28 18:16) [0]Мастера подскажите как быть, хотел сделать вместо ofOverWritePrompt, cвой диалог, в универе сказали чтобы на всех моих диалогах в моей программе была иконка моей апликации(красота это главное!!!)
думал в два счета, а что то неполучается.
Вот к примеру для текста
procedure TMainF.SaveBtnClick(Sender: TObject);
begin
if not SaveDialog.Execute then Exit
else
if FileExists(SaveDialog.FileName) then
begin
MyDialogF.ShowModal;
Exit;
end else
Memo.Lines.SaveToFile(SaveDialog.FileName);
end;
procedure TMyDialogF.CnlBtnClick(Sender: TObject);
begin
//Если кликаем на отмене то опять нужно вызвать SaveDialog
MainF.SaveDialog.Execute;
end;
Но TMyDialogF почему то не исчезает, объясните почему?(CnlBtn - mrCencel) и диалог выгидывает ровно через однин раз.
← →
clickmaker © (2008-01-28 18:21) [1]
> вместо ofOverWritePrompt, cвой диалог, в универе сказали
> чтобы на всех моих диалогах в моей программе была иконка
> моей апликации
свой MessageBox, что-ли?
← →
Palladin © (2008-01-28 18:21) [2]я вот нифига не понял как связано
> в универе сказали чтобы на всех моих диалогах в моей программе
> была иконка моей апликации
c
> Но TMyDialogF почему то не исчезает, объясните почему?(
или я не весь проникся Дзеном?
← →
fics © (2008-01-28 18:23) [3]
> clickmaker © (28.01.08 18:21) [1]
</I
> свой MessageBox, что-ли?
>
Да, только с Picture решил сделать на базе формы :)
← →
clickmaker © (2008-01-28 18:35) [4]думаю, лучше SaveDialog.OnCanClose обрабатывать, в нем проверять FileExists.
если да, то показывать свой месседжбокс и CanClose := false
← →
fics © (2008-01-28 19:07) [5]
> clickmaker ©
Неа что то глучит
← →
fics © (2008-01-28 19:10) [6]Незакрывается SaveDialog чего то и появляется в следствие второй, третий
и тд
← →
clickmaker © (2008-01-28 19:12) [7]
> [6] fics © (28.01.08 19:10)
показывай, как делаешь?
← →
fics © (2008-01-28 19:14) [8]procedure TMainF.SaveBtnClick(Sender: TObject);
begin
SaveDialog.Execute;
end;
procedure TMainF.SaveDialogCanClose(Sender: TObject;
var CanClose: Boolean);
begin
if FileExists(SaveDialog.FileName) then
MyDialogF.ShowModal
else
Memo.Lines.SaveToFile(SaveDialog.FileName);
MyDialogF.Close;
end;
procedure TMyDialogF.CnlBtnClick(Sender: TObject);
begin
MainF.SaveDialog.Execute;
end;
← →
clickmaker © (2008-01-28 19:19) [9]
> [8] fics © (28.01.08 19:14)
похоже, ты не понял...
procedure TMainF.SaveDialogCanClose(Sender: TObject;
var CanClose: Boolean);
begin
if FileExists(SaveDialog.FileName) then
begin
if MyDialogF.ShowModal = mrCancel then // запрещаем перезапись, ждем другое имя файла
CanClose := false;
end;
end;
procedure TMainF.SaveBtnClick(Sender: TObject);
begin
if SaveDialog.Execute then
Memo.Lines.SaveToFile(SaveDialog.FileName);
end;
CnlBtnClick не нужна
← →
fics © (2008-01-28 19:23) [10]
> clickmaker ©
Ну может и не понял, а ошибка таже самая
← →
DiamondShark © (2008-01-28 19:25) [11]
> fics © (28.01.08 19:14) [8]
Ты бредишь.
procedure TMainF.SaveBtnClick(Sender: TObject);
begin
if SaveDialog.Execute
then Memo.Lines.SaveToFile(SaveDialog.FileName);
end;
procedure TMainF.SaveDialogCanClose(Sender: TObject;
var CanClose: Boolean);
begin
if FileExists(SaveDialog.FileName) then
begin
MyDialogF.ShowModal;
CanClose := false;
end
else CanClose := true;
end;
TMyDialogF.CnlBtnClick вообще нафиг убрать, поставить в дизайнере кнопке ModalResult = mrCancel
← →
fics © (2008-01-28 19:26) [12]
> > clickmaker ©
Извеняюсь работает, я так делал только чуть иначе, дело в том что во Cencel
нужно опять вызвать SaveDialog
← →
clickmaker © (2008-01-28 19:27) [13]
> MyDialogF.ShowModal;
> CanClose := false;
??
может, все-таки, как в [9]? :)
← →
fics © (2008-01-28 19:28) [14]
> DiamondShark © (28.01.08 19:25) [11]
> > fics © (28.01.08 19:14) [8] Ты бредишь.
Действительно спасибо, пора наверно отдухнуть
← →
clickmaker © (2008-01-28 19:28) [15]
> что во Cencel
> нужно опять вызвать SaveDialog
"во Cencel" он просто не закроется, и юзер может поменять имя.
зачем еще раз вызывать?
← →
fics © (2008-01-28 19:29) [16]
> clickmaker © (28.01.08 19:27) [13]
> > MyDialogF.ShowModal;> CanClose := false;??может,
> все-таки, как в [9]? :)
Нет нужно опять вызвать SaveDialog
← →
clickmaker © (2008-01-28 19:31) [17]
> [16] fics © (28.01.08 19:29)
ниче не понимаю... зачем?
← →
DiamondShark © (2008-01-28 19:33) [18]
> clickmaker © (28.01.08 19:27) [13]
>
> > MyDialogF.ShowModal;
> > CanClose := false;
>
> ??
> может, все-таки, как в [9]? :)
Заказов не поступало. Откуда я знаю, сколько там в руганьбоксе опций будет: "Отказаться", "Фиг его знает", "Перезаписать", "Совсем перезаписать"?
Ну и потом просто интересно, скопипастит, и потом придёт спрашивать: "А как сделать выбор "Да" и "Нет"?", или вдумается...
← →
clickmaker © (2008-01-28 19:35) [19]
> [18] DiamondShark © (28.01.08 19:33)
судя по [16], он чел упертый, так что, может, и вдумается )
← →
fics © (2008-01-28 19:42) [20]
> clickmaker ©
Ну постараюсь поподробнее: в вашем коде когда я кликаю на Cencel MyDialoga - исчежает SaveDialog и MyDialog(нужно опять нажимать SaveBtn чтобы сохранить под другим именем), а нужно чтобы в таком случае SaveDialog не закрывался. Понятно?
← →
fics © (2008-01-28 19:45) [21]
> DiamondShark ©
</I
> скопипастит,
>
ну а что делать пол дня просидел, за этой ерундой выставил бы
опцию ofOverWritePrompt по хорошему и все, а им нужен Диалог с картинкой и красным сообщением
← →
clickmaker © (2008-01-28 19:49) [22]
> [20] fics © (28.01.08 19:42)
>
> > clickmaker ©
>
> Ну постараюсь поподробнее: в вашем коде когда я кликаю на
> Cencel MyDialoga - исчежает SaveDialog и MyDialog
если у кнопки "Cencel " ModalResult не mrCancel, то да
← →
clickmaker © (2008-01-28 19:51) [23]исправь, кстати, Cencel на Cancel или на "Отмена" или "На фиг", а то не зачтут
← →
fics © (2008-01-28 19:54) [24]
> clickmaker ©
</I
> если у кнопки "Cencel " ModalResult не mrCancel, то да
>
Блин, действительно невнимательность,
← →
fics © (2008-01-28 19:54) [25]Все спасибо всем
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.04 c