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/)
-   -   XCOPY mit Delphi nachbauen (https://www.delphipraxis.net/50745-xcopy-mit-delphi-nachbauen.html)

Hansa 30. Jul 2005 21:41


XCOPY mit Delphi nachbauen
 
Hi,

wie kann ich eine Gruppe von Dateien am besten kopieren (samt Unterverzeichnissen und von CD) ? Also per shellexecute oder so. Bietet Delphi da nicht für diesen Zweck was eigenes an ? :gruebel: Ich komme nicht drauf. 8) FileCOpy oder CopyFile findet zumindest die OH nicht.

Olli 30. Jul 2005 21:43

Re: XCOPY mit Delphi nachbauen
 
MSDN-Library durchsuchenCopyFile und MSDN-Library durchsuchenCopyFileEx sind ja auch Win32-API-Funktionen ;)

Wenn es um mehrere Dateien geht, ist vielleicht das was für dich: MSDN-Library durchsuchenSHFileOperation.

bigg 30. Jul 2005 22:09

Re: XCOPY mit Delphi nachbauen
 
@Hansa:
Wie viele Jahre programmierst du nochmal? :mrgreen:
Es gibt viele Wege Dateien zu kopieren:

Du könntest dir zum Beispiel eine Funktion schreiben, die dir eine Datei von a nach b kopiert.
Hier mal ein paar Funktionen:

a. FileCreate(), FileOpen(), FileClose(), FileRead() und FileWrite()
b. AssignFile(), CloseFile(), BlockRead() und BlockWrite()
c. Die Verwendung der Klasse "TFileStream"
d. CopyFile(), MoveFile(), DeleteFile() und CreateFile()

Zum suchen von Dateien gibt es die Funktion FindFirst() sowie FindNext().

edit:
MKDir() - erstellt einen Ordner
DirectoryExists() - prüft ob ein Ordner existiert
FileExists() - prüft ob eine Datei existiert

Olli 30. Jul 2005 22:17

Re: XCOPY mit Delphi nachbauen
 
Zitat:

Zitat von bigg
@Hansa:
Wie viele Jahre programmierst du nochmal? :mrgreen:

Und du? :zwinker:

Das witzige an MSDN-Library durchsuchenSHFileOperation ist, daß es neben mehreren Optionen (Löschen, Kopieren, Verschieben, ...) auch Wildcards (*.dll) unterstützt. Das ist ein klarer Vorteil gegenüber deinen Beispielen ;) ... weil schneller und produktiver.

Ich bin mir fast sicher, daß es in der DP auch was zum Thema Hier im Forum suchenSHFileOperation gibt ...

bigg 30. Jul 2005 22:25

Re: XCOPY mit Delphi nachbauen
 
hi olli,

woher willst du wissen, das diese Funktionen schneller sind?
Ein gutes Beispiel wäre hier DCopy von mirkes.de.

http://www.mirkes.de/de/delphi/samples/dcopy.php

//edit: Angefangen hab ich mit RapidQ-Basic 1999 und du :zwinker:

Olli 30. Jul 2005 22:30

Re: XCOPY mit Delphi nachbauen
 
Zitat:

Zitat von bigg
woher willst du wissen, das diese Funktionen schneller sind?

Easy, mit "schneller" meinte ich die Entwicklungszeit. Während ich bei einer eigenen Funktion alles selber implementieren muß, kann ich der besagten Funktion direkt Dateinamen mit Wildcards übergeben. Nebenbei ging glaube ich auch noch der Standarddialog den auch der Explorer vom Kopieren von Dateien anzeigt.

Zitat:

Zitat von bigg
//edit: Angefangen hab ich mit RapidQ-Basic 1999 und du :zwinker:

Pascal+Assembler 1995

DP-Maintenance 30. Jul 2005 22:35

DP-Maintenance
 
Dieses Thema wurde von "alcaeus" von "Windows 9x / ME / 2000 / XP / 2003" nach "Windows API / MS.NET Framework API" verschoben.
Die Windows-Sparte ist nicht fuer Delphi-Fragen. Sowas gehoert in die Delphi-spezifischen Sparten ;)

jbg 31. Jul 2005 09:25

Re: XCOPY mit Delphi nachbauen
 
Zitat:

Zitat von Olli
Easy, mit "schneller" meinte ich die Entwicklungszeit.

Aber in diesem Fall wohl nur die Entwicklungszeit, denn SHFileOperation nutzt einen sehr kleinen Puffer zum kopieren. Dadurch ist die Festplatt mehr mit Kopfbewegungen beschäftigt, als mit dem Kopieren der Dateien.

Zitat:

Zitat von bigg
//edit: Angefangen hab ich mit RapidQ-Basic 1999 und du :zwinker:

Pascal+Assembler 1995[/quote]
Dann seit ihr ja noch junge Hasen beim Programmieren. :???:

Olli 31. Jul 2005 10:47

Re: XCOPY mit Delphi nachbauen
 
Zitat:

Zitat von jbg
Dann seit ihr ja noch junge Hasen beim Programmieren. :???:

Ach was ... :mrgreen:

MaBuSE 1. Aug 2005 10:27

Re: XCOPY mit Delphi nachbauen
 
Zitat:

Zitat von Olli
Zitat:

Zitat von jbg
Dann seit ihr ja noch junge Hasen beim Programmieren. :???:

Ach was ... :mrgreen:

Das könnt Ihr ja auch hier ausdiskutieren:
Seit wann programmiert ihr so?

[edit="hinzugefügt"]
Zitat:

Zitat von bigg
@Hansa:
Wie viele Jahre programmierst du nochmal? :mrgreen:

Diese Frage find ich eigentlich ziemlich frech.
Wenn jeder alles wüsste, gäbe es dieses Forum nicht.

Außerdem zeigt es das Du die Suche Funktion der DP nicht nutzt. :stupid:
(Ok, Hansa hat sie auch nicht benutzt ;-) )

[equote="Hansa hat folgendes geschrieben: ( http://www.delphipraxis.net/internal...=402835#402835 )"]...Nur statt UCSD wars bei mir mt+86 - Pascal (2500 DM)...Und für die Jüngeren : ich habe das erste Programm 1986 verkauft...[/equote][/edit]

Luckie 1. Aug 2005 10:52

Re: XCOPY mit Delphi nachbauen
 
Ich dürfte euch bitten zum Thema zurückzufinden und das Thema weiter sachlich zu diskutieren. Danke.

bigg 1. Aug 2005 11:36

Re: XCOPY mit Delphi nachbauen
 
[ot]
Zitat:

Diese Frage find ich eigentlich ziemlich frech.
Wenn jeder alles wüsste, gäbe es dieses Forum nicht.
Stimmt, aber als alter Hase sollte man schon wissen, wie man eine Datei kopiert.
Die XCopy-Frage finde ich absolut berechtigt, nur nicht die Art und Weise, wie gefragt wurde. :|

Zitat:

Außerdem zeigt es das Du die Suche Funktion der DP nicht nutzt.
*rofl*

[/ot]

@Hansa: Hast du schon eine Lösung gefunden oder
interessiert dich der Thread nicht mehr? :cry:

Hansa 1. Aug 2005 12:29

Re: XCOPY mit Delphi nachbauen
 
Im allerersten Beitrag steht, daß ich in der OH gesucht und nichts gefunden habe. Also, wonach soll ich denn in der DP suchen ? :roll: Außerdem brauchen doch die Kleinen auch mal ihre Gummibärchen. :stupid:

Ich glaube es sind nur 10 Dateien zu kopieren und 2 Ordner anzulegen. Deshalb ist die Frage aufgetaucht, ob man nicht eine BAT verwenden sollte und dann einfach mit shellexecute diese aufrufen kann ? Hat einer irgendwo ein Beispiel für diesen Fall ?

MaBuSE 1. Aug 2005 12:50

Re: XCOPY mit Delphi nachbauen
 
Zitat:

Zitat von Hansa
Im allerersten Beitrag steht, daß ich in der OH gesucht und nichts gefunden habe. Also, wonach soll ich denn in der DP suchen ? :roll:

Wie wärs z.B. nach Hier im Forum suchenShellExecute ?


Du kannst ja direkt ShellExecute aufrufen:
Delphi-Quellcode:
ShellExecute (0,'open','xcopy.exe','*.* C:\TEMP\*.*','.',SW_SHOW);
oder
Delphi-Quellcode:
ShellExecute (0,'open','cmd.exe','/C"copy *.* C:\TEMP\*.*"','.',SW_SHOW);
oder
Delphi-Quellcode:
ShellExecute (0,'open','HansaSuperCopy.bat','','C:\TEMP',SW_SHOW);
bzw
Delphi-Quellcode:
ShellExecute (0,'open','cmd.exe','/C"C:\Temp\HansaSuperCopy.bat"','C:\TEMP',SW_SHOW);
Und die HansaSuperCopy.bat:
Code:
@echo off
rem HansaSuperCopy
copy Datei1.ext C:\TEMP\Eins\Datei1.ext
copy Datei2.ext C:\TEMP\Eins\Datei2.ext
copy Datei3.ext C:\TEMP\Zwei\Datei3.ext
copy Datei4.ext C:\TEMP\Zwei\Datei4.ext
...

Hansa 1. Aug 2005 18:03

Re: XCOPY mit Delphi nachbauen
 
Thx Mabuse. Auf Dich ist wenigstens noch Verlaß. :mrgreen: Mir schwebt die Variante 3 vor. Weil unter W98 hieß CMD noch COMMAND. Jetzt gibt es allerdings folgendes Hindernis : es sieht aus, als ob nichts passiert. Wie sehe ich denn das Ergebnis von dem was in dem shellexecute gemacht wird ? In diesem Fall wäre ich wohl mit Try and Error am schnellsten fertig. 8)

Hansa 1. Aug 2005 20:58

Re: XCOPY mit Delphi nachbauen
 
So, das geht jetzt wie gewünscht. Aber nur fast ! :mrgreen: Eventuell muß ich noch was wissen.

Christian Seehase 1. Aug 2005 21:08

Re: XCOPY mit Delphi nachbauen
 
Moin Hansa,

Zitat:

Zitat von Hansa
Weil unter W98 hieß CMD noch COMMAND.

ja, aber Du könntest das Problem umgehen, indem Du die Umgebungsvariable COMSPEC ausliest.
Damit hast Du dann den jeweiligen Pfad zum Kommandoprozessor, und das unabhängig von der Windowsversion.
Diese Variable gab es IMHO schon unter "echtem" DOS.

Ausserdem steht Dir auch SHFileOperation zur Verfügung.
Dafür haben wir, meines Wissens, sogar eine gekapselte Version in der Code-Lib stehen.

Hansa 1. Aug 2005 21:16

Re: XCOPY mit Delphi nachbauen
 
Warum das ? Ich umgehe das ganz einfach mit abgewandelter Mabuse Variante 3. :mrgreen:

Delphi-Quellcode:
  ShellExecute (0,'open','Demoinst.bat','E: C:','',SW_NORMAL);
Habe also nur die Parameter benutzt und kein Default-Verzeichnis. In der Bat steht dann %1 und %2 drin. Allerdings noch eine kleine Frage. Den schwarzen Bildschirm würde ich gerne ersetzen. Wie komme ich an die Shellexecute-Ausgabe ran ? Geht das ?

Christian Seehase 1. Aug 2005 21:20

Re: XCOPY mit Delphi nachbauen
 
Moin Hansa,

wenn Du Dir absolut sicher sein kannst, dass die Datei so gefunden wird...

Hast Du es schon einmal mit SW_HIDE versucht?

[EDIT]
Ich hoffe doch mal, dass die Laufwerksbuchstaben in der Realität variabel gehalten sind ;-)
[/EDIT]

MaBuSE 2. Aug 2005 07:44

Re: XCOPY mit Delphi nachbauen
 
Zitat:

Zitat von Hansa
So, das geht jetzt wie gewünscht. Aber nur fast ! :mrgreen: Eventuell muß ich noch was wissen.

Und was?

Ohne Arme keine Kekse.

Ääh ich mein:
Ohne Frage keine Antwort :mrgreen:

Hansa 2. Aug 2005 10:45

Re: XCOPY mit Delphi nachbauen
 
Natürlich ist das nicht fest. Ich lasse das aus ComboBoxen auswählen :

Delphi-Quellcode:
  ShellExecute (0,'open','Demoinst.bat',
                PChar (cboQuellLW.Text+' '+cboZielLW.Text),'',SW_NORMAL);
In der Ziel-Combo steht der Laufwerksbuchstabe und der freie Platz auf der Platte. Das reicht.

Allerdings will ich eine Protokolldatei haben, um anzuzeigen, was jetzt genau kopiert wurde und wohin. Ich bräuchte also die Aúsgabe von dem Shellexecute.

Das kopieren dauert mind. 30 Sek. Das ist massig Zeit für einen DAU das Ausgabefenster einfach so zu schließen. 8) Mit SW_HIDE wäre das zu umgehen, aber dann besteht die Gefahr, daß wegen anscheinendem "Rechner hängt" ein DAU sogar den Rechner abschaltet, weil er nichts sieht. 8)

MaBuSE 2. Aug 2005 10:50

Re: XCOPY mit Delphi nachbauen
 
Zitat:

Zitat von Hansa
...Allerdings will ich eine Protokolldatei haben, um anzuzeigen, was jetzt genau kopiert wurde und wohin. Ich bräuchte also die Aúsgabe von dem Shellexecute.

Das kopieren dauert mind. 30 Sek. Das ist massig Zeit für einen DAU das Ausgabefenster einfach so zu schließen. 8) Mit SW_HIDE wäre das zu umgehen, aber dann besteht die Gefahr, daß wegen anscheinendem "Rechner hängt" ein DAU sogar den Rechner abschaltet, weil er nichts sieht. 8)

Wenn Du die Kontrolle über die Kopieraktion behalten willst, darfst Du sie nicht mit ShellExecute aus der Hand geben.
Dann wirst Du wohl doch etwas Delphi programmieren müssen. ;-)
Die Funktionen zum Kopieren in Delphi wurden ja weiter oben schon angesprochen...

Hansa 2. Aug 2005 11:01

Re: XCOPY mit Delphi nachbauen
 
Du meinst mit Blockread usw. ? :gruebel: Der Rest sind ja auch nur WinApi Sachen.

MaBuSE 2. Aug 2005 11:06

Re: XCOPY mit Delphi nachbauen
 
Zitat:

Zitat von Hansa
Du meinst mit Blockread usw. ? :gruebel: Der Rest sind ja auch nur WinApi Sachen.

Wo ist das Problem?

Hast Du Angst vor der Win32 API ?

Delphi-Quellcode:
uses ShellAPI;

function MyCopy(Quelle, Ziel: string):Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc := FO_COPY;
    fFlags := FOF_FILESONLY      // nur Dateien wenn Wildcard (*.*) verwendet werden
           or FOF_NOCONFIRMATION; // Keine Abfrage, es wird JA angenommen (z.B. überschreiben)
    pFrom := PChar(Quelle + #0);
    pTo   := PChar(Ziel)
  end;
  Result := (0 = ShFileOperation(fos));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
//  if myCopy('C:\TEMP\*.*', 'C:\Verzeichnis) then caption := 'OK' else Caption := 'ERR';
// oder für jede Datei einzeln...

  if myCopy('C:\TEMP\EinzelneDatei.ext', 'C:\Verzeichnis') then caption := 'OK' else Caption := 'ERR';
end;

Hansa 3. Aug 2005 00:40

Re: XCOPY mit Delphi nachbauen
 
Angst ? Ne. Aber Mabuse, Dein Source ist mir zu WinApi lastig. :mrgreen: Außerdem hat mein Programm einen Denkfehler. Warum soll ich das Quelllaufwerk abfragen, wenn das Setup-Programm von einer CD gestartet wird ? :zwinker: Wie komme ich nun an dieses dran, also das aktuelle ?

Delphi-Quellcode:
procedure TForm1.ErmittleAlleLW;
var
  l: byte;
begin
  l := GetLogicalDriveStrings(SizeOf(LWs), LWs);
  QuellLW := LWs [0];
So gehts nicht. Der zeigt mir dann "A" an. Habe gedacht 0 wäre immer das aktuelle. 8)

Luckie 3. Aug 2005 01:00

Re: XCOPY mit Delphi nachbauen
 
Äh, du weißt aber dass du mit ParamsStr(0) Verzeichnis und Anwendungsnamen bekommst?

bigg 3. Aug 2005 01:06

Re: XCOPY mit Delphi nachbauen
 
moin hansa,

den programmpfad bekommst du doch über ParamStr(0);


*schnipp, Lösung wieder entfernt :P*

MaBuSE 3. Aug 2005 06:38

Re: XCOPY mit Delphi nachbauen
 
Zitat:

Zitat von Hansa
Angst ? Ne. Aber Mabuse, Dein Source ist mir zu WinApi lastig. :mrgreen:

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:

Zitat von Hansa
Außerdem hat mein Programm einen Denkfehler.

Für Denkfehler im Programm ist immer der Entwickler verantwortlich. :mrgreen:

Zitat:

Zitat von Hansa
Warum soll ich das Quelllaufwerk abfragen, wenn das Setup-Programm von einer CD gestartet wird ? :zwinker: 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:
Delphi-Quellcode:
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.´
Delphi-Quellcode:
function ExtractFilePath(const FileName: string): string;
z.B.: Quelle ist das Quellverzeichnis der Daten:
Delphi-Quellcode:
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 3. Aug 2005 06:45

Re: XCOPY mit Delphi nachbauen
 
Zitat:

Zitat von bigg
*schnipp, Lösung wieder entfernt :P*

Eigentlich hast Du Recht ;-)
Es steht ja alles schon in der DP und es gibt ja die Such Funktion...

Aber jetzt wo ich das alles schon mal getippt habe, lasse ich es drin.

Hansa 3. Aug 2005 10:42

Re: XCOPY mit Delphi nachbauen
 
Ja, Paramstr (0) enthält ja auch den Laufwerksbuchstaben. 8) Wie bin ich nur darauf gekommen, da wäre nur der Pfad drin ? :gruebel:

Delphi-Quellcode:
  QuellLW := ExtractFileDrive(ParamStr (0));
  if QuellLW = '' then begin
    showmessage ('Kein CD-Laufwerk bzw. kein Laufwerksbuchstabe gefunden !'#10#13#10#13+
                 'Sollten Sie die CD mit einem gemappten Laufwerk benutzen, oder'#10#13+
                 'wollen Sie von Festplatte installieren, so lesen Sie sich bitte die Datei'#10#13+
                 'INSTALL.TXT auf der CD durch.');
    Close;
  end;
Das wäre die Mabuse-Version. Der müßte dann eben nachlesen, wo was hin muß. :mrgreen:

MaBuSE 3. Aug 2005 10:47

Re: XCOPY mit Delphi nachbauen
 
Zitat:

Zitat von Hansa
Das wäre die Mabuse-Version. Der müßte dann eben nachlesen, wo was hin muß. :mrgreen:

Nein, das ist nicht die MaBuSE Version !!!

Lies mein Post oben mal bis zum Ende.

Ich sagte das folgendes besser ist:
Delphi-Quellcode:
Quelle := ExtractFilePath(Application.ExeName)+'..\Daten\';
Ich würde es nicht so machen wie Du es mir in den Mund legst.
(Außerdem habe ich im Gegensatz zu Anderen keine Angst vor Win32 API Funktionen!)

So das musste mal gesagt werden.

[edit]
ps: Abgesehen davon würde ich in einem Pojekt keine Hardcodes verwenden, sondern z.B. den Fehlertext als ResourceString oder wenigstens als Konstante in einer "*const.pas" Unit definieren.
[/edit]

Hansa 3. Aug 2005 11:02

Re: XCOPY mit Delphi nachbauen
 
Jaja, das habe ich falsch hingeschrieben. 8) Das wäre die Version für Mabuse. In der INSTALL.TXT steht allerdings auch nur folgendes drin :

"Kopieren Sie den kompletten Ordner DEMO von der CD in ein Verzeichnis Ihrer Wahl."

Wer das nicht packt, auf den verzichte ich lieber freiwillig.

bigg 3. Aug 2005 11:38

Re: XCOPY mit Delphi nachbauen
 
So hier nochmal mal meine Variante:

Delphi-Quellcode:
function GetAppDevice: String;
var i, p: Integer; s: String;
begin
  i := 0;
  p := 0;
  s := ParamStr(0);

  if s <> '' then
  begin
    repeat
      inc(i);

      if s[i] = '\' then
      begin
        p := i;
        break;
      end;
    until s[i] = #0;
  end;

  if p = 0 then Result := '' else
  Result := Copy(s, 1, p);
end;
Zur Sicherheit könntest du am Ende DirectoryExists() aufrufen.

MaBuSE 3. Aug 2005 13:13

Re: XCOPY mit Delphi nachbauen
 
Zitat:

Zitat von bigg
So hier nochmal mal meine Variante:
...
Zur Sicherheit könntest du am Ende DirectoryExists() aufrufen.

Du hast trotzdem noch folgende Probleme:
Zitat:

Zitat von MaBuSE
...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....

Was ist wenn er dann Laufwerk C zurückgibt, aber das CD-ROM Laufwerk gar keinen eigenen Buchstaben hat und C: die Festplatte ist. ... ?

Prüfen ob der Laufwerksbuchstabe ein CD-ROM Laufwerk ist (Devicetyp) macht auch keinen Sinn, da ein Laufwerk über Netz oder einfach mit Subst gemoutet sein kann.
Code:
subst R: C:\CDROM
Das Laufwerk R: hat in dem Beispiel den Typ eines Netzwerklaufwerks.
(Obwohl es ja das in das Verzeichnis c:\CDROM gemountete lokale CD-ROM Laufwerk ist)

Das DirectoryExists sagt ja nur aus, das es das Laufwerk gibt, nicht was dahintewr steckt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 Uhr.

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