Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
SwiZz0r_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 18.12.2007
Beiträge: 30

Laufwerk zeitspezifisch öffnen?
Verfasst am: 19.12.2007, 21:03

wie kann ich es machen das sich mein DVD-R Laufwerk um xx:xx öffnet?

wie muss ich das machen?
hat mir da jemand nen source code?
 
kackb00n_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 07.12.2007
Beiträge: 42


Verfasst am: 19.12.2007, 22:21

ich würds so machen:

Ein timer, der immer jede 10 sekunden macht:

Code:

if date = "12:10:00" then
'cd auf code
end if


12h 10min und 00 sekunden

Ka obs funzt Wink
 
Rausch_
Poster
Poster

Anmeldedatum: 03.11.2007
Beiträge: 164


Verfasst am: 19.12.2007, 22:34

machst du dir einen timer und als _timer macht du
Code:

If Format(Time, "HHMMSS") > 222222 Then 'anstatt 222222 nimmst du deine
'zeit, 222222 entspricht 22:22:22 uhr. also einfach die doppelpunkte wegmachen
Call mciExecute("Set CDaudio door open") ' öffnet das cd lauffwerk
End If


dazu brauchst du noch die msiExecute api:
Code:

Option Explicit
Private Declare Function mciExecute Lib "winmm.dll" (ByVal _
lpstrCommand As String) As Long


mfg
 
SwiZz0r_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 18.12.2007
Beiträge: 30


Verfasst am: 20.12.2007, 11:51

oh wow...
ich glaub das is mir noch ne nummer zu hoch...

ich behersch erst die For schleife.. und If Then, und n paar Variablen... Embarassed

ist es möglich das mir jemand nen sourcecode dafür schreibt?

mfg

edit/

so habs ma probiert... soweit bin ich gekommen xD
Code:

Option Explicit

Private Declare Function mciExecute Lib "winmm.dll" (ByVal_lpstrCommand As String) As Long


Private Sub Command1_Click()
If Format(Time, "HHMMSS") > 131602 Then 'anstatt 222222 nimmst du deine
'zeit, 222222 entspricht 22:22:22 uhr. also einfach die doppelpunkte wegmachen
Call mciExecute("Set CDaudio door open") ' öffnet das cd lauffwerk
End If

End Sub



hmm ich bekomm aber beim Programmstart folgende fehlermeldung:
http://srv4.upper-elite.com/upload/1198153614_shice.PNG
 
christopher.g_
Tutorial Leser
Tutorial Leser



Anmeldedatum: 10.12.2007
Beiträge: 72


Verfasst am: 20.12.2007, 14:17

hi
naja is nicht so schwer
hab mal meinen bruder sehr mit so einem cd öffnen schließen prog geärgert
^^

ok du brauchst 1 timer und 1 label
weiters
chreibst einfach
Code:

   Private Declare Function mciSendString Lib "winmm.dll" Alias _
      "mciSendStringA" (ByVal lpstrCommand As String, ByVal _
      lpstrReturnString As String, ByVal uReturnLength As Long, _
      ByVal hwndCallback As Long) As Long             'is die deklaration für cd laufwerk zum öffnen und schließen

Private Sub Form_load()
  Label1.caption = ""             'für ein leeres label
  Timer1.interval = 1000        '(millisek) dass sich die zeit automatisch jede sek erneuert
End Sub

Private Sub Timer1_timer()
 Label1.Caption = time
End Sub

Private Sub Label1.change()
If Label1.caption = "13:55:20" then
   retvalue = mciSendString("set CDAudio door open", _returnstring, 127, 0)
End if
End Sub



naja wenn du halt dann noch möchtest kannst ja noch einen butten machen mit dem das laufwerk dann wieder geschlossen wird...
Code:

Private Sub Command1_Click()
      retvalue = mciSendString("set CDAudio door closed", _returnstring, 127, 0)
   End Sub


ja naja wenn noch was unklar is meldest dich halt nochmal
lg
remember:
ein wahrer freund ersticht dich von vorne
 
SwiZz0r_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 18.12.2007
Beiträge: 30


Verfasst am: 20.12.2007, 14:44

hmm danke aber da tut sich noch nix... das einzige was ich damit erreicht habe ist das jetzt die zeit angezeigt wird....

http://upper-elite.com/v2/viewer.php?id=1198158248_shice.PNG
 
toilette_
Coder
Coder

Anmeldedatum: 20.10.2007
Beiträge: 86


Verfasst am: 20.12.2007, 16:04

Code:
Option Explicit
Private Declare Function mciExecute Lib "winmm.dll" (ByVal _
lpstrCommand As String) As Long

Private Sub Form_Load()
Timer1.Interval = 1000 '=1sek
Timer1.Enabled = True 'timer ist angeschaltet
End Sub

Private Sub Timer1_Timer()

If Format(Time, "HHMMSS") > 222222 Then 'anstatt 222222 nimmst du deine zeit, 222222 entspricht 22:22:22 uhr. also einfach die doppelpunkte wegmachen

Call mciExecute("Set CDaudio door open") ' öffnet das cd lauffwerk
End If

End Sub


so. nätürlich muss ein timer in der form sein. den code zum öffnen des laufwerks kommt ausm 2. post -> kA ob der geht
 
SwiZz0r_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 18.12.2007
Beiträge: 30


Verfasst am: 20.12.2007, 17:27

hmm sieht wohl so aus als ob der code ausem 2ten post nich geht...
 
toilette_
Coder
Coder

Anmeldedatum: 20.10.2007
Beiträge: 86


Verfasst am: 20.12.2007, 18:00

probier das mal: http://www.vbarchiv.net/archiv/tipp_239.html
 
Rausch_
Poster
Poster

Anmeldedatum: 03.11.2007
Beiträge: 164


Verfasst am: 20.12.2007, 19:24

also bei mir wird das laufwerk auch geöffnet wenn die zeit schon um ist.
bei mir geht das auch, also werd ich den code mach noch genauer erklären:
also du machst einen timer auf deiner form. bei dem stellst du den intervall ein. der intervall (in milisecunden) ist die zeit die das programm wartet bis es das ereignis Private Sub Timer1_Timer() aufruft. also stell den intervall mal zum test auf 500 oder ähnliches.
Code:

Option Explicit
Private Declare Function mciExecute Lib "winmm.dll" (ByVal _
lpstrCommand As String) As Long

das braucht man um das cd laufwerk öffnen zu können
Code:

Call mciExecute("Set CDaudio door open")

öffnet das cd laufwerk, bei mir zumindest.

Code:

If Format(Time, "HHMMSS") > 222222

also Time ist die aktuelle systemzeit beispielsweise 19:11:12, also im format HH:MM:SS
der befehl format(time, "HHMMSS") macht jetzt 19:11:12 zu 191112 vom typ integer oder long. ein guter wert zu rechnen , also schauen wir einfach ob diese zahl größer ist als die uhrzeit die wir wollen.
das timer event prüft das jetzt jede halbe sekunde ob das so ist, wenn ja also wenn die zeit die wir wollen vorbei ist, dann wird das cd laufwerk geöffnet.
so noch mal ein vollstäniger code zum abschreiben:
Code:

'also du brauchst einen buttton, eine textbox, und einen timer
Option Explicit
Private Declare Function mciExecute Lib "winmm.dll" (ByVal _
lpstrCommand As String) As Long

Private Sub Command1_Click()
Timer1.Interval = 500
Timer1.Enabled = True
End Sub

Private Sub Form_Load()
Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
If Format(Time, "HHMMSS") > Val(Text1.Text) Then
'val verwandelt einen string in einen integer
Call mciExecute("Set CDaudio door open") ' öffnet das cd lauffwerk
Timer1.Enabled = False
End If
End Sub

mfg
 
SwiZz0r_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 18.12.2007
Beiträge: 30


Verfasst am: 20.12.2007, 21:10

hmm den code verstehe ich so... der ergiebt ja auch sinn

hab jetzt alles so gemacht wies da steht...

aber sobald ich auf den button klicke freezt das programm...

(Keine Rücknmeldung) -.-

noch wer ne idee?
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 20.12.2007, 21:33

Es wird wohl ein DoEvents im Timer fehlen.
Und jede Sekunde überprüfen wird wohl auch reichen.
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
SwiZz0r_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 18.12.2007
Beiträge: 30


Verfasst am: 20.12.2007, 23:37

hmm auch so... immer noch das gleiche... der programm Freezt

sollte ein E6700 2GB ram 8800GTX nich oder?^^
 
toilette_
Coder
Coder

Anmeldedatum: 20.10.2007
Beiträge: 86


Verfasst am: 21.12.2007, 10:25

das kann ja auch nicht funktionieren, wenn der timer sich selbst wieder aus stellt:

Zitat:
Private Sub Timer1_Timer()
If Format(Time, "HHMMSS") > Val(Text1.Text) Then
'val verwandelt einen string in einen integer
Call mciExecute("Set CDaudio door open") ' öffnet das cd lauffwerk
Timer1.Enabled = False '###################################
End If
End Sub


nimm das Timer1.Enabled = False da mal raus

probier doch mal einfach per button aus, ob isich dein laufwerk öffnet. dann weißt du auch ob das dann klappt
 
Rausch_
Poster
Poster

Anmeldedatum: 03.11.2007
Beiträge: 164


Verfasst am: 21.12.2007, 11:20

ja der timer beendet sich aber nur wenn die zeit um ist, sonst öffnet der ja dauernd das laufwerk, sobald die zeit um ist.
bei mir geht das (512mb ram, 2ghz).weiß auch nicht warum das bei euch net geht, probiert mal nur das cd lauffwerk zu öffnen wenn man auch nen button drückt, villeicht liegts ja da dran
mfg
 
SwiZz0r_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 18.12.2007
Beiträge: 30


Verfasst am: 21.12.2007, 21:00


hmm also auch wenn ich nur nen button nehme freezt der pc -.-

dann liegts wohl an mir -.-"
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: laufwerk, öffnen, öffnet

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [Umfrage] Scelus Trojaner (Source Code) 2367 06.10.2007, 11:54
Keine neuen Beiträge Code Snippets 765 13.09.2008, 14:22
Keine neuen Beiträge Code für Pc Herunterfahren?? 3211 17.06.2007, 22:02
Keine neuen Beiträge Code bestimmen, während Laufzeit 784 07.06.2007, 11:49
Keine neuen Beiträge [Text] Source code snippets 2893 06.04.2007, 18:14
 


[ Time: 0.1491s ][ Queries: 127 (0.0758s) ][ GZIP on - Debug on ]