Laufwerk auswerfen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Pure-r-Freak
Beiträge: 74
Registriert: 08.03.2005 13:40

Beitrag von Pure-r-Freak »

kann mir den noch jemand sagen wie ich in der console scrollen kann?
:allright:
Benutzeravatar
Pure-r-Freak
Beiträge: 74
Registriert: 08.03.2005 13:40

Beitrag von Pure-r-Freak »

kann mir einer helfen?
wie kann ich am besten den den status des laufwerks abfragen (zu auf)


mit meinen versuch geht es nicht besonders zuverlässig
:cry:

Code: Alles auswählen


OpenConsole()

If InitCDAudio() = 0 
  MessageRequester("Error", "kein laufwerk gefunden", 0) 
  End 
EndIf 

Repeat 

eject$=Input() 
PrintN("")

If eject$="open" 
UseCDAudio(0) 
EjectCDAudio(1) 
status$=""
status$ = "offen" 
EndIf 
If eject$="close" 
UseCDAudio(0) 
EjectCDAudio(0)
status$=""
status$ = "zu" 
EndIf 

If status$="offen"
PrintN("ist offen")
ElseIf status$="zu" 
 PrintN("ist zu") 
ElseIf status$<>"offen" And status$<>"zu"
PrintN(""+(status$)+"")
EndIf  


Until Quit=1

Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> wie kann ich am besten den den status des laufwerks abfragen (zu auf)

den Status kann man meiner Meinung nach nicht zuverlässig abfragen, weil
der Anwender ja auch die Möglichkeit hat, die Eject-Taste am Laufwerk
manuell zu betätigen und mir bisher kein Code bekannt ist, mit dem man das
ermitteln kann.

Grüße ... Kiffi
pogi02
Beiträge: 131
Registriert: 30.10.2004 00:52
Wohnort: Österreich
Kontaktdaten:

Beitrag von pogi02 »

Hallo

Naja man kann schon abfragen ob es geöffnet ist und zwar mit CDAudioStatus() dieser Befehl hat 3 Rückgabewerte

-1: CD-Laufwerk nicht fertig (leer oder geöffnet)
0: CD-Laufwerk angehalten (aber die CD ist eingelegt und erkannt)
>0: Nummer des Audio-Tracks, der gerade abgespielt wird.

Also bei dem Rückgabewert -1 kann das Laufwerk offen sein aber der nachteil ist es kann auch keine CD im Laufwerk sein

Es ginge schon nur du müsstes 2 Abfragen machen zuerst ob es nicht fertig ist trifft dieses zu musst du noch eine Abfrage machen ob eine CD eingelegt wurde.

Ich weiss aber nicht obs wirklich Funktioniert habs nicht getestet
Benutzeravatar
Pure-r-Freak
Beiträge: 74
Registriert: 08.03.2005 13:40

Beitrag von Pure-r-Freak »

wie meinst du das?
pogi02 hat geschrieben: Es ginge schon nur du müsstes 2 Abfragen machen zuerst ob es nicht fertig ist trifft dieses zu musst du noch eine Abfrage machen ob eine CD eingelegt wurde.
pogi02
Beiträge: 131
Registriert: 30.10.2004 00:52
Wohnort: Österreich
Kontaktdaten:

Beitrag von pogi02 »

Hallo

Nunja

ergebniss = CDAudioStatus()

If ergebniss = 0 ;Hier weiss das Programm das eine CD eingelegt wurde und erkannt wurde
If ergebniss = -1 ;Und hier prüft man ob das Laufwerk bereit ist. Da eine CD drin ist (wurde ja vorhin geprüft) kann es nur mehr offen sein
isopen = 1
Else
isopen = 0
EndIf
EndIf


Das ist nur ein Beispiel ich weiss nicht ob das auch wirklich Funktioniert, musst halt mal probieren

EDIT:

Kann gar net gehen da ja nur einmal ein Rückgabewert da ist looool. Wo war ich denn da mit meinen Kopf
Zuletzt geändert von pogi02 am 17.07.2005 01:29, insgesamt 1-mal geändert.
MfG pogi02

- www.apware.net
Aktuelles Projekt:
-
Benutzeravatar
Pure-r-Freak
Beiträge: 74
Registriert: 08.03.2005 13:40

Beitrag von Pure-r-Freak »

ich werd das mal checken

:bluescreen:
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Hab mich jetzt auch mal mit dem Problem beschäftigt. Und kam auf folgende Lösung:

Code: Alles auswählen

CD=InitCDAudio()-1
Repeat
For t = 0 To CD
  UseCDAudio(t)
  Start=ElapsedMilliseconds()
  EjectCDAudio(1)
  Debug ElapsedMilliseconds()-Start
  If ElapsedMilliseconds()-Start<300
    EjectCDAudio(0)
  EndIf
Next
ForEver
Benutzeravatar
Sylvia
verheiratet<br>1. PureGolf-Gewinner
Beiträge: 487
Registriert: 29.08.2004 09:42
Wohnort: Old Europe

Beitrag von Sylvia »

"Laufwerk auswerfen" ? Geht das überhaupt ?? <)
Basic Pur = PureBasic
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Sylvia hat geschrieben:"Laufwerk auswerfen" ? Geht das überhaupt ?? <)
Hab mich auch gefragt: Ist das nicht gefährlich? Aber geh mal in dein Arbeitsplatz und klick rechts auf dein CD Laufwerk, da steht auch "Auswerfen".

[EDIT]
Habs ausprobiert, es passiert nicht viel, nur das Laufwerk geht auf.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten