![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте уважаемые форумчане! Изучаю Делфи чуть более месяца, одной из поставленых задач является копирование информации из директории текущего пользователя. копировать папку решил этим методом, он рабочий.
Код:
application.ProcessMessages();
FillChar(Buffer, sizeof(Buffer), #0);
p := @buffer;
StrECopy(p, PChar(FromFolder)); //îòêóäà
FillChar(Fo, sizeof(Fo), #0);
Fo.Wnd := Application.Handle;
Fo.wFunc := FO_COPY;
Fo.pFrom := @Buffer;
Fo.pTo := PChar(ToFolder); //êóäà
Fo.fFlags := 0;
if ((SHFileOperation(Fo) <> 0) or (Fo.fAnyOperationsAborted <> false)) then
ShowMessage('File copy process cancelled') |
|
#2
|
||||
|
||||
|
Код:
function GetSpecialFolderLocation(Folder: Integer): String;
var
ppidl: PItemIDList;
begin
Result:='';
ppidl:=nil;
try
if SHGetSpecialFolderLocation(0, Folder, ppidl)=S_OK then
begin
SetLength(Result, MAX_PATH);
if SHGetPathFromIDList(ppidl, PChar(Result)) then
Result:=IncludeTrailingPathDelimiter(PChar(Result))
else
Result:='';
end;
finally
if ppidl<>nil then CoTaskMemFree(ppidl);
end;
end;Код:
GetSpecialFolderLocation(CSIDL_APPDATA); |
|
#3
|
|||
|
|||
|
Вопросов у меня много постараюсь все сократить))Я видел нечто подобное одно даже есть в коде и компилируется. вот такое:
Код:
function GetSpecialPath(CSIDL: word): string; var s: string; begin SetLength(s, MAX_PATH); if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, true) then s := ''; result := PChar(s); end; Код:
if FileExists(GetSpecialPath('\AppData\Local')) |
|
#4
|
||||
|
||||
|
|