Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#28

Re: XCOPY mit Delphi nachbauen

  Alt 3. Aug 2005, 07:38
Zitat von Hansa:
Angst ? Ne. Aber Mabuse, Dein Source ist mir zu WinApi lastig.
Was heißt hier zu WinAPI lastig?

Wenn Du ein Form1.Show; programmiert macht Du ja im Grunde auch nur einen WinAPI Aufruf.
Deine Programme laufen unter Windows -> Windoes funktioniert nun halt mal "nur" mit WinAPI Aufrufen!
WEnn in Deinen Programmen keine WinAPI Aufrufe enthalten sein sollen, mußt Du unter Dos oder Linux oder MacOS programieren.

Zitat von Hansa:
Außerdem hat mein Programm einen Denkfehler.
Für Denkfehler im Programm ist immer der Entwickler verantwortlich.

Zitat von Hansa:
Warum soll ich das Quelllaufwerk abfragen, wenn das Setup-Programm von einer CD gestartet wird ? Wie komme ich nun an dieses dran, also das aktuelle ?
Der Dateiname der Exe steht in Application.ExeName oder in wie schon erwähnt ParamStr(0).

An den Laufwerksbuchstaben kommst Du auch relativ leicht:
function ExtractFileDrive(const FileName: string): string; Aber Vorsicht es gibt Leute (wie mich ) die auf ein CD-ROM Laufwerk auch direkt über den UNC Namen zugreifen, in dem Fall gibt es keinen Laufwerksbuchstaben des CD-ROMs.
z.B.: \\SERVER\CDROM\setup.exe -> ExtractFileDrive(Application.ExeName) = ''
Oder dem CD-ROM ist kein Laufwerksbuchstabe zugewiesen, aber das CD-ROM wurde in ein Verzeichnis gemountet.
z.B. C:\CDROM\setup.exe -> ExtractFileDrive(Application.ExeName) = 'C:'
C: ist aber nicht das CD-ROM Laufwerk, sondern die Festplatte (obwohl ja auf das CD-ROM zugegriffen wurde)
Oder der Kunde hat den Inhalt der CD ganz einfach in ein Verzeichnis auf der Festplatte kopiert.

Es ist also besser mit folgender Funktion den kompletten Pfad zu ermitteln und dann mit relativen Pfadangaben zu arbeiten.´
function ExtractFilePath(const FileName: string): string; z.B.: Quelle ist das Quellverzeichnis der Daten:
Quelle := ExtractFilePath(Application.ExeName)+'..\Daten\'; Es kann dann z.B. so ein Pfad entstehen: 'E:\Install\..\Daten\' der aber funktioniert. (Ist das gleiche wie 'E:\Daten')

Ich hoffe diese Infos helfen Dir.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat