Warum klappen ein paar tasten nicht?

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

DA

Betreff: Warum klappen ein paar tasten nicht?

BeitragMi, Jul 07, 2004 19:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

Ich habe eine mp3 player programmiert. (Kennt ihr wahrscheinlich schon)
Auf jeden fall klappt die loop taste nicht und die pause taste nicht!
Vieleicht könnt ihr mir weiter helfen.

Zitat:
Global Win1
Global Button1
Global Button2
Global Button3
Global CheckBox1
Global CheckBox2
Global Button4
Global Button5
Global box
Global buttonplus
Global label
Global buttonminus

CreateWin1()
gal = WriteFile("Repeat.txt")
CloseFile gal

bo = WriteFile("nichts.txt")
WriteLine bo, "100"
CloseFile bo


.ife
wert = FileType("Verzeichnis.txt")
If wert = 0 Then
a = WriteFile("Verzeichnis.txt")
WriteLine a, "nichts!"
CloseFile a
pfad$ = RequestDir ("Wähle dein Musik Verzeichnis!")
g = WriteFile ("Verzeichnis.txt")
If pfad$ = "" Then
WriteLine g, "nichts!"
CloseFile g
Goto ife
EndIf
WriteLine g, pfad$
b$ = pfad$
CloseFile g
dir = ReadDir(b$)

Repeat
f$ = NextFile(dir)
AddGadgetItem box, f$
If f$ = "" Then Exit
Forever
CloseDir dir


Else

a = OpenFile("Verzeichnis.txt")
b$ = ReadLine(a)
If b$ = "nichts!" Then
CloseFile a
DeleteFile "Verzeichnis.txt"
Goto ife
EndIf
CloseFile a

dir = ReadDir(b$)

Repeat
f$ = NextFile(dir)
AddGadgetItem box, f$
If f$ = "" Then Exit
Forever
CloseDir dir
EndIf




.schleife

While WaitEvent()<>$803

If EventID()=$401

If EventSource()=box
anzahl = CountGadgetItems(box)
selected = SelectedGadgetItem(box)
For hoi = 1 To anzahl
Select selected
Case hoi
fuckit$ = GadgetItemText (box, hoi)
ch$ = "\"
fuck$ = b$ + ch$ + fuckit$
datei$ = fuck$
End Select
Next
EndIf
EndIf

If EventSource() = buttonplus Then
ca = OpenFile("nichts.txt")
texta = ReadLine(ca)
CloseFile ca
If texta = "100" Then Goto schleife
texter = texta + 1
For one = 1 To 100
Select texter
Case one
da$ = "0." + texter
de = WriteFile("nichts.txt")
WriteLine de, texter
ChannelVolume kanal, da$
SetGadgetText label, texter + "%"
End Select
Next
CloseFile de
EndIf



If EventSource() = buttonminus Then
ca = OpenFile("nichts.txt")
texta = ReadLine(ca)
CloseFile ca
If texta = "1" Then Goto schleife
texter = texta - 1
For one = 1 To 100
Select texter
Case one
da$ = "0." + texter
de = WriteFile("nichts.txt")
WriteLine de, texter
ChannelVolume kanal, da$
SetGadgetText label, texter + "%"
End Select
Next
CloseFile de
EndIf



If EventSource()=button1
.play
If ChannelPlaying(kanal) = 1 Then StopChannel(kanal)
kanal = PlayMusic (datei$)
EndIf


If EventSource()=button2
If ChannelPlaying(kanal) = 1 Then
PauseChannel kanal
SetGadgetText button2, "Replay"
Goto endeif
Else
If ChannelPlaying(kanal) = 0 Then
ResumeChannel kanal
SetGadgetText button2, "Pause"
EndIf
EndIf
EndIf



If EventSource()=button3
If ChannelPlaying(kanal) = 1 Then StopChannel(kanal)
EndIf

If EventSource()=button4
pfad$ = RequestDir ("Wähle dein Musik Verzeichnis!")
gh = WriteFile("Verzeichnis.txt")
WriteLine gh, pfad$
b$ =pfad$
CloseFile gh
ClearGadgetItems box
dir = ReadDir(b$)

Repeat
f$ = NextFile(dir)
AddGadgetItem box, f$
If f$ = "" Then Exit
Forever
CloseDir dir

EndIf


If EventSource()=checkbox2
Goto game
EndIf


If EventSource() = checkbox1
gal = OpenFile("Repeat.txt")
hul$= ReadLine (gal)
If hul$ = "" Then
WriteLine gal, "On"
CloseFile gal
SetGadgetText checkbox1, "Repeat On"
If ChannelPlaying(kanal) = 1 Then StopChannel(kanal)
kanal = PlayMusic(datei$, 1)
Goto endeif
EndIf

If hul$ = "On" Then
CloseFile gal
SetGadgetText checkbox1, "Repeat On"
gal = WriteFile("Repeat.txt")
WriteLine gal, "Off"
CloseFile gal
Goto play
EndIf

If hul$ = "Off" Then
WriteLine gal, "On"
CloseFile gal
SetGadgetText checkbox1, "Repeat Off"
If ChannelPlaying(kanal) = 1 Then StopChannel(kanal)
kanal = PlayMusic(datei$, 1)
Goto endeif
EndIf
EndIf
.Endeif


Wend
End





Function CreateWin1()
Win1 = CreateWindow("Music Player",222,171,350,350,Desktop(),7)
Button1 = CreateButton("Play",9,54,55,30,Win1,0)
SetGadgetLayout Button1,1,0,1,0
Button2 = CreateButton("Pause",92,57,50,20,Win1,0)
SetGadgetLayout Button2,1,0,1,0
Button3 = CreateButton("Stop",151,57,50,20,Win1,0)
SetGadgetLayout Button3,1,0,1,0
CheckBox1 = CreateButton("Repeat Off", 172,4,100,20,Win1,1)
SetGadgetLayout CheckBox1,1,0,1,0
CheckBox2 = CreateButton("Game ",9,3,100,20,Win1,1)
SetGadgetLayout CheckBox2,1,0,1,0
Button4 = CreateButton("Add Titles",210, 57, 50, 20, win1, 0)
box = CreateListBox (15, 100, 320, 150, win1, 0)
buttonplus = CreateButton ("+", 275, 260, 40, 20, win1, 1)
label = CreateLabel ("100%", 160, 260, 30, 20, win1, 3)
buttonminus = CreateButton ("-", 25, 260, 40, 20, win1, 1)
End Function
[/b]
Deutscher Blitz Basic Chat

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragFr, Jul 09, 2004 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
mich wundert es nicht das dir hier keiner hilft,
>>> 10 x Goto <<<= SPAGETTICODE-Extrem
keiner steigt hier so schnell durch ....

versuch mal die gotos zu eleminieren und benutze Status Variablen
wie ...
PauseAktiv = 1
und mach dir FUnctionen zum speichern und laden
und vergess nicht den Code einzurücken dann wird vieles einacher!

Hier mal ein TipCode: [AUSKLAPPEN]

If EventID()=$401

Select EventSource()
::case box

::Case buttonplus

..usw
End select
[BB2D | BB3D | BB+]

DA

BeitragFr, Jul 09, 2004 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber ich glaube dadurch lappen die tasten immer noch nicht?
Deutscher Blitz Basic Chat

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragFr, Jul 09, 2004 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, ist schon klar...
wenn du pausechannel benutzt
ist ChannelPlaying(kanal) = 1 immer noch aktiv!
deswegen klappert das bei dir nicht!

ersetzt mal deinen Code mit diesem teil
Code: [AUSKLAPPEN]
If EventSource()=button2 Then ;PauseButton
   If ChannelPlaying(kanal) = 1
      If  Pause = 0 Then
         PauseChannel kanal
         SetGadgetText button2, "Replay"
         Pause = 1
      Else
         ResumeChannel kanal
         SetGadgetText button2, "Pause"
         Pause = 0
      EndIf          
      ;Goto endeif

   End If
EndIf
Dann geht schon mal die Pause Taste
[BB2D | BB3D | BB+]

DA

BeitragFr, Jul 09, 2004 18:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Da hätte ich eigentlich auch drauf kommen müssen!
Deutscher Blitz Basic Chat

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group