Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

25.08.2006, 16:09
|
|
Участник форума
Регистрация: 29.04.2006
Сообщений: 171
Провел на форуме: 333060
Репутация:
63
|
|
помогите?
Привет всем!
У меня возникли некоторые вопрос по написанию программы на делфи, помогите мне плиз:
Вопрос:
Нужно чтобы программа брала файл например C:/1/123.txt и копировала/заменяла его C:/2/123.txt как это сделать?
Помогите очень надобно…
|
|
|

25.08.2006, 16:40
|
|
Members of Antichat - Level 5
Регистрация: 27.01.2006
Сообщений: 258
Провел на форуме: 6127131
Репутация:
774
|
|
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;
__________________
Завтра будет.Лучше.
Последний раз редактировалось Go0o$E; 25.08.2006 в 17:02..
|
|
|

25.08.2006, 23:16
|
|
Постоянный
Регистрация: 22.04.2006
Сообщений: 566
Провел на форуме: 1325772
Репутация:
517
|
|
Сообщение от Go0o$E
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;
помойму с расстановкой бегинов/эндов намудрил
PHP код:
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;
|
|
|

26.08.2006, 05:31
|
|
Участник форума
Регистрация: 29.04.2006
Сообщений: 171
Провел на форуме: 333060
Репутация:
63
|
|
да пасиб, сам уже догодался....
я эту конструкцию использую для вира:
<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>
Всем спасибо!
|
|
|

26.08.2006, 05:35
|
|
Участник форума
Регистрация: 29.04.2006
Сообщений: 171
Провел на форуме: 333060
Репутация:
63
|
|
Забыл у мен ешо проблемка,
при надатии на кнопку2 программа вносит строку в реестр,
я думаю сделать так, создать ветку, при запуске которой, вводится строка, и запустить через прогу ее, ток написать в конце yes шоб не спрашивала...
а по другому мона?
|
|
|

26.08.2006, 20:20
|
|
Участник форума
Регистрация: 29.04.2006
Сообщений: 171
Провел на форуме: 333060
Репутация:
63
|
|
вот тут удаляется фаил:
DeleteFile('c:\2\123.txt');
а как удалить папку 2?
не полуается чегото....
|
|
|

26.08.2006, 20:33
|
|
Members of Antichat - Level 5
Регистрация: 27.01.2006
Сообщений: 258
Провел на форуме: 6127131
Репутация:
774
|
|
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;
__________________
Завтра будет.Лучше.
|
|
|

27.08.2006, 13:20
|
|
Участник форума
Регистрация: 29.04.2006
Сообщений: 171
Провел на форуме: 333060
Репутация:
63
|
|
ок!
спасибо!
когда я удаляю файлы которые низя удалить или которые в работе, эта система(твой код) выводит сообщение об этом...
как это убрать? мне надо чтоб удалял, а что не удаляется пропускал, без сообщений...
зы
я пользуюсльзуюсь так:
MyRemoveDir('C:\2');
MyRemoveDir('C:\3');
...
|
|
|

27.08.2006, 14:00
|
|
Members of Antichat - Level 5
Регистрация: 27.01.2006
Сообщений: 258
Провел на форуме: 6127131
Репутация:
774
|
|
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.
__________________
Завтра будет.Лучше.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|