AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Lazarus (IDE) Wie Fehler bzw. Rückgabewert False abfangen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie Fehler bzw. Rückgabewert False abfangen?

Ein Thema von AlexII · begonnen am 26. Jun 2015 · letzter Beitrag vom 27. Jun 2015
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#31

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 17:17
Jetzt stehe ich auf dem Schlauch? Kann etwa GetVolumeInformation nicht erfolgreich sein.
Wenn Du zum Beispiel auf Laufwerk X prüfst und hast gar kein Laufwerk X, oder sonst einen Müll eingibst.

Siehe Sir Rufo's Post #26

Was bekommt dann Result wenn es nicht erfolgreich war?
Welches Result?

Das Deiner Funktion oder das der Funktion GetVolumeInformation?


[EDIT]
AlexII hat seinen Beitrag geändert, bevor meine Antwort auf seinen Original-Text gesendet wurde.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.

Geändert von BadenPower (26. Jun 2015 um 17:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#32

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 17:18
Moment, muss es nicht so sein? Ohne if-Abfrage?
Und wie unterscheidest Du, ob die Abfrage mit GetVolumeInformation gültig/erfolgreich war, wenn Du die If-Abfrage wegläßt?
True ist nur dann wenn Laufwerk nur lesbar?
NEIN, wenn der API-Call eine vernünftige Antwort ermitteln konnte, ansonsten steht in den Werten nämlich auch nur Grütze (weil vorher Grütze reingekommen ist).

GetVolumeInformation( PCHAR('Grütze'), ... ) .

Ach ja, RTFM -> MSDN-Doku (Link weiter oben)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (26. Jun 2015 um 17:22 Uhr)
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#33

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 17:23
Also wenn das Laufwerk beschreibbar ist, ist Result = 0(False). Und wenn unbeschreibbar = -1(True)

Delphi-Quellcode:
  if GetVolumeInformation(PChar(Root), nil, 0, nil, MaximumComponentLength, FileSystemFlags, nil, 0) then
  begin
    Result := ((FileSystemFlags and FILE_READ_ONLY_VOLUME) = FILE_READ_ONLY_VOLUME);
    showmessage(booltostr(result));
  end;
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#34

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 17:31
Also wenn das Laufwerk beschreibbar ist, ist Result = 0(False). Und wenn unbeschreibbar = -1(True)
Da gibt es doch nichts, was einem die Augen verdrehen läßt.

Du prüfst doch, ob das Flag FILE_READ_ONLY_VOLUME gesetzt ist.

Ist der Datenträger beschreibbar, dann ist das Flag FILE_READ_ONLY_VOLUME nicht gesetzt und daher lautet das Ergebnis "false" (Flag nicht gesetzt).
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#35

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 17:37
Ich glaube ich mache mal ne Pause....
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#36

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 21:05
Das umkehren von boolschen Werten ist aber auch schon High Level Programming und nur was für erfahrene Programmierer ... OMG
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#37

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 22:08
Du meinst sicher sowas hoch anspruchsvolles wie MyBoolVar := Not MyBoolVar;
Da kann ich dir nur beipflichten, ist nichts für Anfänger
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#38

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 22:21
Du meinst sicher sowas hoch anspruchsvolles wie MyBoolVar := Not MyBoolVar;
Da kann ich dir nur beipflichten, ist nichts für Anfänger
Könntest du dafür noch ein Tutorial mit Video zu machen ... das versteht doch wieder keiner
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#39

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 23:20
Das umkehren von boolschen Werten ist aber auch schon High Level Programming und nur was für erfahrene Programmierer ... OMG
Ich drehe nur das was verstehe... jetzt kann ich das auch, aber nicht vor ein Paar Stunden wo ich den Code noch verstehen versuchte.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#40

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 27. Jun 2015, 07:35
Könntest du dafür noch ein Tutorial mit Video zu machen ... das versteht doch wieder keiner
Okay, hab ich gemacht: Die Variable heißt tot, erst ist sie false, dann true, dann wieder false und dann endgültig true.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:41 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