![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не подскажите как сделать так, чтобы запущенная прога, скопировал [D5, WinME]
ЗГ © (2002-05-24 08:17:00)Приветствую!!!
Не подскажите как сделать так, чтобы запущенная прога, скопировалала себя в заранее определенную папку
snoup (2002-05-25 20:21:00) [1]CopyFile(pchar(paramstr(0)),"c:\a.exe",true);ХА!
LazorenkoX (2002-05-24 21:49:00) [2]Ребята!!! PChar()!!!
z_1 (2002-05-24 20:05:00) [3]я вот так делал...
Procedure TForm1.Something();
Var
hf : hfile;
fsz : dword;
buf : array[0..4096] of byte;
bytes, b_read : dword;
os : TFileStream;
begin
hf := CreateFile("откуда",
GENERIC_READ,
FILE_SHARE_READ,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
os := TFileStream.Create("куда", fmCreate);
fsz := SetFilePointer(hf, 0, nil, FILE_END);
SetFilePointer(hf, 0, nil, FILE_BEGIN);
b_read := 0; bytes := 0;
while true do begin
ReadFile(hf, buf, 4096, bytes, nil);
os.Write(buf, bytes);
b_read := b_read + bytes;
if b_read >= fsz then break;
end;
os.Free;
CloseHandle(hf);
end;
Song (2002-05-24 11:00:00) [4]2Delphi5.01 © (24.05.02 08:57), 2 Начинающий програмер © (24.05.02 10:54)
>>>net proceduri String to Pchar
Скажу Вам по секрету... есть (шёпотом) - называется PChar()
CopyFile(PChar(Applcation.ExeName),PChar("куда-то там"),False);
Начинающий програмер (2002-05-24 10:54:00) [5]var OpStruc: TSHFileOpStruct;
frombuf, tobuf: Array [0..128] of Char;
FillChar( frombuf, Sizeof(frombuf), 0 );
FillChar( tobuf, Sizeof(tobuf), 0 );
StrPCopy( frombuf, "твой файл");
StrPCopy( tobuf, "C:\Windows\System32\" );
With OpStruc DO Begin Wnd:= Handle;
wFunc:= FO_COPY; pFrom:= @frombuf; pTo:=@tobuf;
fFlags:= FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
fAnyOperationsAborted:= False; hNameMappings:= Nil;
lpszProgressTitle:= Nil;
end;
ShFileOperation( OpStruc );
Delphi5.01 (2002-05-24 08:57:00) [6]Ne tak uj eto legko kak kazal song net proceduri String to Pchar voooooooo
a vot polnoe reshenie uje proveril
type
TPChar = Record
Name : Array [0..Max_Path] of Char;
End;
.........
.........
Function StrToPChar(St : String) : TPChar;
Var i: integer;
begin
For i:=1 to Max_Path do
StrToPChar.Name[i-1]:=#0;
for i:=1 to Length(St) do
StrToPChar.Name[i-1]:=St[i];
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
var P : TPChar;
begin
p:=StrToPChar(Application.ExeName);
CopyFile(P.Name,"c:\CopyProg.exe",True);
end;
..........
..........
Song (2002-05-24 08:37:00) [7]CopyFile()