Seite 2 von 2

Verfasst: 25.03.2009 17:48
von fen
Da ist ein Fehler beim ausführen "There is no current GadgetList" ZEILE 17.

Verstehe auch nicht woran das liegt...

Glaube das muss oben nach OpenWindow() stehen.

Code: Alles auswählen

InitSprite() 
InitSound() 

If OpenWindow(0,0,0,640,480,"Metronom",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered) 
  
  If OpenWindowedScreen(WindowID(0),0,0,480,480,0,160,0) = 0 
      TextGadget(0,490,13,80,20,"Intervall in ms") 
   SpinGadget(1,570,10,60,20,25,10000) : SetGadgetState(1,Wechsel) : SetGadgetText(1,Str(Wechsel)) 
  TextGadget(2,490,43,80,20,"Lautstärke") 
   TrackBarGadget(3,560,40,80,20,0,100) : SetGadgetState(3,100) 
  ButtonGadget(4,490,70,140,20,"Sound ändern") 
  
  ButtonGadget(5,490,100,65,20,"Hintergrund") 
  ButtonGadget(6,565,100,65,20,"Fordergrund") 
  
  ComboBoxGadget(7,490,130,140,20) 
    AddGadgetItem(7,0,"Zeiger-Metronom") : SetGadgetState(7,0) 
    AddGadgetItem(7,1,"Punkt-Metronom") 
    AddGadgetItem(7,2,"Ball-Metronom") 
;Fehler 
    End 
  EndIf 
  
  
  
  Wechsel = 1000 ;Alle 1000ms (1 sek) ein Takt 
  BackColor = $FFFFFF 
  FrontColor = $00FF00 
  Type = 0 
  
  
  
  If LoadSound(0,"C:\Programme\PureBasic\pong.wav") 
    Sound = 1 
  Else 
    Sound = -1 
  EndIf 
  
  Metronomx = ElapsedMilliseconds() 
  
  Repeat 
  
    ClearScreen(BackColor) 
  
    StartDrawing(ScreenOutput()) 
      FrontColor(FrontColor) 
      
      Select Type 
        Case 0 
          If Metrox = 1 
            LineXY(240,470,(ElapsedMilliseconds()-Metronomx)*460/Wechsel+10,10) 
          Else 
            LineXY(240,470,(Metronomx-ElapsedMilliseconds())*460/Wechsel+470,10) 
          EndIf 
        Case 1 
          If Metrox = 1 
            Circle(80,120,40+(Metronomx-ElapsedMilliseconds())*39/Wechsel) 
          Else 
            Circle(400,120,40+(Metronomx-ElapsedMilliseconds())*39/Wechsel) 
          EndIf 
        Case 2 
          If Metrox = 1 
            Circle(240+Cos((ElapsedMilliseconds()-Metronomx)*#PI/Wechsel+#PI)*200,240+Sin((ElapsedMilliseconds()-Metronomx)*#PI/Wechsel+#PI)*200,25) 
          Else 
            Circle(240+Cos((Metronomx-ElapsedMilliseconds())*#PI/Wechsel)*200,240+Sin((Metronomx-ElapsedMilliseconds())*#PI/Wechsel)*200,25) 
          EndIf 
      EndSelect 
    StopDrawing() 
  
    FlipBuffers() 
  
    If ElapsedMilliseconds()-Metronomx >= Wechsel 
      If Metrox = 1 
        Metrox = 0 
        If Sound = 1 
          SoundPan(0,100) 
        EndIf 
      Else 
        Metrox = 1 
        If Sound = 1 
          SoundPan(0,-100) 
        EndIf 
      EndIf 
    
      Metronomx = ElapsedMilliseconds() 
      If Sound = 1 
        PlaySound(0) 
      EndIf 
    EndIf 
    
    event = WindowEvent() 
    Select event 
      Case #PB_Event_CloseWindow 
        End 
      Case #PB_Event_Gadget 
        Select EventGadget() 
          Case 1 
            SetGadgetText(1,Str(GetGadgetState(1))+" ms") 
            Wechsel = GetGadgetState(1) 
          Case 3 
            If Sound <> -1 
              If GetGadgetState(3) = 0 
                Sound = 0 
              Else 
                Sound = 1 
                SoundVolume(0,GetGadgetState(3)) 
              EndIf 
            EndIf 
          Case 4 
            path$ = OpenFileRequester("Sound auswählen!","","WAV-Dateien|*.wav",0) 
            If path$ 
              If Sound = -1 
                If LoadSound(0,path$) 
                  Sound = 1 
                EndIf 
              Else 
                StopSound(0) 
                FreeSound(0) 
                If LoadSound(0,path$) = 0 
                  Sound = -1 
                EndIf 
              EndIf 
            EndIf 
          Case 5 
            buff = ColorRequester() 
            If buff > -1 
              BackColor = buff 
            EndIf 
          Case 6 
            buff = ColorRequester() 
            If buff > -1 
              FrontColor = buff 
            EndIf 
          Case 7 
            Type = GetGadgetState(7) 
        EndSelect 
    EndSelect 
  ForEver 
EndIf


Verfasst: 25.03.2009 17:56
von KeyKon
Oha, mit welcher PureBasic-Version arbeitest du?

Verfasst: 25.03.2009 18:01
von fen
Mit PB V 4.20

Verfasst: 25.03.2009 18:04
von KeyKon
Da musst du ein CreateGadgetList(WindowID(0)) unter dem Open-Window einfügen...

Verfasst: 25.03.2009 18:13
von fen
Tausend dank!!!

Das ist ja Perfekt so wie ich es mir vorgestellt habe.

Und das hast du in einer halben stunde hingekriegt! Ich habe an meinem mikrigem Programm fast ganze 3 Tage gesessen^^

Also nochmal Danke, hab ich echt nicht erwartet.

mfg
fen

Verfasst: 25.03.2009 18:16
von KeyKon
Naja, ich hoffe du gewöhnst dich nich dran, mit ein bisschen Erfahrung, is das ja kein unding, und es is in gewisser weise Relaxend schnell was kleines zu machen...
Am besten is du analysierst und entwickelst das ganze noch weiter, dabei lernt man am Anfang am meisten...
Und steig am besten auf 4.30 um ;-)

Verfasst: 26.03.2009 18:45
von Andesdaf
fen hat geschrieben:Mit PB V 4.20
Solange du nicht die neueste Version häst, wäre ein Hinweis in deiner Signatur
empfehlenswert. :wink: