Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 10.02.2019, 22:48   #1
Alex711
Пользователь
 
Регистрация: 21.09.2018
Сообщений: 44
Репутация: 10
По умолчанию Вставка файлы через SaveDialog

Здравствуйте, хочу скопировать файл:
Код:
procedure TForm1.btn2Click(Sender: TObject);
var
 FName : string;
begin
  if SaveDialog1.Execute then
  begin
  FName := SaveDialog1.FileName;
  ShowMessage('Выбранный каталог = '+FName);
  CopyFile(Pchar('data.ini'), Pchar(FName), True);
end;
В ShowMessage катулог и имя файла выводится верно, но ничего не копируется.
Подскажите пожалуйста, что не так?
Alex711 вне форума   Ответить с цитированием
Старый 10.02.2019, 23:32   #2
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,800
Репутация: 6622
По умолчанию

У тебя SaveDialog скорее всего изменил рабочий каталог и data.ini не находит. У диалога где-то в опциях есть возможность избежать изменение рабочего каталога
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 10.02.2019, 23:50   #3
Вадим Мошев

Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: programmersforum
Сообщений: 8,274
Репутация: 4038
По умолчанию

Вообще, я помню на этом форуме мне советовали забыть про абсолютные пути и всегда дополнять их до полных. Путь к текущему каталогу можно получать так:
Код:
pathToCurrentDirectory:=extractFilePath( application.exeName );
После этого полученным путём предварять относительные пути. В вашем случае
Код:
CopyFile(Pchar( pathToCurrentDirectory + 'data.ini' ), Pchar(FName), True);
___

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
советую забыть про относительные пути.
всегда дополняйте их до полных.

а в вашей программе видимо есть диалоги(TOpenDialog/TSaveDialog/etc)
они меняют текущую директорию(директорию относительно которой относительный путь и дополняется автоматом)

ну а ответ дан выше, я просто уточнил причины.
Отсюда: http://www.programmersforum.ru/showthread.php?t=131971 (моя старая тема, где я выложил кусок своего г-нокода)
Вадим Мошев вне форума   Ответить с цитированием
Старый 11.02.2019, 09:57   #4
Aliens_wolfs
Участник клуба
 
Регистрация: 16.12.2009
Адрес: WWW ЛЕНИНГРАД СПб точка РУ
Сообщений: 892
Репутация: 435
По умолчанию

Если нужно для диалога SaveDialog
Код:
SaveDialog1.InitialDir:= extractFilePath(application.exeName) + '\'; ну либо путь можно сохранять например в ini и его потом использовать при повторном открытии, запомнить так сказать последний путь 
if SaveDialog1.Execute then
..................................
либо так
Код:
SaveDialog1.InitialDir:= ExtractFilePath(ParamStr(0)) + '\';
if SaveDialog1.Execute then
..................................
а все остальное вам написали выше

Последний раз редактировалось Aliens_wolfs; 11.02.2019 в 10:08.
Aliens_wolfs вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохраниение через SaveDialog Asblue Помощь студентам 1 02.12.2010 13:44
Вставка данных в Excel через ADO Slava БД в Delphi 4 19.07.2009 22:22
Вставка строки через n-е количество строк glazomer Microsoft Office Excel 5 12.03.2009 14:20
Проблемы с сохранением файла через SaveDialog Волк Общие вопросы Delphi 4 05.02.2009 05:27


00:53.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru