• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Delphi 7: проблема с Savedialog

  • Автор темы Guest
  • Дата начала
G

Guest

Добрый день! :love:
У меня программа АРМ "Бухгалтера". По ней я должна создать верхнее меню со всяческими полезными функциями. Это я всё сделала, но у меня не работает SaveDialog, особенно пункт "Сохранить", работает через раз, либо выдаёт ошибку "Система не может найти путь" либо вообще ничего не делает. :KillMe: Вот архив, если посмотрите - буду невероятно благодарна... :(
 

Вложения

  • ___________.rar
    263,5 КБ · Просмотры: 174
X

xKlonx

Первокурсница
особенно пункт "Сохранить"
Так вы же не вызываете диалог на пункт меню "сохранить",если сначала нажать "сохранить как" появляется диалог и вы указываете путь куда сохранить то тогда всё корректно работает.Сделайте проверку если пути нет вызываете диалог и задаёте имя файла и сохранить
 
D

Dock1100

Код:
procedure TfrmMain.N32Click(Sender: TObject);
begin
Memo.Lines.SaveToFile(dlgSave.FileName);
end;
Интересно, сделайте переменную в которой будете хранить имя файла(с полным путем).

напишите это
Код:
procedure TfrmMain.FormCreate(Sender: TObject);//событие формы onCreate
begin
FileName:='';
end;

procedure TfrmMain.N32Click(Sender: TObject);//кнопка сохранить
begin
If FileName<>'' then Memo.Lines.SaveToFile(FileName)
else
if dlgSave.Execute
then
begin
Memo.Lines.SaveToFile(dlgSave.FileName);
Filename:=dlgSave.FileName;
end;
end;

procedure TfrmMain.N32Click(Sender: TObject);//кнопка сохранить как
begin
if dlgSave.Execute then
begin
Memo.Lines.SaveToFile(dlgSave.FileName);
Filename:=dlgSave.FileName;
end;
end;

procedure TfrmMain.N41Click(Sender: TObject);//кнопка открыть
begin
if dlgOpen.Execute then
begin
Memo.Lines.LoadFromFile(dlgOpen.FileName);
Filename:=dlgOpen.FileName;
end;
end;

Добавлено: А значок прикольный. :KillMe:
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!