Avatar billede chrisx Nybegynder
24. maj 2001 - 15:08 Der er 4 kommentarer og
1 løsning

Rename- Copy-MoveFile

I On-line Help angives at disse 3 anvendes ned flg.:

RenameFile(FileA, FileB); (begge filename=String)
- tilsvarende for Copy- og MoveFile.

RenameFile virker korrekt under runtime, men kun een
gang - når der efterflg anvendes:

Rename(FileB,FileA) renames ikke - úden nogen fejlmeddelse... Er der nogen der ved hvorfor?

Hvis jeg forsøger at \'kringle uden om\' ved istedet at anvende:

CopyFile(FileA, FileB) fejlmeldes: incompatible Pchar..String - til trods for Help angiver at alle 3 commando frit kan anvende string) og ikke nævner Pchar i denne forbindelse?
Avatar billede mathiasiversen Nybegynder
24. maj 2001 - 15:14 #1
CopyFile(\'FileA\', \'FileB\', (true hvis den skal vise et copy billed ellers False hvis den ikke skal));
Ved ikke noget om RenameFile()
Avatar billede borrisholt Novice
24. maj 2001 - 15:15 #2
chrisx>>

Dest sidste problem er fordi der findes en Copyfile BÅDE i windows.pas of i Sysutils.pas. Du er derfor nød til at kvalificere komandoen. Alåså dne kommandu  du TROR du kalder ligger i sysutils.pas, men i virkeligheden ligger den i Windows.pas. Hvis du vil kalde den fra sysutils.pas skal du skrieve sysutils.CopyFile.

Disse copy file og rename file etc. er ikke ret smidige. de understøtter ikke wildcards og en masse andet.

Der findes en fillhåndteringsklasse nede i windows der opfylder alle disse mål. Den hedder SHFILEOPSTRUCT.

Jeg har skrevet en wrapper omkring den. Den findet du på http://borrisholt.com under fileIO og hedder filehandling.

Jens B
Avatar billede chrisx Nybegynder
24. maj 2001 - 17:41 #3
Jens B>>
Tak for svaret -  jeg har prøvet:  SysUtils.CopyFile(FileA,FileB) men der fejlmeldes: undeclared identifier \'Copyfile\' ...

Jeg har også prøvet StsUtils.RenameFile da det er den jeg helst vil anvende, men stadig neg. result.

Jeg forstår iøvrigt ikke hvorfor RenameFile under runtime, virker 1ørste gang i proceduren men ikke 2.den gang (i samme procedure) den kaldes?

Hvis ikke der er en direkte måde der går at anvende, må jeg vel installere din \'wrapper\' - men jeg aner ikke hvor eller hvordan det gøres. Jeg kan se at
Avatar billede borrisholt Novice
28. maj 2001 - 08:02 #4
chrisx >> Fordelen ved min wrapper er at du netop ikke skal instalere noget som helst. Det er bare en unit. Du kan endda være 100% lige glad med hvordan den er lavet. Du briger bare filehandeling i dit projekt og så skriver du fx. CopyFiles(\'C.\\hest\\*.*\', \'D:\\hest\');

og så kopierer den!

Jens B
Avatar billede wagner Nybegynder
30. maj 2001 - 14:08 #5
Hejsa

For at kunne kopiere en fil behøver du blot at skrive:

CopyFile(PChar(\'c:\\test\\file1.txt\'), PChar(\'c:\\test\\file2.txt\'), TRUE);

Hvor true undersøger om filen eksisterer.
Du kan selv gå ind på http://www.festra.com/wwwboard/messages/245.html
og læse mere om det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester