2016-08-26 4 views
-5

Мне нужно скопировать файл .txt и переименовать его.DELPHI Как скопировать файл .txt и переименовать

Я только новичок, Пожалуйста, помогите мне.

любые предложения и комментарии сделают. Заранее спасибо. :)

+1

@justine Различные версии Delphi имеют различные возможности. Мы не знаем, какую версию вы используете. Я удалил ваши ложные вкладки версии, которые просто перечисляли 4 случайно выбранных версии. Ваш вопрос неудовлетворен, и вы не отредактировали его для решения проблем, поднятых в комментариях. Могу ли я рекомендовать [помощь], чтобы вы получили более четкое представление о том, как работает этот сайт. –

ответ

4

Есть множество способов, чтобы скопировать файл из одного места в другое, но наиболее прямолинейный метод с использованием CopyFile метод, расположенный в Winapi.Windows блоке ...

CopyFile('C:\OriginalFile.txt', 'D:\NewFile.txt', False); 
+0

У меня вопрос sir @Jerry .. для каких целей утверждение FALSE? –

+1

Согласно документации, которую я связал в своем ответе, это «Fail if Exists». Это означает, что 'False' будет перезаписывать файл, если он уже существует, а' True' приведет к сбою функции, если она существует. –

+3

Этот код игнорирует проверку ошибок. Если копия завершится неудачно, программа продолжит работу, не обращая внимания на сбой. На современном модуле Delphi IOUtils реализована кроссплатформенная функциональность для копирования файлов. –

2

Cross -платформенное решение

uses System.IOUtils;  
TFile.Copy('file.txt','anotherfile.txt'); 
-1

Хотя вы уже приняли ответ, я хотел немного расширить. Ниже приведен Delphi 7, но он, вероятно, будет похож на другие версии. В любом случае это может указывать на вас в правильном направлении.

Два метода: первый - самый простой, в то время как второй имеет немного большую проверку ошибок.

Метод 1 - минимальная Проверка ошибок

Procedure TForm1.Button1Click(Sender: TObject); 
Var 
    OldFile, NewFile: String; 
Begin 
    OldFile := 'Some file'; 
    NewFile := 'Some other file'; 

    If FileExists(OldFile) Then 
    Begin 
    If CopyFile(PChar(OldFile), PChar(NewFile), true) Then 
     ShowMessage('Yay, file copied file') 
    Else 
     ShowMessage('Doh, file already exists!'); 
    End; 
End; 

Метод 2 - Немного лучше обнаружения ошибок

Procedure TForm1.Button2Click(Sender: TObject); 
Var 
    OldFile, NewFile: String; 
Begin 
    OldFile := 'Some file'; 
    NewFile := 'Some other file'; 
    If FileExists(OldFile) Then 
    Begin 
    Try 
     If CopyFile(PChar(OldFile), PChar(NewFile), true) Then 
     ShowMessage('Yay, file copied file') 
     Else 
     ShowMessage('Doh, file already exists!'); 
    Except 
     On E: Exception Do 
     ShowMessage(E.ClassName + ' Something really screwed up: ' + E.Message); 
    End; 
    End; 
End; 

Метод 1 копирует файл из Старое_имя в NEWNAME и выводит сообщение о том, успех или отказ.

Способ 2 делает то же самое, но будет ловить исключения, поднятые на всякий случай, если все превратится в заварной крем.

Я надеюсь, что это поможет вам. Будучи новичком, он может быть очень подавляющим, и иногда вам просто нужна помощь.

+0

Вся ваша обработка ошибок полностью фиктивная. Все это. –

+0

@DavidHeffernan Это упрощенно, я согласен, но как он фиктивный? Протестировано с Delphi 7 (которое я использую), и это сработало - если у меня не был плохой день ввода. Можете быть более конкретными? –

+0

Метод 1, много других режимов отказа, чем уже существующий файл. Способ 2, что собирается вызвать исключение? Ничего. –

Смежные вопросы