Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.06.27;
Скачать: [xml.tar.bz2];

Вниз

Копирование   Найти похожие ветки 

 
Ivolg   (2004-06-10 20:55) [0]

Здрасьте. Как мона копировать файл.Спасисбо!!


 
Apocalepse ©   (2004-06-10 20:57) [1]

Что ты имееш ввиду скопировать? Всмысле чтобы твоя прога копировала файл?


 
Ivolg   (2004-06-10 21:01) [2]

Apocalepse

да


 
Apocalepse ©   (2004-06-10 21:20) [3]

Вот процедуры работы с файлами
ChangeFileExt Изменяет расширение файла FileName на Extension.
DateTimeToFileDate Преобразует значение типа TDateTime в формат DOS для дат и времени, который используют процедуры FileAge, FileGetDate, FileSetDate и поле Time записи TSearchRec, используемое в FindFirst и FindNext.
DeleteFile Удаляет файл FileName, возвращая true в случае успеха.
DiskFree Возвращает свободную область в байтах диска Drive, который задается следующим образом: 0 - текущий диск, 1 - диск A, 2 - диск B, 3 - диск C и т.д. При ошибочном задании Drive возвращается -1.
DiskSize Возвращает размер диска Drive в байтах. Drive задается следующим образом: 0 - текущий диск, 1 - диск A, 2 - диск B, 3 - диск C и т.д. При ошибочном задании Drive возвращается -1.
ExpandFileName Возвращает полный путь и имя файла FileName.
ExpandUNCFileName Возвращает в формате UNC полный путь в сети и имя файла FileName.
ExtractFileDir Возвращает путь к каталогу (включая указание диска), вырезанный из строки с полным именем файла FileName.
ExtractFileDrive Возвращает символы диска, вырезанные из строки с полным именем файла FileName. Если строка записана в формате UNC, то возвращается и путь в сети (сервер)
ExtractFileExt Возвращает символы расширения, вырезанные из строки с полным именем файла FileName.
ExtractFileName( const FileName: string):                     string Возвращает имя файла с расширением, вырезанное из строки с полным именем файла FileName.
ExtractFilePath( const FileName: string):                    string Возвращает путь к каталогу (включая указание диска и слэш перед именем файла), вырезанный из строки с полным именем файла FileName.
FileAge( const FileName: string):                   Integer Возвращает время создания файла FileName.
FileClose(Handle: Integer) Закрывает файл, указанный его дескриптором Handle (см. FileCreate и FileOpen).
FileCreate(const FileName: string):                   Integer Создает новый файл с именем FileName и возвращает его дескриптор.
FileDateToDateTime(      FileDate: Integer):                 TDateTime Преобразует в значение типа TDateTime формат DOS для дат и времени, который используют процедуры FileAge, FileGetDate, FileSetDate и поле Time записи TSearchRec, используемое в FindFirst и FindNext.
FileExists( const FileName: string):                   Boolean Возвращает true, если существует файл FileName.
FileGetAttr( const FileName: string):                   Integer Возвращает атрибуты файла FileName. Наличие тех или иных атрибутов может быть проверено сложением по операции AND возвращенного значения с константами faXXXX (см. режимы доступа к файлам).
FileGetDate(       Handle: Integer):                   Integer Возвращает в формате DOS дату и время создания файла, определенного своим дескриптором Handle (см. FileCreate и FileOpen).
FileOpen(  const FileName: string;  Mode: Integer): Integer Открывает файл FileName в режиме Mode и возвращает дескриптор файла, который можно использовать в процедуре FileClose. Режим Mode можно формировать, комбинируя операцией OR константы fmOpenXXXX и fmShareXXXX(см. режимы доступа к файлам).
FileRead(Handle: Integer;         var Buffer;         Count: Integer):                   Integer Читает из файла, указанного своим дескриптором Handle (см. FileCreate и FileOpen) в Buffer число байтов Count. Возвращает число действительно прочитанных байтов.
FileSearch(    Const Name, DirList:           string): string Ищет файл Name в списке каталогов DirList, записанном в формате DOS для PATH: каталоги, разделенные точками с запятой. Если файл найден - возвращается полный путь к нему, в противном случае - пустая строка.
FileSeek(   Handle,Offset,Origin:                 Integer):                   Integer Устанавливает в открытом файле, указанном дескриптором Handle (см. FileCreate и FileOpen), позицию, определяемую параметром сдвига Offset, отсчитываемым от начала, определяемого значением Origin: 0 - от начала файла, 1 - от текущей позиции, 2 - от конца файла. Возвращает новую позицию в файле или -1 в случае неудачи.
FileSetAttr(  const FileName: string;  Attr: Integer): Integer Задает атрибуты Attr файла FileName. При успешном завершении возвращает 0, в противном случае - код ошибки Windows. При формировании Attr можно складывать по операции OR константы faXXXX (см. режимы доступа к файлам).
FileSetDate(   Handle: Integer;   Age: Integer): Integer Устанавливает Age в качестве даты создания файла, указанного дескриптором Handle (см. FileCreate и FileOpen). Файл должен быть открыт в режиме, допускающем запись. При успешном завершении возвращает 0, в противном случае - код ошибки Windows. Age задается в формате DOS. Это значение можно получить из значения типа TDateTime функцией DateTimeToFileDate.
FileWrite(Handle: Integer;       const Buffer;       Count: Integer):                   Integer Записывает в файл, указанный своим дескриптором Handle (см. FileCreate и FileOpen) из Buffer число байтов Count. Возвращает число действительно записанных байтов.
FindClose(       var F: TSearchRec) Освобождает память, выделенную процедурой FindFirst, и прерывает последовательность поиска процедурами FindFirst и FindNext, использующего запись F типа TSearchRec.
FindFirst(   const Path: string;    Attr: Integer;   var F: TSearchRec):                   Integer Выделяет в памяти необходимые ресурсы для поиска в каталоге и шаблоне Path (например, c:\MyDir\*.*) файлов, удовлетворяющих шаблону и имеющих атрибуты Attr (см. FileSetAttr). При успешном завершении возвращает 0, в противном случае - код ошибки Windows. Результаты поиска заносятся в запись SearchRec. Из полей этой записи можно извлечь результаты: Time: Integer - время создания файла, Size: Integer - его размер, Attr: Integer - его атрибуты, Name - имя файла и некоторые другие.
FindNext(    var F: TSearchRec):                   Integer Продолжает поиск, начатый функцией FindFirst. Если нашелся новый файл, возвращает 0, в противном случае - код ошибки Windows. Результаты поиска заносятся в запись SearchRec (см. FindFirst).

       RenameFile(const OldName, NewName:                string ):                   Boolean Переименовывает файл OldName, давая ему новое имя NewName. При успешном завершении возвращает true.

Многовато наверно :-)


 
Apocalepse ©   (2004-06-10 21:23) [4]

Блин вот про копирование никогда не слыхал :-( Я сам то можно сказать начинающий. Что то ничего на ум не приходит... У тебя хелпа то нет?


 
YurikGL ©   (2004-06-10 21:26) [5]

try
   stream1:=TFileStream.Create(Path1+"begin.xls",fmOpenRead);
   stream2:=TFileStream.Create(Path2+"end.xls",fmCreate);
   stream2.CopyFrom(stream1,stream1.Size);
except
   ShowMessage("Ошибка копирования.");
   err:=true;
end;
   stream1.free;
   stream2.free;


 
GuAV ©   (2004-06-10 21:58) [6]

YurikGL ©   (10.06.04 21:26) [5]
имхо, если вспомнил про try, то делай уже до конца правильно...

stream1:=TFileStream.Create(Path1+"begin.xls",fmOpenRead);
try
 stream2:=TFileStream.Create(Path2+"end.xls",fmCreate);
 try
   try
     stream2.CopyFrom(stream1,stream1.Size);
   except
     ShowMessage("Ошибка копирования.");
     err:=true;
   end;
 finally
   stream2.free;
 end;
finally
 stream1.free;
end;


 
YurikGL ©   (2004-06-10 22:31) [7]


> GuAV ©   (10.06.04 21:58) [6]

Круто...  В смысле это на самом деле так делать надо? В чем тогда отличие от [5]?


 
Гаврила ©   (2004-06-10 22:33) [8]

А чем вас, собственно, функция CopyFile не устроила ?
или я чего-то не понял?


 
YurikGL ©   (2004-06-10 22:34) [9]


> Гаврила ©   (10.06.04 22:33) [8]

Не ищем легких путей.


 
Profi ©   (2004-06-10 23:21) [10]

Сам писал как-то компоненту, используя нетипизированные файлы. Могу кинуть на мыло!


 
Palladin ©   (2004-06-11 00:57) [11]

Надо было COM объект написать... или сервер автоматизации...


 
GuAV ©   (2004-06-11 01:10) [12]


> Круто...  В смысле это на самом деле так делать надо? В
> чем тогда отличие от [5]?

Ситуация:
stream2:=TFileStream.Create(Path2+"end.xls",fmCreate);
raised EFCreateError - поток ес-сно не создан.
А потом stream2.free; - это уже AV будет. А AV - это плохо.
Я всегда в таких случаях try... finally пишу, не думая надо/не надо.


 
GuAV ©   (2004-06-11 01:18) [13]

А вот и пример AV
procedure TForm1.FormCreate(Sender: TObject);
var
 stream1,stream2: tfilestream;
 Path1,Path2: string;
 err: boolean;
begin
 stream1:=TFileStream(Random(MaxInt)); //Нормальная ситуация
 stream2:=TFileStream(Random(MaxInt)); //В стеке м.б. что угодно
 err:=false;
 // path1 и path2 пустые. в текущем кат файлов нет.
 // поэтому TFileStream.Create будет ошибка
try
  stream1:=TFileStream.Create(Path1+"begin.xls",fmOpenRead);
  stream2:=TFileStream.Create(Path2+"end.xls",fmCreate);
  stream2.CopyFrom(stream1,stream1.Size);
except
  ShowMessage("Ошибка копирования.");
  err:=true;
end;
  stream1.free;
  stream2.free;
end;


 
nikkie ©   (2004-06-11 01:34) [14]

>Надо было COM объект написать... или сервер автоматизации...
веб-сервис :))


 
GuAV ©   (2004-06-11 02:21) [15]


> Как мона копировать файл.

В потрепаться подскажут компонеент ;-)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.06.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.039 c
14-1086453755
ЫШО
2004-06-05 20:42
2004.06.27
Модуль


3-1085649670
Kerk
2004-05-27 13:21
2004.06.27
Программно сформировать RecordSet


1-1087234669
Oxer
2004-06-14 21:37
2004.06.27
Файл помощи


1-1086844690
EXE
2004-06-10 09:18
2004.06.27
Мастера и помошники, Есть ли в природе компонент для изменения ра


14-1086164825
ИМХО
2004-06-02 12:27
2004.06.27
Пару слов и Стивене Кинге





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский