помогите?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Dmitriy507, 25 Aug 2006.

  1. Dmitriy507

    Dmitriy507 Elder - Старейшина

    Joined:
    29 Apr 2006
    Messages:
    135
    Likes Received:
    19
    Reputations:
    6
    Привет всем!
    У меня возникли некоторые вопрос по написанию программы на делфи, помогите мне плиз:
    Вопрос:
    Нужно чтобы программа брала файл например C:/1/123.txt и копировала/заменяла его C:/2/123.txt как это сделать?
    Помогите очень надобно…
     
  2. Go0o$E

    Go0o$E Members of Antichat

    Joined:
    27 Jan 2006
    Messages:
    304
    Likes Received:
    228
    Reputations:
    419
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if FileExists('c:\2\123.txt') then
    DeleteFile('c:\2\123.txt');
    begin

    if CopyFile('C:/1/123.txt','C:/2/123.txt',true) then
    ShowMessage('Файл скопирован!')
    else ShowMessage('Ошибка!');
    end;
    end;
     
    #2 Go0o$E, 25 Aug 2006
    Last edited: 25 Aug 2006
    1 person likes this.
  3. Talisman

    Talisman Elder - Старейшина

    Joined:
    22 Apr 2006
    Messages:
    400
    Likes Received:
    151
    Reputations:
    80
    помойму с расстановкой бегинов/эндов намудрил

    PHP:
    procedure TForm1.Button1Click(SenderTObject);
    begin
     
    if FileExists('c:\2\123.txt'then
      DeleteFile
    ('c:\2\123.txt'); 
    // begin // нах не нужен ;)

     
    if CopyFile('C:/1/123.txt','C:/2/123.txt',truethen
      ShowMessage
    ('Файл скопирован!')
     else 
    ShowMessage('Ошибка!');
    // end; // нах не нужен
    end;
     
  4. Dmitriy507

    Dmitriy507 Elder - Старейшина

    Joined:
    29 Apr 2006
    Messages:
    135
    Likes Received:
    19
    Reputations:
    6
    да пасиб, сам уже догодался....
    я эту конструкцию использую для вира:
    <code>
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    f FileExists('c:\2\123.txt') then
    DeleteFile('c:\2\123.txt');
    CopyFile('C:/1/123.txt','C:/2/123.txt',true);
    </code>
    Всем спасибо!
     
  5. Dmitriy507

    Dmitriy507 Elder - Старейшина

    Joined:
    29 Apr 2006
    Messages:
    135
    Likes Received:
    19
    Reputations:
    6
    Забыл у мен ешо проблемка,
    при надатии на кнопку2 программа вносит строку в реестр,
    я думаю сделать так, создать ветку, при запуске которой, вводится строка, и запустить через прогу ее, ток написать в конце yes шоб не спрашивала...
    а по другому мона?
     
  6. Dmitriy507

    Dmitriy507 Elder - Старейшина

    Joined:
    29 Apr 2006
    Messages:
    135
    Likes Received:
    19
    Reputations:
    6
    вот тут удаляется фаил:
    DeleteFile('c:\2\123.txt');
    а как удалить папку 2?
    не полуается чегото....
     
  7. Go0o$E

    Go0o$E Members of Antichat

    Joined:
    27 Jan 2006
    Messages:
    304
    Likes Received:
    228
    Reputations:
    419
    Function MyRemoveDir(sDir : String) : Boolean;
    var
    iIndex : Integer;
    SearchRec : TSearchRec;
    sFileName : String;
    begin
    Result := False;
    sDir := sDir + '\*.*';
    iIndex := FindFirst(sDir, faAnyFile, SearchRec);

    while iIndex = 0 do begin
    sFileName := ExtractFileDir(sDir)+'\'+SearchRec.Name;
    if SearchRec.Attr = faDirectory then begin
    if (SearchRec.Name <> '' ) and
    (SearchRec.Name <> '.') and
    (SearchRec.Name <> '..') then
    MyRemoveDir(sFileName);
    end else begin
    if SearchRec.Attr <> faArchive then
    FileSetAttr(sFileName, faArchive);
    if NOT DeleteFile(sFileName) then
    ShowMessage('Could NOT delete ' + sFileName);
    end;
    iIndex := FindNext(SearchRec);
    end;

    FindClose(SearchRec);

    RemoveDir(ExtractFileDir(sDir));
    Result := True;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if MyRemoveDir('C:\2') then ShowMessage('Директория успешно удалена')
    else ShowMessage('Не получается удалить директорию');
    end;
     
    1 person likes this.
  8. Dmitriy507

    Dmitriy507 Elder - Старейшина

    Joined:
    29 Apr 2006
    Messages:
    135
    Likes Received:
    19
    Reputations:
    6
    ок!
    спасибо!
    когда я удаляю файлы которые низя удалить или которые в работе, эта система(твой код) выводит сообщение об этом...
    как это убрать? мне надо чтоб удалял, а что не удаляется пропускал, без сообщений...
    зы
    я пользуюсльзуюсь так:
    MyRemoveDir('C:\2');
    MyRemoveDir('C:\3');
    ...
     
  9. Go0o$E

    Go0o$E Members of Antichat

    Joined:
    27 Jan 2006
    Messages:
    304
    Likes Received:
    228
    Reputations:
    419
    Function MyRemoveDir(sDir : String) : Boolean;
    var
    iIndex : Integer;
    SearchRec : TSearchRec;
    sFileName : String;
    begin
    Result := False;
    sDir := sDir + '\*.*';
    iIndex := FindFirst(sDir, faAnyFile, SearchRec);

    while iIndex = 0 do begin
    sFileName := ExtractFileDir(sDir)+'\'+SearchRec.Name;
    if SearchRec.Attr = faDirectory then begin
    if (SearchRec.Name <> '' ) and
    (SearchRec.Name <> '.') and
    (SearchRec.Name <> '..') then
    MyRemoveDir(sFileName);
    end else begin
    if SearchRec.Attr <> faArchive then
    FileSetAttr(sFileName, faArchive);
    DeleteFile(sFileName);
    end;
    iIndex := FindNext(SearchRec);
    end;

    FindClose(SearchRec);

    RemoveDir(ExtractFileDir(sDir));
    Result := True;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    MyRemoveDir('C:\2');
    end;

    end.