Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Projekt kopieren (https://www.delphipraxis.net/138399-projekt-kopieren.html)

CazperFuture 9. Aug 2009 23:19


Projekt kopieren
 
hallo alle
ich möchte gerne mein eigenes projekt über einen button z.b. in einen anderen ordner kopieren.
wie man eine datei kopiert weis ich (z.b. hier) aber angenommen ich verschicke meine datei so weis ich ja nicht auf welchem ordner diese datei bei der jeweiligen person abgespeichert wird.
ich bräuchte für dieses thema eine lösung, könnt ihr mir helfen :gruebel:
danke schon mal :thumb:

Dunkel 9. Aug 2009 23:33

Re: Projekt kopieren
 
'Nabend!

Wie bitte, was?
Mit "Projekt" meinst Du die ausführbare Datei? Warum möchtest Du die woanders hin kopieren?
Du suchst wohl nach dem Verzeichnis in dem sich Dein Programm befindet:
Delphi-Quellcode:
ExtractFilePath(ParamStr(0));
sollte Dir weiterhelfen.

CazperFuture 10. Aug 2009 00:31

Re: Projekt kopieren
 
ja, dise function kenne ich schon
aber nehmen wir mal folgenden fall an:

angenommen ich schicke jdm, dise .exe datei über icq, dann wird diese datei ja abgespeichert in einem ordner, diesen ordner könnte ich ja it deiner funktion ermitteln, ich möchte allerdings meine datei z.b. auf C:\ kopieren.
um eine datei zu kopieren braucht man den pfad zur 1. datei & den zielpfad, gibt es eine möglichkeit wie man der datei sagen kann dass sie sich z.b. auf C:\ kopieren soll?
braucht man dafür überhaupt den pfad zur datei?

freak4fun 10. Aug 2009 00:48

Re: Projekt kopieren
 
Source ist ja die Quelle, also wo dein Programm ist. Das wurde dir hier beantwortet. Und Destination ist das Ziel. Dass kannst du selber festlegen oder den benutzer über einen TOpenDialog wählen lassen. Bedenke das du ggf. nicht die nötigen rechte hast, oder es keine C:-Partition gibt. ;)

CazperFuture 10. Aug 2009 01:21

Re: Projekt kopieren
 
alos ich hab mal eben was probiert:
man kann ja den ordner in dem sich die datei befindet in einem label anzeigen lassen, das sieht dann so aus:

Delphi-Quellcode:
procedure TFormular.BitErmittelnClick(Sender: TObject);
begin
LabelAnzeige.Caption := ExtractFilePath(ParamStr(0));
end;
allerdings steht dann da nur das verzeichnis & nicht "F:\blabla\Project1.exe"
kann mir da jemand helfen, denn sonst ich will ja das hier versuchen:

Delphi-Quellcode:
ShellFileOperation(ExtractFilePath(ParamStr(0)), 'E:\', FO_Copy);
Es gibt aber eine fehlermeldung, da dort nur das verzeichnis & nicht mit der passenden datei angegeben ist.
habt ihr einen rat?

jaenicke 10. Aug 2009 04:46

Re: Projekt kopieren
 
Zitat:

Zitat von CazperFuture
allerdings steht dann da nur das verzeichnis & nicht "F:\blabla\Project1.exe"

Das zeigt, dass es dir egal ist was der Code eigentlich macht...
Was glaubst du denn wohl was ExtractFilePath tut? :wall: :wall: :wall:
Drück einmal F1, wenn es dir nicht schon der Name sagt...

CazperFuture 10. Aug 2009 20:41

Re: Projekt kopieren
 
ok, dasm it file ExtractFilePath ist mir ja klar das man nur den pfad erhält, ich habe es swoeit auch geschafft:

Delphi-Quellcode:
ShellFileOperation(ExtractFilePath(ParamStr(0))+'\Project1.exe','Desktop', FO_Copy);
allerdings kann es ja sein dass man bei der *.exe datei den namen ändern möchte, in diesem fall kann man natürlich die datei nicht kopieren.
gibt es eine möglichkeit wie man für den dateinamen eine variable setzen kann, dann müsste es ja egal sein wie man die dati ändert.

himitsu 10. Aug 2009 20:53

Re: Projekt kopieren
 
ich glaub so richtig hast du es noch nicht verstanden.

ExtractFilePath gibt doch den Pfad dessen zurück, was man ihm gibt.
und jetzt rate mal, was du ihm gegeben hast!

Tipp: schau mal was ParamStr(0) liefert (PS: Delphi-Referenz durchsuchenApplication.ExeName mach das Selbe)

und Desktop ist bestimmt nicht das Verzeichnis, welches du meinst.

Wolfgang Mix 10. Aug 2009 21:11

Re: Projekt kopieren
 
Irgendwie verstehe ich den Aufwand hier nicht. Ich versende das Projekt1.exe nach Umbenennen egal wohin. Der Empfänger sortiert sie dann bei sich ein, wo er will.
Dazu muss ich nicht Delphi bemühen.

Gruß

Wolfgang

Popov 10. Aug 2009 21:12

Re: Projekt kopieren
 
@CazperFuture

Ich glaube was bei deiner Frage verwirrend ist, ist schon der Titel. Du fragst wie man ein Projekt kopiert. Aber ein Projekt besteht aus vielen Dateien, z.B. dpr-, pas-Dateien usw. Wenn du wissen willst wie du eine Datei kopierst, bzw. das Programm, welches sich in diesem Fall nur Projekt.exe nennt, dann frag das. Ich brauchte auch erst paar Minuten bis ich verstanden habe was du fragen willst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz