Autor Beitrag
Delphi7Noob
Hält's aus hier
Beiträge: 11


D7 Ent.
BeitragVerfasst: Fr 05.08.05 14:32 
Hallo,

gibt es eine Möglichkeit, zu Erkennen ob ein Delphi-Programm von einer CD gestartet wird? Ich habe ein Programm geschrieben das nicht läuft, wenn es von einer CD gestartet wird, sondern nur wenn es auf die Festplatte kopiert wird. Das liegt wohl daran, dass das Programm mehrere Bitmaps, eine Textdatei und eine typisierte Datei verwendet, die schreibgeschützt sind, wenn man das Programm von einer CD startet.

Ich würde gern eine Meldung anzeigen, die anzeigt, dass das Programm auf die Festplatte kopiert werden muss. Ich hoffe ihr könnt mir helfen.

Schonmal vielen Dank.

Viele Grüsse
LigH
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 239

Win98SE, Win2000SP4
D7
BeitragVerfasst: Fr 05.08.05 14:49 
Mir fielen da zwei Möglichkeiten ein:

a) Man prüft das Laufwerk, in dem sich das gestartete Programm befindet ExtractFileDrive(ParamStr(0)), per "GetDriveType" (Win32-API-Funktion).

b) Man prüft, ob sich in dem Verzeichnis der EXE eine Datei anlegen läßt; wenn nicht, ist das Verzeichnis anscheinend schreibgeschützt (ist etwas allgemeiner als der Test auf "Laufwerkstyp: CD", weil es auch andere Gründe geben kann, dass ein Programm hier nicht schreiben darf).
Delphi7Noob Threadstarter
Hält's aus hier
Beiträge: 11


D7 Ent.
BeitragVerfasst: Fr 05.08.05 15:36 
Hi,

dank dir erstmal für den Tip.

Kann damit aber nicht wirklich was anfangen. Keine Ahnung wie man auf eine Win32-API-Funktion zugreift oder was das ist.

Und ich hab auch keine Ahnung, wie ich prüfen kann ob sich eine Datei anlegen lässt oder nicht.

Bin ein totaler Delphi-Anfänger :cry:
Alstar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 827



BeitragVerfasst: Fr 05.08.05 15:44 
Dann gibt's nur eine Möglichkeit: Lernen :twisted:

Tutorials und Code-Snippets gibts auf dsdt.info und [url]www.swissdelphicenter.ch[/url]. Außerdem gibts hier im Forum auch ein paar ganz nette FAQs :wink:

Alstar
LigH
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 239

Win98SE, Win2000SP4
D7
BeitragVerfasst: Fr 05.08.05 16:09 
Du weißt noch nicht mal, wie man eine Datei erzeugt?

Wenigstens AssignFile, ReWrite, {$I-} und IOResult lernt man eigentlich schon in den ersten paar Kapiteln jedes Delphi-Buches.
Delphi7Noob Threadstarter
Hält's aus hier
Beiträge: 11


D7 Ent.
BeitragVerfasst: Fr 05.08.05 18:04 
Dank dir für deinen überaus nützlichen Kommentar LigH. :wink:
DarkLord05
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 449

WinXP Pro SP2
Opera; Delphi 3 Pro; Delphi 2005, Turbo Delphi, dev-c++, Eclipse, MS Visual Studio .NET 2003, MS Visual C++
BeitragVerfasst: Sa 06.08.05 15:50 
Ich sag da nur folgendes:
ausblenden Delphi-Quelltext
1:
Try...Except...End;					
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Sa 06.08.05 16:21 
www.christian-stelzm...rtikel/crashkurs.htm

try except ist der schlechteste weg meiner meinung nach ...

und methode a) von Ligh ist die optimale lösung

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Sa 06.08.05 16:31 
in der FAQ gibt es z.B. was das dir helfen sollte: www.delphi-forum.de/viewtopic.php?t=134

_________________
In the beginning was the word.
And the word was content-type: text/plain.