Avatar billede ziron Nybegynder
05. februar 2001 - 20:31 Der er 15 kommentarer og
1 løsning

Copy...

hvis jeg har lavet et program og jeg gerne vil have det til at kopier sig selv til et bib. fx C:\\.

Hvad skal jeg så gøre???
Avatar billede delphidaner Nybegynder
05. februar 2001 - 20:34 #1
CopyFile(Application.ExeName, \'C:\\\')
Avatar billede ziron Nybegynder
05. februar 2001 - 20:45 #2
det kan den ikke rigtig finde ud af , den kommer frem og siger noget med \'String og PChar\'...

du skulle vel ikke lige ligge inden med et eks. som jeg kunne kigge på???
Avatar billede cautoo Nybegynder
05. februar 2001 - 20:47 #3
det kunne måske være fordi at windows ikke kan lide og kopiere noget som er aktivt!!!!
Avatar billede ziron Nybegynder
05. februar 2001 - 20:49 #4
måske, jeg ved ikke...

så jeg sprøger om hjælp???
Avatar billede speedy Nybegynder
05. februar 2001 - 20:56 #5
Du skal bruge pchar til at lave en string om til en pchar. Se følgende :

CopyFile(PChar(Application.ExeName), PChar(\'C:\\\'));

/SpEeDy
Avatar billede speedy Nybegynder
05. februar 2001 - 20:58 #6
Og så vidt jeg husker, vil copyfile have filnavnet at vide i parameter nummer 2.

Altså :

CopyFile(PChar(Application.ExeName), PChar(\'C:\\\' + ExtractFileName(Application.Exename)));

Håber det stemmer med parateserne, jeg har ikke lige Delphi ved mig :)

/SpEeDy
Avatar billede ziron Nybegynder
05. februar 2001 - 21:08 #7
der kommer stadig en fejl:

efter der her kommer fejlen, \'CopyFile(PChar(Application.ExeName)\' fejlen er: Incompatible types: \'String\' and \'PChar\'...

Skal jeg definere noget nogen steder???

Avatar billede martinlind Nybegynder
05. februar 2001 - 21:13 #8
Prøv at trykke F1 når makøren står på CopyFile, jeg mener delphi har sin egen copyfile og så er det ikke pchar\'s du skal bruge, men F1 giver uden tvivl svaret.....


/Martin
Avatar billede ziron Nybegynder
05. februar 2001 - 21:24 #9
det sagde mig ikke så meget...

et hurtigt eks. ville være dejligt???

/ZIRON
Avatar billede snowball Novice
05. februar 2001 - 21:41 #10
ziron: Gå ind på http://borrisholt.com ! Under File I/O ligger der en zip fil der hedder Filehandling. Hent den og tilføj filehandlin.pas til dit projekt. Nu kan du så gøre følgende:

Copyfiles(Application.Exename,\'c:\\\');

Det virker !

Husk og tilføj Filehandling under uses !

Snowball
Avatar billede ziron Nybegynder
05. februar 2001 - 21:44 #11
tak...

men den får et windows vindue til at komme frem kan man ikke få det væk???

/ZIRON
Avatar billede snowball Novice
05. februar 2001 - 21:48 #12
Jo, du skal bare tilføje FOF_SILENT i filehandling.pas så der kommer til at stå

  if IdOp <> FO_DELETE then
    SHFileOpStruct.fFlags := FOF_SILENT or FOF_ALLOWUNDO or FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR
  else
    SHFileOpStruct.fFlags := FOF_SILENT or FOF_ALLOWUNDO or FOF_NOCONFIRMATION;

Snowball
Avatar billede martinlind Nybegynder
05. februar 2001 - 21:57 #13
Dette er en enkel API commando :

CopyFile(PChar(Application.ExeName), PChar(\'C:\\\' + ExtractFileName(Application.Exename)),FALSE);

som overskriver hvis dest. hvis den ikke skal det skal der bare stå TRUE til sidst ( alle windows kald bruger PChar som String, hvorimod delphi bruger String som regel ).

/Martin
Avatar billede martinlind Nybegynder
05. februar 2001 - 21:58 #14
- helt uden et windue *S*
Avatar billede ziron Nybegynder
05. februar 2001 - 22:00 #15
tak.. skal jeg tilføje noget før det virker???

/ZIRON
Avatar billede martinlind Nybegynder
05. februar 2001 - 22:24 #16
Nej, det kører bare, std. windows/delphi kode.

/Martin
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