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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2010, 13:04   #1
program123
Подтвердите свой е-майл
 
Регистрация: 12.02.2009
Сообщений: 144
Радость Копия файла

Добрый день!!! у меня возник вопрос:
Мне необходимо сделать из своей программы копию файла, делаю так:
Код:
CopyFile('baza.txt','D:\bb.txt',true);
здесь всё работает прекрасно! но когда я хочу чтобы считывало путь куда необходимо сделать копию из Эдита, то копия не делается. делаю так:
Код:
CopyFile('baza.txt',PAnsiChar(sEdit2.Text),true);
отслеживал что находится в PAnsiChar(sEdit2.Text), нормальный путь, но почему не делает копию я не понимаю.. Хелп)
program123 вне форума Ответить с цитированием
Старый 26.02.2010, 13:10   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

А зачем вот это: PAnsiChar? Иесли можно пример того что у Вас написано в едит2
SERG1980 вне форума Ответить с цитированием
Старый 26.02.2010, 13:10   #3
program123
Подтвердите свой е-майл
 
Регистрация: 12.02.2009
Сообщений: 144
По умолчанию

без этого работать не будет, если просто Эдит.Текст не работает, у параметра тип PAnsiChar но я выводил на кэпшн формы, там нормальный путь..
в Эдит попадает это:
Код:
if SaveDialog1.Execute then
     sEdit2.Text:=SaveDialog1.FileName;

Последний раз редактировалось program123; 26.02.2010 в 13:16.
program123 вне форума Ответить с цитированием
Старый 26.02.2010, 13:18   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

А знаете почему не работает? Потому, что у Вас указан относительный путь в первом параметре CopyFil`а. При вызове Save\Open диалогов текущая директория сбивается. Либо укажите абсолютный путь либо:
Код:
GetDir(0,S);
CopyFile(S+'txt.txt',...
P.S. Посмотрите возвращает ли гет слеш, я уже не помню.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 26.02.2010, 13:27   #5
program123
Подтвердите свой е-майл
 
Регистрация: 12.02.2009
Сообщений: 144
По умолчанию

Код:
var
s:string;
begin
GetDir(0,s);
CopyFile(PAnsiChar(s+'baza.txt'),PAnsiChar(sEdit2.Text),true);
end;
не пашет(((
слеш не возвращает но я дописываю s+'\baza.txt'

Последний раз редактировалось program123; 26.02.2010 в 13:29.
program123 вне форума Ответить с цитированием
Старый 26.02.2010, 13:29   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Хм... Тогда выставьте GetDir ДО запуска SaveFile.
P.S. И проверьте наличие слеша.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 26.02.2010, 13:41   #7
program123
Подтвердите свой е-майл
 
Регистрация: 12.02.2009
Сообщений: 144
По умолчанию

Дело в том, что у меня в двух кнопках этот код в первой кнопке
Код:
if SaveDialog1.Execute then
     sEdit2.Text:=SaveDialog1.FileName;
а потом я уже из Эдита забираю путь
вторая кнопка:
Код:
var
s:string;
begin
GetDir(0,s);
CopyFile(PAnsiChar(s+'baza.txt'),PAnsiChar(sEdit2.Text),true);
end;
program123 вне форума Ответить с цитированием
Старый 26.02.2010, 13:42   #8
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Что тебе мешает сделать GetDir(0,s); при создании формы?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 26.02.2010, 13:47   #9
program123
Подтвердите свой е-майл
 
Регистрация: 12.02.2009
Сообщений: 144
По умолчанию

сделал)))) всем спасибо, всё работает
program123 вне форума Ответить с цитированием
Старый 26.02.2010, 18:22   #10
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Да и вообще функция CopyFile меня много раз подводила при копировании с флешки или болванки. По мне так лучше использовать TFileStream
FaTaL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копия текста с сайта san72 Общие вопросы Delphi 1 16.05.2009 10:50
Точная копия программы на любом языке westcoastkilla Фриланс 2 20.12.2008 17:59
Нужна резервна копия или автосохранение Behemoth Microsoft Office Word 2 29.11.2008 23:42