Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
goooofy
Anmeldungsdatum: 12.09.2005 Beiträge: 69
|
Verfasst am: 25.05.2006, 11:03 Titel: Diskettenlaufwerk auf Diskette überprüfen |
|
|
Hallo,
kennt jemand eine Möglichkeit, wie ich überprüfen kann, ob eine Diskette eingelegt ist, OHNE dass das Fenster "Kein Datenträger" erscheint, bei dem ich dann erst auf 'Abbruch' klicken muss, damit mein Programm weiterläuft? |
|
Nach oben |
|
|
ytwinky
Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 25.05.2006, 11:29 Titel: |
|
|
Hi goooofy,
Du brauchst nicht die Forensuche zu bemühen, ich kann mich noch gut an folgenden Beitrag erinnern:
http://forum.qbasic.at/viewtopic.php?t=2496
(Es hat länger gedauert goooofy zu schreiben, als den Beitrag zu finden..)
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
|
goooofy
Anmeldungsdatum: 12.09.2005 Beiträge: 69
|
Verfasst am: 25.05.2006, 17:04 Titel: |
|
|
Schade is dat echt so schwer? Bei QB gings doch auch problemlos: Einfach Laufwerk ansprechen und Fehlercode auswerten...
Naja, wem noch was einfällt... |
|
Nach oben |
|
|
ytwinky
Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 25.05.2006, 20:08 Titel: |
|
|
Wenn du VBSkript benutzen kannst, nimm dies: Code: | Set Fso=WScript.CreateObject("Scripting.FileSystemObject")
s=" nicht"
For Each Dr In Fso.Drives
If Dr.DriveLetter="A" And Dr.IsReady Then
s=""
Exit For
End If
Next
s="Laufwerk A ist" &s &" bereit.."
MsgBox s, vbOKOnly, "Ein VBSkript von ytwinky, MD" |
_________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
|
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 25.05.2006, 20:19 Titel: |
|
|
Ich kratz das nur mal so an: Du rufst mit
Code: | errorlevel=exec("PROGRAMM","PARAMETER") |
Das QB-Programm auf, wertest die Rückgabe aus, und fertig. Einziges Problem: In QB kann man keine Errorlevel zurückgeben ...
AUßER man verwendet den Interrupt 21h: Zuerst QuickBASIC mit der Option /l starten, und dann, am ende folgendes einfügen (muss noch getestet werden):
Code: |
'ANFANG
'$include: 'qb.bi'
dim reg(2) as RegType
'ENDE
reg(1).ax=4C01
call interrupt(21,reg(1),reg(2)
|
Das gibt den Errorlevel 1 zurück. Anpassen kann man ihn so:
ERR wird durch eine 2stellige HEX-Zahl ersetzt. I don't now. Fehler kann man gerne posten.[/code] _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
|
ytwinky
Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 25.05.2006, 20:24 Titel: |
|
|
raph ael hat Folgendes geschrieben: | Einziges Problem: In QB kann man keine Errorlevel zurückgeben ... | Es gibt aber noch eins:
Wie rufst du den Int 21h in FreeBASIC auf?
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
|
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 25.05.2006, 20:44 Titel: |
|
|
Naja... Ich würde
schreiben... Aber in FB wird ja dieser lästige Dialog angezeigt...
Neue Möglichkeit:
Das QB-Programm (das, welches das Diskettenlaufwerk überprüft) schreibt je nach Zustand etwas in eine Datei. Das FB-Programm öffnet diese, und wertet den Inhalt aus...
Sehr nützliches EDIT:
Am Anfang des Programmes folgendes schreiben:
Code: | DECLARE SUB ExitWithErrorLevel ALIAS "_exit" (BYVAL errorlevel AS INTEGER) |
SOLLTE klappen. _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 25.05.2006, 21:57 Titel: |
|
|
Zitat: | Das QB-Programm auf, wertest die Rückgabe aus, und fertig. Einziges Problem: In QB kann man keine Errorlevel zurückgeben weinen ...
AUßER man verwendet den Interrupt 21h: Zuerst QuickBASIC mit der Option /l starten, und dann, am ende folgendes einfügen (muss noch getestet werden): |
Kann man das nicht auch über eine Batchdatei machen?
Wobei, dann wirt es zum Abenteuer:
Freebasic ruft QBasic Programm auf, welches Batchdatei aufruft . _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 25.05.2006, 22:55 Titel: |
|
|
raph ael hat Folgendes geschrieben: | Einziges Problem: In QB kann man keine Errorlevel zurückgeben ... |
hab den thread nicht durchgelsen, weiß nicht obs schon ne lösung gibt....
man kann in qb ERRORLEVELS erzeugen! ich poste morgen mal den code, wenn ich ih ngefunden habe!
/edit: mist! das was raphael da gepostet hat sieht ganz nach dem code aus,den ich suchen wollt^^ _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
|