Fehler bei OpenFileRequester()
Verfasst: 28.07.2005 22:54
Hallo, ich... mal wieder....
ähm ich habe Folgendes Problem.
Ich habe hier Folgenden Code
So wenn ich nun bei dem Fenster, was da entsteht, mehrere Files auswähle, dann fehlen immer ein oder ewei Einträge, warum? liegt das daran das ich so mistig programmiere? Kann ja nix dafür bin ja immerhin Anfänger.. hab auch schon viele Probleme alleine gelöst aber das bekomme ich mal wieder nicht hin... das ist wie das ReSizen der einzelnen Gadgets wenn sich das Fenster ReSized..... aber das ist ja jetzt nicht das Thema.
Danke für jede hilfe
EDIT
Hier mal der ganze Source
ähm ich habe Folgendes Problem.
Ich habe hier Folgenden Code
Code: Alles auswählen
File$ = OpenFileRequester("Lied auswählen", "c:\","MpegLayer3 (*.mp3)|*.mp3",0,#PB_Requester_MultiSelection)
If NextSelectedFileName() <> ""
While File$
File$ = NextSelectedFileName()
ListID.l = CountGadgetItems(#Playlist)
If File$ <> ""
AddGadgetItem(#Playlist,ListID,File$,0)
EndIf
Wend
Else
ListID.l = CountGadgetItems(#Playlist)
If ListID <> 0
AddGadgetItem(#Playlist,ListID,File$,0)
Else
AddGadgetItem(#Playlist,0,File$,0)
EndIf
EndIf
Danke für jede hilfe
EDIT
Hier mal der ganze Source
Code: Alles auswählen
; PureBasic Visual Designer v3.90 build 1361
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#Playlist
#LOAD
#PLAY
#PAUSE
#RESUME
#STOP
#QUIT
#TIME_Total
#Slash
#TIME_Current
EndEnumeration
;- Audio Constants
;
Enumeration
#AUDIO_ID
EndEnumeration
; BalloonTip Constants
#TOOLTIP_NO_ICON = 0
#TOOLTIP_INFO_ICON = 1
#TOOLTIP_WARNING_ICON = 2
#TOOLTIP_ERROR_ICON = 3
Procedure BalloonTip(WindowID, Gadget, Text$ , Title$, Icon)
ToolTip=CreateWindowEx_(0,"ToolTips_Class32","",#WS_POPUP | #TTS_NOPREFIX | #TTS_BALLOON,0,0,0,0,WindowID,0,GetModuleHandle_(0),0)
SendMessage_(ToolTip,#TTM_SETTIPTEXTCOLOR,GetSysColor_(#COLOR_INFOTEXT),0)
SendMessage_(ToolTip,#TTM_SETTIPBKCOLOR,GetSysColor_(#COLOR_INFOBK),0)
SendMessage_(ToolTip,#TTM_SETMAXTIPWIDTH,0,180)
Balloon.TOOLINFO\cbSize=SizeOf(TOOLINFO)
Balloon\uFlags=#TTF_IDISHWND | #TTF_SUBCLASS
Balloon\hWnd=GadgetID(Gadget)
Balloon\uId=GadgetID(Gadget)
Balloon\lpszText=@Text$
SendMessage_(ToolTip, #TTM_ADDTOOL, 0, Balloon)
If Title$ > ""
SendMessage_(ToolTip, #TTM_SETTITLE, Icon, @Title$)
EndIf
EndProcedure
If OpenWindow(#Window_0, 270, 233, 359, 204, #PB_Window_SizeGadget | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_WindowCentered , "MP3-Player")
;AdvancedGadgetEvents(#True)
If CreateGadgetList(WindowID())
ButtonGadget(#LOAD, 0, 180, 60, 25, "Laden")
BalloonTip(WindowID(), #LOAD, "Musikstück laden", "", #TOOLTIP_NO_ICON)
ListViewGadget(#Playlist, 0, 0, 360, 165)
BalloonTip(WindowID(), #Playlist, "PlayList", "", #TOOLTIP_NO_ICON)
ButtonGadget(#PLAY, 60, 180, 60, 25, "Abspielen")
BalloonTip(WindowID(), #PLAY, "Musikstück abspielen", "", #TOOLTIP_NO_ICON)
ButtonGadget(#PAUSE, 120, 180, 60, 25, "Anhalten")
BalloonTip(WindowID(), #PAUSE, "Musikstück anhalten", "", #TOOLTIP_NO_ICON)
ButtonGadget(#RESUME, 180, 180, 60, 25, "Fortsetzen")
BalloonTip(WindowID(), #RESUME, "Musikstück fortsetzen", "", #TOOLTIP_NO_ICON)
ButtonGadget(#STOP, 240, 180, 60, 25, "Stop")
BalloonTip(WindowID(), #STOP, "Musikstück stoppen", "", #TOOLTIP_NO_ICON)
ButtonGadget(#QUIT, 300, 180, 60, 25, "Beenden")
BalloonTip(WindowID(), #QUIT, "Player Beenden", "", #TOOLTIP_NO_ICON)
TextGadget(#TIME_Total, 55, 165, 45, 15, "00:00:00")
BalloonTip(WindowID(), #TIME_Total, "Zeit Total", "", #TOOLTIP_NO_ICON)
TextGadget(#Slash, 45, 165, 10, 15, "/")
BalloonTip(WindowID(), #Slash, "Slash ? O.o :D ;)", "", #TOOLTIP_NO_ICON)
TextGadget(#TIME_Current, 0, 165, 45, 15, "00:00:00")
BalloonTip(WindowID(), #TIME_Current, "Verstrichene Zeit", "", #TOOLTIP_NO_ICON)
EndIf
w = WindowWidth ()
h = WindowHeight()
Repeat
EventID.l = WindowEvent()
If EventID = #PB_Event_SizeWindow
fx.f = WindowWidth() / w
fy.f = WindowHeight() / h
ResizeGadget(#Playlist, GadgetX(#Playlist)*fx , GadgetY(#Playlist)*fy, GadgetWidth(#Playlist)*fx, GadgetHeight(#Playlist)*fy)
For i=#LOAD To #TIME_Current
ResizeGadget(i, -1 , GadgetY(i)*fy, -1, -1)
Next
w = WindowWidth ()
h = WindowHeight()
EndIf
If EventID = #PB_Event_CloseWindow
Quit.l = 1
EndIf
If EventID = #WM_KEYDOWN
If EventwParam() = #VK_Escape
Quit.l = 1
EndIf
EndIf
If IsAudioZPlaying(#AUDIO_ID) = #False
Delay(25)
EndIf
If IsAudioZPlaying(#AUDIO_ID)
SetGadgetText(#TIME_Current, PositionAudioZTime(Current))
Delay(25)
EndIf
Current.l = GetAudioZState(#AUDIO_ID)
If Current=Total And Play = 1
StopAudioZ(#AUDIO_ID)
FreeAudioZ(#AUDIO_ID)
If CountGadgetItems(#Playlist)=GetGadgetState(#Playlist)
SetGadgetState(#Playlist,0)
Else
SetGadgetState(#Playlist,GetGadgetState(#Playlist)+1)
EndIf
OpenAudioZ(#AUDIO_ID,GetGadgetItemText(#Playlist,GetGadgetState(#Playlist),0))
PlayAudioZ(#AUDIO_ID)
Total.l = GetAudioZLength(#AUDIO_ID)
SetGadgetText(#TIME_Total, PositionAudioZTime(Total))
Play.l = 1
EndIf
If EventID = #PB_Event_Gadget
Select EventGadgetID()
Case #LOAD
File$ = OpenFileRequester("Lied auswählen", "c:\","MpegLayer3 (*.mp3)|*.mp3",0,#PB_Requester_MultiSelection)
If NextSelectedFileName() <> ""
While File$
File$ = NextSelectedFileName()
ListID.l = CountGadgetItems(#Playlist)
If File$ <> ""
AddGadgetItem(#Playlist,ListID,File$,0)
EndIf
Wend
Else
ListID.l = CountGadgetItems(#Playlist)
If ListID <> 0
AddGadgetItem(#Playlist,ListID,File$,0)
Else
AddGadgetItem(#Playlist,0,File$,0)
EndIf
EndIf
Case #QUIT
Quit.l = 1
Case #PLAY
If IsAudioZPlaying(#AUDIO_ID)
MessageRequester("Fehler","Es wird zuzeit noch ein Lied gespielt.")
Else
OpenAudioZ(#AUDIO_ID,GetGadgetItemText(#Playlist,GetGadgetState(#Playlist),0))
PlayAudioZ(#AUDIO_ID)
Total.l = GetAudioZLength(#AUDIO_ID)
SetGadgetText(#TIME_Total, PositionAudioZTime(Total))
EndIf
Play.l = 1
Case #STOP
Play.l = 0
StopAudioZ(#AUDIO_ID)
FreeAudioZ(#AUDIO_ID)
Case #RESUME
Play.l = 1
ResumeAudioZ(#AUDIO_ID)
Case #PAUSE
Play.l = 0
PauseAudioZ(#AUDIO_ID)
Case #Playlist
If #PB_EventType_LeftDoubleClick=EventType()
RemoveGadgetItem(#Playlist,GetGadgetState(#Playlist))
EndIf
EndSelect
EndIf
Until Quit=1
EndIf