Kopiowanie do %APPDATA%

0

Nie lubię pisać w takich sprawach, może dlatego, że mam wrażenie, że to głupi problem, ale mimo to nie jestem w stanie znaleźć sposobu na to:

Program musi skopiować plik settings/xxx.set do folderu Danych aplikacji. Wpisanie jednak %appdata% skutkuje utworzeniem folderu o takiej nazwie...

Kopiowanie plików wykonywałem poprzez

   P.Wnd := Handle;
   P.wFunc := FO_COPY;
   P.pFrom := 'settings/xxx.set';
   P.pTo := '%appdata%/Program/xxx.set';
   SHFileOperation(P);

Oczywiście trochę szperałem i uzyskanie ścieżki folderu %appdata% w prosty sposób można za pomocą tej funkcji:
GetEnvironmentVariable('appdata'), ale wstawienie tego do P.pTo

P.pTo := GetEnvironmentVariable('appdata')+'/Program/xxx.set';

skutkowało komunikatem

[Pascal Error] E2010 Incompatible types: 'string' and 'PAnsiChar'

0

no fakt - głupi problem...

P.pTo := PChar(GetEnvironmentVariable('appdata')+'/Program/xxx.set');
0

Jeden pliczek i tyle zabawy.... to co stosujesz nadaje się do kopiowania całych folderów z plikami.

Lepiej użyj

CopyFile
0

założenie jest takie, że w folderze może być więcej plików, dlatego stosuję to :P
ale dzięki za pomoc :P może kiedyś z Delphi-Podstawówki przejdę do Delphi-Gimnazjum xD
Dzięki :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1