Aktuelle Zeit: 11.12.2017 20:44

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Programm beenden im Main Loop ? Case Abfrage !
BeitragVerfasst: 02.08.2017 10:51 
Offline

Registriert: 20.08.2014 12:06
Hallo an alle hier im Forum.
Folgender Code Schnipsel funktioniert, aber meine Frage ist ob ich diesen Code
verkleinern kann ?
Code:
 Case #Button_Exit
             Result = MessageRequester("Exit Program !", "Close Program ?"+#CRLF$+"Feedback to"+#CRLF$+"OscarGolf3@gmail.com", #PB_MessageRequester_YesNo | #PB_MessageRequester_Info   ) 
                  If Result = #PB_MessageRequester_Yes       ; Ja-Schalter wurde gedrückt dann Exit Programm
                     Quit = 1                     
                  End    
                  EndIf
              EndSelect     
            Case #PB_Event_CloseWindow                ; Ereignis des Fensters
               Result = MessageRequester("Exit Program !", "Close Program ?"+#CRLF$+"Feedback to"+#CRLF$+"OscarGolf3@gmail.com", #PB_MessageRequester_YesNo | #PB_MessageRequester_Info   ) 
                  If Result = #PB_MessageRequester_Yes       ; Ja-Schalter wurde gedrückt dann Exit Programm
                     Quit = 1                     
                  End    
                  EndIf

ButtonGadget (#Button_Exit) beendet das Programm !
Close Window beendet auch das Programm !
In der Hilfe habe ich gelesen das man Case Zuweisungen Verschachteln kann !?!
aber das funktioniert bei mir nicht.
Und ganz großen Dank an MIB (kann alles weiß alles usw.)
Die Auto Abspielfunktion in meinem Media Player (ExplorerListGadget) Funktioniert.....
und auch an TS-Soft (Thomas Schmidt)
für den Wrapper (ich glaube so nennt man das ?) LibZPlay() .dll

Noch eine Frage ,
Mit dem Befehl DIM() (FFTArray) erstelle ich ein Array von z.B. 32 Werten.
Ich lese jetzt das Array folgendermaßen aus
Code:
Global Dim FFTArray.i(31)

Array Größe 32 ? also 0-31 = 32 Werte ?
das Array sind Integer Werte .
Das Auslesen erreiche ich durch Beispiel Code:
Code:
        ProgressBarGadget(15,5,440,400,20,0,100)
        ProgressBarGadget(16,5,460,400,20,0,100)
        ProgressBarGadget(17,5,480,400,20,0,100)
        ProgressBarGadget(18,5,500,400,20,0,100)

                SetGadgetState(15,FFTArray(0))
               SetGadgetState(16,FFTArray(1))
               SetGadgetState(17,FFTArray(2))
               SetGadgetState(18,FFTArray(3))

usw.
Meine Frage ist, um das Array auszulesen muss ich jeden Wert des Arrays hier 0-31 einzeln abfragen,
oder kann ich das auch z.b. in eine Grafische Funktion umwandeln?
z.B. Befehl
Code:
LineXY() bzw. Box()

So nochmals vielen Dank an MIB und TS-Soft.
Gruß Torr !


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm beenden im Main Loop ? Case Abfrage !
BeitragVerfasst: 02.08.2017 10:57 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
Torr hat geschrieben:
In der Hilfe habe ich gelesen das man Case Zuweisungen Verschachteln kann !?!

Du kannst deine Beenden-Abfrage in eine Prozedur verschieben, die du wiederverwenden kannst:
Code:
EnableExplicit

Define Quit

Procedure Exit()
  Protected Result
 
  Result = MessageRequester("Exit Program !", "Close Program ?"+#CRLF$+"Feedback to"+#CRLF$+"OscarGolf3@gmail.com", #PB_MessageRequester_YesNo | #PB_MessageRequester_Info   )
  If Result = #PB_MessageRequester_Yes       ; Ja-Schalter wurde gedrückt dann Exit Programm                 
    ProcedureReturn 1
  EndIf
EndProcedure

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ButtonGadget(1, 10, 10, 100, 20, "Beenden", 0)
 
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_Gadget
        Select EventGadget()
          Case 1
            Quit = Exit()
        EndSelect
      Case #PB_Event_CloseWindow
        Quit = Exit()
    EndSelect
  Until Quit
EndIf


Oder du benutzt BindEvent.

_________________
BildBildBildBild
Bild | EnableExplicit ist kostenlos und vermeidet Fehler | Gib Goto keine Chance | Schneller als die Telekom erlaubt | Avira? Nein Danke
WinAPI forever | Bei Problemen bitte Beispielcode posten | Mit Adblock werbefrei, schneller und sicherer surfen | brain.exe ist der beste Schutz | Userlibrary ohne Source = NoGo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm beenden im Main Loop ? Case Abfrage !
BeitragVerfasst: 02.08.2017 11:13 
Offline

Registriert: 29.08.2004 13:18
Torr hat geschrieben:
Das Auslesen erreiche ich durch Beispiel Code:
Code:
        ProgressBarGadget(15,5,440,400,20,0,100)
        ProgressBarGadget(16,5,460,400,20,0,100)
        ProgressBarGadget(17,5,480,400,20,0,100)
        ProgressBarGadget(18,5,500,400,20,0,100)

                SetGadgetState(15,FFTArray(0))
               SetGadgetState(16,FFTArray(1))
               SetGadgetState(17,FFTArray(2))
               SetGadgetState(18,FFTArray(3))


Tip: Ich würde nicht mehr mit festen Gadgetnummern arbeiten sondern nur mit #PB_Any.
Code:
  dim GProgress(31)
 y=440
  for i=0 to 31
    GProgress(i)= ProgressBarGadget(#pb_any,5,y,400,20,0,100):y+20
    SetGadgetState(GProgress(i),FFTArray(i) )
  next
 debug y ; ab diesen Wert kannst du weiterarbeiten. Wird aber ein großes Fenster
 ; Tipp, wenn du zweispaltig arbeiten willst: Zeile=i % 15: Spalte= i/15


Code:
usw.
Meine Frage ist, um das Array auszulesen muss ich jeden Wert des Arrays hier 0-31 einzeln abfragen,
oder kann ich das auch z.b. in eine Grafische Funktion umwandeln?


Verstehe die Frage nicht, aber du kannst eine For-Next-Schleife benutzen.

_________________
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm beenden im Main Loop ? Case Abfrage !
BeitragVerfasst: 02.08.2017 11:22 
Offline
Moderator
Benutzeravatar

Registriert: 15.06.2008 18:22
Wohnort: vorhanden
Torr hat geschrieben:
Meine Frage ist, um das Array auszulesen muss ich jeden Wert des Arrays hier 0-31 einzeln abfragen,
oder kann ich das auch z.b. in eine Grafische Funktion umwandeln?
z.B. Befehl
Code:
LineXY() bzw. Box()


das geht nicht direkt per Funktionsaufruf, das musst du per Hand machen. Für eine einfache Darstellung
ist das aber relativ schnell erledigt.

_________________
Win10 x64 | PB 5.61 (x86 und x64)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm beenden im Main Loop ? Case Abfrage !
BeitragVerfasst: 02.08.2017 11:37 
Offline

Registriert: 20.08.2014 12:06
Nun wollte ich mich bei allen Bedanken, die mir auf meine Frage geantwortet haben,aber
ich glaube das ich zu Doof bin, mich hier im Chat-Forum zu unterhalten.
Habe
RS-Basic
GPI
Andesdaf

geantwortet kann aber meine Antworten nicht lesen ???

Glaub ich bin zu Alt...... :oops:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm beenden im Main Loop ? Case Abfrage !
BeitragVerfasst: 02.08.2017 11:47 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Chat-Forum? Meinst du die privaten Nachrichten?

_________________
Freakscorner.de - Der Bastelkeller | Neustes Video: Tevo Tarantula 3D-Drucker von Gearbest (Aufbau und Review)
Ubuntu Gnome 16.04.3 LTS x64, PureBasic 5.60 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm beenden im Main Loop ? Case Abfrage !
BeitragVerfasst: 02.08.2017 13:10 
Offline

Registriert: 20.08.2014 12:06
Hallo Nic the Quick
nein nicht im Privaten Chat Bereich jetzt hier im Lokalem...
Ahh jetzt alles, klar man nehme den Antwort Button...
bin ich blöd...
Sorry an alle..... :roll:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm beenden im Main Loop ? Case Abfrage !
BeitragVerfasst: 02.08.2017 17:31 
Offline
Benutzeravatar

Registriert: 11.08.2005 19:08
Torr hat geschrieben:
Folgender Code Schnipsel funktioniert, aber meine Frage ist ob ich diesen Code
verkleinern kann ?
Code:
...
Zum Beispiel so:
Code:
  Case #Button_Exit
    PostEvent(#PB_Event_CloseWindow, EventWindow())
  EndSelect
Case #PB_Event_CloseWindow                ; Ereignis des Fensters
  Result = MessageRequester("Exit Program !", "Close Program ?"+#CRLF$+"Feedback to"+#CRLF$+"OscarGolf3@gmail.com", #PB_MessageRequester_YesNo | #PB_MessageRequester_Info   )
  If Result = #PB_MessageRequester_Yes       ; Ja-Schalter wurde gedrückt dann Exit Programm
    Quit = 1
    End
  EndIf

_________________
Bild

PureBasic-CodeArchiv-Rebirth: Git-Repository / Download -- Jede Hilfe ist willkommen!

Manjaro Xfce x64 (Hauptsystem) :: WindowsXP/Xubuntu x86 (VirtualBox) :: PureBasic (Linux: x86/x64, Windows: x86) :: jeweils neueste Version


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Programm beenden im Main Loop ? Case Abfrage !
BeitragVerfasst: 03.08.2017 14:42 
Offline

Registriert: 20.08.2014 12:06
Vielen Dank Sicro !
Ja dein Code funktioniert !

Vielen,vielen Dank ! :D


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 7 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye