Warum?
- Tsuki-Namida
- Beiträge: 633
- Registriert: 17.11.2005 13:27
- Kontaktdaten:
Warum?
Hallo,
Warum kommt hier:
Until Event = #PB_Event_CloseWindow
Der Fehler:
Another 'End Condition'operand is expected here
???????????
Warum kommt hier:
Until Event = #PB_Event_CloseWindow
Der Fehler:
Another 'End Condition'operand is expected here
???????????
- freedimension
- Admin
- Beiträge: 1987
- Registriert: 08.09.2004 13:19
- Wohnort: Ludwigsburg
- Kontaktdaten:
1.) wo ist hier?
2.) bitte in zukunft einen aussagekrätigeren titel wählen.
3.) bitte in zukunft den source ebenfalls mitposten.
4.) dir fehlt (vermutlich) irgendwo ein EndIf.
c ya,
nco2k

2.) bitte in zukunft einen aussagekrätigeren titel wählen.
3.) bitte in zukunft den source ebenfalls mitposten.
4.) dir fehlt (vermutlich) irgendwo ein EndIf.
c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Steht doch da, es fehlt entweder ein EndIf oder Du hast vielleicht gar kein Repeat. Wenn Du Deinen Source immer sauber formatierst, passiert sowas nicht 

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- Tsuki-Namida
- Beiträge: 633
- Registriert: 17.11.2005 13:27
- Kontaktdaten:
ein EndIf fehlt nicht... wenn ich eins rein mache sagt er mir das ein EndIf zufiel ist.....
Code: Alles auswählen
; PureBasic Visual Designer v3.92 build 1460
Procedure.s GetExePath()
Prg.s = Space(#MAX_PATH)
GetModuleFileName_(GetModuleHandle_(0), @Prg, #MAX_PATH)
Prg = GetPathPart(Prg)
If (FindString(prg,"\PureBasic\Compilers\", 1))
Prg.s = Space(#MAX_PATH)
GetCurrentDirectory_(#MAX_PATH,@Prg)
EndIf
If Right(Prg, 1) <> "\" : Prg + "\" : EndIf
ProcedureReturn Prg
teste$ = Prg.s
EndProcedure
IncludeFile "RadioFenster.pb"
IncludeFile "winamp.pbi"
init = init_winamp("in_mp3.dll","out_wave.dll",hWindow)
If init=0
Winamp_SetVolume(25)
;SetGadgetState(#TrackBar_0,1)
ReadFile(0,"Conf.ini")
temp$ = ReadString()
vol.l = Val(temp$)
Debug vol
tempvol.l = 255
tempvol / 10
tempvol * vol
Winamp_SetVolume(tempvol)
;SetGadgetState(#TrackBar_0,vol)
EndIf
Open_Radio()
;Open_Add_URL()
;Dir.s = PathRequester("Bitte (WebRadio Dateien *.wr) Verzeichnis öffnen. ", "")
Dir.s = GetExePath()
Dir + "Listen\"
Dir + "Privat Webradio\"
Debug Dir
If ExamineDirectory(50, Dir, "*.wr")
While NextDirectoryEntry()=1
AddGadgetItem(#Listview_0,-1,DirectoryEntryName())
Wend
EndIf
Dir.s = GetExePath()
Dir + "Listen\"
Dir + "Rundfunk Webradio\"
Debug Dir
If ExamineDirectory(50, Dir, "*.wr")
While NextDirectoryEntry()=1
AddGadgetItem(#Listview_0,-1,DirectoryEntryName())
Wend
EndIf
Dir.s = GetExePath()
Dir + "Listen\"
Dir + "Eigene Sender\"
Debug Dir
If ExamineDirectory(50, Dir, "*.wr")
While NextDirectoryEntry()=1
AddGadgetItem(#Listview_0,-1,DirectoryEntryName())
Wend
EndIf
Debug GetGadgetState(#Combo_0) ;GetGadgetState(#Combo_0)
Repeat ; Start of the event loop
Event = WaitWindowEvent() ; This line waits until an event is received from Windows
Delay(1)
WindowID = EventWindowID() ; The Window where the event is generated, can be used in the gadget procedures
GadgetID = EventGadgetID() ; Is it a gadget event?
EventType = EventType() ; The event type
;You can place code here, and use the result as parameters for the procedures
If EventType = #PB_EventGadget
Debug GetGadgetState(#Combo_0)
ClearGadgetItemList(#Listview_0)
Dir.s = GetExePath()
If GetGadgetState(#Combo_0)=0
alle.l = 1
ElseIf GetGadgetState(#Combo_0)=1
Dir + "Listen\Rundfunk Webradio\"
ElseIf GetGadgetState(#Combo_0)=2
Dir + "Listen\Privat Webradio\"
EndIf
If alle = 1
Dir + "Listen\Rundfunk Webradio\"
If ExamineDirectory(50, Dir, "*.wr")
While NextDirectoryEntry()=1
AddGadgetItem(#Listview_0,-1,DirectoryEntryName())
Dir + "Listen\Privat Webradio\"
If ExamineDirectory(50, Dir, "*.wr")
While NextDirectoryEntry()=1
AddGadgetItem(#Listview_0,-1,DirectoryEntryName())
If alle = 0
Debug Dir
If ExamineDirectory(50, Dir, "*.wr")
While NextDirectoryEntry()=1
AddGadgetItem(#Listview_0,-1,DirectoryEntryName())
Wend
EndIf
EndIf
If Event = #PB_EventGadget
If GadgetID = #Listview_0
If EventType() = #PB_EventType_LeftDoubleClick
If Play.l = 1
Winamp_Stop()
EndIf
a.s=GetGadgetItemText(#Listview_0,GetGadgetState(#Listview_0),0)
If a.s<>""
;If ReadFile(0,"Dir+a")
ReadFile(0,Dir+a)
url$ = ReadString()
Debug ReadString()
CloseFile(0)
hPlay=Winamp_Play(url$)
Play.l=1
;Else
;MessageRequester("Fehler","Konnte eventuell den File nicht finden",0) ; wir schliessen den file was nicht unbedingt sein muss da es PB automat. schliesst
EndIf
Debug url$
EndIf
EndIf
ElseIf EventType() = #PB_EventType_LeftClick
a.s=GetGadgetItemText(#Listview_0,GetGadgetState(#Listview_0),0)
If a.s<>""
;If ReadFile(0,"Dir+a")
ReadFile(0,Dir+a)
url$ = ReadString()
Debug ReadString()
CloseFile(0)
EndIf
EndIf
;EndIf
If Event = #PB_EventGadget
If GadgetID = #Play
If Play = 1
Winamp_Stop()
EndIf
hPlay=Winamp_Play(url$)
Play.l=1
ElseIf GadgetID = #Stop
Winamp_Stop()
Play.l=0
ElseIf GadgetID = #Config
winamp_outconfig(WindowID())
ElseIf GadgetID = #Neu
Open_Add_URL()
ElseIf GadgetID = #TrackBar_0
If init=0
tempvol.l = 255
tempvol / 10
tempvol * GetGadgetState(#TrackBar_0)
;tempvol * 10
;OpenFile(0,"Conf.ini")
;WriteStringN(GetGadgetText(#TrackBar_0))
;CloseFile(0)
Winamp_SetVolume(tempvol)
Debug tempvol
EndIf
;Debug GetGadgetState(#TrackBar_0)
ElseIf GadgetID = #Mute
Winamp_SetVolume(25)
SetGadgetState(#TrackBar_0,1)
ElseIf GadgetID = #String_0
ElseIf GadgetID = #String_1
ElseIf GadgetID = #Ok
name$ = "Listen\"
name$ + GetGadgetText(#String_1)
name$ + ".wr"
Debug name$
If OpenFile(0,name$)
WriteStringN(GetGadgetText(#String_0))
CloseFile(0)
CloseWindow(#Add_URL)
ClearGadgetItemList(#Listview_0)
Dir.s = GetExePath()
Dir + "Listen\"
Debug Dir
If ExamineDirectory(50, Dir, "*.wr")
While NextDirectoryEntry()=1
AddGadgetItem(#Listview_0,-1,DirectoryEntryName())
Wend
EndIf
Else
MessageRequester("Fehler","Fehler beim schreiben der Datei!",0)
;GetGadgetText(#String_1)
EndIf
ElseIf GadgetID = #Abbrechen
CloseWindow(#Add_URL)
EndIf
EndIf
Until Event = #PB_Event_CloseWindow ; End of the event loop
End
Zuletzt geändert von Tsuki-Namida am 01.12.2005 19:46, insgesamt 1-mal geändert.
- freedimension
- Admin
- Beiträge: 1987
- Registriert: 08.09.2004 13:19
- Wohnort: Ludwigsburg
- Kontaktdaten:
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
6 Schleifen oder If abfragen sind nicht geschlossen
Mach mal, wirste schon finden

Mach mal, wirste schon finden

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Code: Alles auswählen
While NextDirectoryEntry()=1
AddGadgetItem(#Listview_0,-1,DirectoryEntryName())
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
>> Fehlt hier nen "wend" ?
Eins ????
Eins ????
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

du musst schon wissen wo die EndIf's und Wend's fehlen. diese darfst du natürlich nicht einfach so irgendwo hinklatschen.
ausserdem würde ich mir einfach mal dieses beispiel hier anschauen:
vielleicht kannst du das als vorlage benützen um in zukunft, dein source besser verwalten zu können.
c ya,
nco2k

ausserdem würde ich mir einfach mal dieses beispiel hier anschauen:
Code: Alles auswählen
; Beispiel Umgang mit mehreren Fenstern (Kaskadierung)
; PAMKKKKK 21.September.2005
; PB 3.94.
;- Window Constants
Enumeration
#Window_0
#Window_1
#Window_2
EndEnumeration
;- Gadget Constants
Enumeration
#Text_0_1
#Text_1_1
#Text_2_1
#Button_0_1
#Button_1_1
#Button_1_2
#Button_2_1
EndEnumeration
; Die Fenster verpackt man, in Proceduren
; damit man Sie bei bedarf aufrufen kann
Procedure Open_Window_0() ; Hauptfenster
If OpenWindow(#Window_0, 200, 200, 200, 100, #PB_Window_SystemMenu | #PB_Window_TitleBar , "Fenster 0") = 0
MessageRequester("Fehler!", "Fehler beim öffenen von Fenster 0")
ProcedureReturn 0 ; bei Fehler raus aus der Procedure
EndIf
If CreateGadgetList(WindowID()) = 0
MessageRequester("Fehler!", "Gadget Liste Fenster 0 konte nicht erstellt werden!")
ProcedureReturn 0 ; bei Fehler raus aus der Procedure
EndIf
TextGadget(#Text_0_1, 10, 10, 180, 20, "Klicken für Fenster 1",#PB_Text_Center )
ButtonGadget(#Button_0_1, 65, 60, 70, 30, "Aufmachen")
ProcedureReturn 1 ; alles OK
EndProcedure
Procedure Open_Window_1()
If OpenWindow(#Window_1, 220, 220, 200, 100, #PB_Window_SystemMenu | #PB_Window_TitleBar , "Fenster 1") = 0
MessageRequester("Fehler!", "Fehler beim öffenen von Fenster 1")
ProcedureReturn 0 ; bei Fehler raus aus der Procedure
EndIf
If CreateGadgetList(WindowID()) = 0
MessageRequester("Fehler!", "Gadget Liste Fenster 1 konte nicht erstellt werden!")
ProcedureReturn 0 ; bei Fehler raus aus der Procedure
EndIf
TextGadget(#Text_1_1, 10, 10, 180, 20, "Willst du noch´n Fenster ?",#PB_Text_Center )
ButtonGadget(#Button_1_1, 15, 60, 70, 30, "Abbruch")
ButtonGadget(#Button_1_2, 115, 60, 70, 30, "Weiter")
ProcedureReturn 1 ; alles OK
EndProcedure
Procedure Open_Window_2()
If OpenWindow(#Window_2, 240, 240, 200, 100, #PB_Window_SystemMenu | #PB_Window_TitleBar , "Fenster 2") = 0
MessageRequester("Fehler!", "Fehler beim öffenen von Fenster 2")
ProcedureReturn 0 ; bei Fehler raus aus der Procedure
EndIf
If CreateGadgetList(WindowID()) = 0
MessageRequester("Fehler!", "Gadget Liste Fenster 2 konte nicht erstellt werden!")
ProcedureReturn 0 ; bei Fehler raus aus der Procedure
EndIf
TextGadget(#Text_2_1, 10, 10, 180, 20, "Nun ist aber gut!",#PB_Text_Center )
ButtonGadget(#Button_2_1, 65, 60, 70, 30, "Zurück")
ProcedureReturn 1 ; alles OK
EndProcedure
; nun folgen die Proceduren die zur Steuerung des Fensterwechsel nötig sind
Procedure Change_to_Window_1() ; Fenster 1 öffnen und wechseln
; Fenster 0 deaktivieren (nicht schliessen)
EnableWindow_(WindowID( #Window_0), #False)
;Fenster 0 sendet nun keine ereignisse mehr (ragiert nicht mehr)
Open_Window_1() ; Fenster 1 Öffnen
EndProcedure
Procedure Close_Window_1() ; Fenster 1 schliessen
CloseWindow(#Window_1) ; Fenster 1 schliessen
EnableWindow_(WindowID( #Window_0), #True) ; Fenster 0 wieder Aktivieren (Windows API)
UseWindow(#Window_0) ; Fenster 0 benutzen
ActivateWindow() ; Fenster 0 nach vorne holen falls es Hinter anderen Fenstern war
EndProcedure
Procedure Change_to_Window_2() ; Fenster 2 öffnen und wechseln
; Fenster 1 deaktivieren (nicht schliessen)
EnableWindow_(WindowID( #Window_1), #False)
;Fenster 1 sendet nun keine ereignisse mehr (ragiert nicht mehr)
Open_Window_2() ; Fenster 2 Öffnen
EndProcedure
Procedure Close_Window_2() ; Fenster 2 schliessen
CloseWindow(#Window_2) ; Fenster 2 schliessen
EnableWindow_(WindowID( #Window_1), #True) ; Fenster 1 wieder Aktivieren (Windows API)
UseWindow(#Window_1) ; Fenster 1 benutzen
ActivateWindow() ; Fenster 1 nach vorne holen falls es Hinter anderen Fenstern war
EndProcedure
;***********************************************
;- Programm start
;***********************************************
Open_Window_0() ; Hauptfenster öffnen
;***********************************************
;- Fenster Behandlung
;***********************************************
Repeat
EventID = WaitWindowEvent() ; Welches Ereignisse trat auf
WinID = EventWindowID() ; Welches der Fenster (Nummer) sendet das ereignis?
Select EventID ; Start der Ereignis Behandlung (Fenster und Gadget)
; Fenster Behandlung:
Case #PB_Event_CloseWindow ; Wenn das Ereignis "Fenster schliessen" ist
Select WinID ; Welches hat Fenster schliessen gesendet?
Case #Window_0 ; Es war Fenster 0 (es kann nur geschlossen werden wenn es Aktiv ist)
End ; Wenn Fenster 0 zu schliessen ist dann PROGRAMM ENDE.
Case #Window_1 ; Es war Fenster 1
Close_Window_1() ; Fenster 1 zumachen und zu Fenster 0 wechseln
Case #Window_2 ; Es war Fenster 2
Close_Window_2() ; Fenster 2 zumachen und zu Fenster 1 wechseln
EndSelect ; Ende der Fenster Behandlung
; Gadget Behandlung:
Case #PB_EventGadget ; Wenn das Ereignisvon einem Gadget kam
GadgetID = EventGadgetID() ; Gadgetnummer rausbekommen das gesendet hat
Select GadgetID ; Nach Gadgetnummer reagieren
Case #Button_0_1 ; Es war Knopf 0_1
Change_to_Window_1() ; Fenster 0 deaktiviern und zu Fenster 1 wechseln
Case #Button_1_1 ; Es war Knopf 1_1
Close_Window_1() ; Fenster 1 schliessen zurück zu Fenster 0
Case #Button_1_2 ; Es war Knopf 1_2
Change_to_Window_2() ; Fenster 1 deaktiviern und zu Fenster 2 wechseln
Case #Button_2_1 ; Es war Knopf 1_2
Close_Window_2() ; Fenster 2 schliessen zurück zu Fenster 1
EndSelect ; Ende der Gadget Behandlung
EndSelect ; Ende der Ereignis Behandlung
ForEver ; Endet nur wenn Fenster 0 geschlossen wird.
End
c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.