Aktuelle Zeit: 24.10.2019 02:11

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 21 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags: Texte innerhalb einer Schleife anzeigen und String einlesen
BeitragVerfasst: 03.05.2019 16:04 
Offline

Registriert: 26.04.2019 10:31
Wohnort: Mühldorf am Inn
Hallo an die Gemeinde,
ich arbeite fast ausschliesslich mit Linux und hab viele kleine Progrämmchen in XBasic geschrieben.
Leider funktioniert der Compiler nicht auf einer 64 Bit Plattform und mit einem Wrapper zu arbeiten ist net das wahre.
Gambas ist zwar recht und schön, nur muss hier die Umgebung installiert sein und Standalone Programme sind auch nicht möglich.

Mein erstes PB Projekt hab ich nahezu 1:1 von XBasic übernommen, es ist eine Oberfläche für youtube-dl
Vielleicht kann jemand einen Blick drüber werfen, denn das Programm verhält sich an mehreren Stellen nicht wie es sollte.
SetGadgetText(#LabAdr) sollte an mehreren Stellen unterschiedliche Texte ausgehen, das funktioniert nicht innerhalb der Schleife, warum k.A.
Ausserdem wollte ich den Rückgabestring (Titel des Videos, Interpret) von youtube-dl auslesen und in dem Label anzeigen lassen. Im Debug Fenster wird der Titel angezeigt, nur wie krieg ich's ausgelesen?

Danke schon mal im Vorab -- Kurt

Hier mal der komplette Code:

Code:
; GUI DESIGNER V 0.3 Alpha

; Windows
Enumeration
  #Form100
EndEnumeration

; Menu
Enumeration
  #Menu_200
EndEnumeration

; MenuItem
Enumeration
EndEnumeration

; Gadget
Enumeration
  #DL01_1 = 1
  #DL01_2 = 2 
  #DL01_3 = 3 
  #DL01_4 = 4
  #DL01_5 = 5
  #DL01_6 = 6 
  #DL01_7 = 7
  #DL01_8 = 8 
  #DL01_9 = 9 
  #BtnAdd
  #BtnDownload
  #BtnDel
  #BtnClear
  #BtnExit
  #LabAdr
  #BtnYesNo
 
EndEnumeration


Procedure Open_Form100()
 
  OpenWindow(#Form100, 1157, 162, 600, 440, "Youtube Downloader", $2)
    ; Menüliste
    If CreateImageMenu(#Menu_200, WindowID(#Form100))
    EndIf

    ; Gadgetliste
    CheckBoxGadget(#DL01_1, 0, 0, 500, 25, "")
    CheckBoxGadget(#DL01_2, 0, 25, 500, 25, "")   
    CheckBoxGadget(#DL01_3, 0, 50, 500, 25, "")   
    CheckBoxGadget(#DL01_4, 0, 75, 500, 25, "")   
    CheckBoxGadget(#DL01_5, 0, 100, 500, 25, "")   
    CheckBoxGadget(#DL01_6, 0, 125, 500, 25, "")   
    CheckBoxGadget(#DL01_7, 0, 150, 500, 25, "")
    CheckBoxGadget(#DL01_8, 0, 175, 500, 25, "")   
    CheckBoxGadget(#DL01_9, 0, 200, 500, 25, "")   
    ButtonGadget(#BtnAdd, 0, 270, 100, 25, "Hinzufügen")
    ButtonGadget(#BtnDownload, 100, 270, 100, 25, "Download")
    ButtonGadget(#BtnDel, 200, 270, 100, 25, "Löschen")
    ButtonGadget(#BtnClear, 300, 270, 100, 25, "Lösche Alles")
    ButtonGadget(#BtnExit, 500, 270, 100, 25, "Ende")
    TextGadget(#LabAdr, 0, 233, 600, 25, "")
    StringGadget(#LabAdr, 0, 233, 600, 25, "")
    CheckBoxGadget(#BtnYesNo,470,233,50,25, "Ich bin sicher")
    HideGadget(#BtnYesNo,1)
 
  EndProcedure

Open_Form100()

Define.l Event, EventWindow, EventGadget, EventType, EventMenu

  Dim DlList.s(10)

 
; Event Schleife

Repeat
  Event = WaitWindowEvent()
  Select Event
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Case #PB_Event_Menu
      EventMenu = EventMenu()
      ; Menü
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      ; Gadget
      If EventGadget = #BtnAdd             
              Gosub AddAdresse
      ElseIf EventGadget = #BtnDownload
              Gosub Download       
      ElseIf EventGadget = #BtnDel
              DelFlag = 1
              Gosub Delete
      ElseIf EventGadget = #BtnClear
              Gosub ClearAll 
      ElseIf EventGadget = #BtnExit
              Gosub Programmende
      ElseIf EventGadget = #LabAdr

      EndIf
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ToolBar


; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      ; Window
      If EventWindow = #Form100
        CloseWindow(#Form100)
          End
       ; Break
      EndIf
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  EndSelect
 
 
 ForEver
 
 
Programmende:
  CloseWindow(#Form100)
  End
  Return
 
 
AddAdresse:
          HideGadget(#BtnYesNo,1) 
Adress$ = GetGadgetText (#LabAdr)           ; Adresse aus dem Textlabel
      If Adress$ = ""
          Return                            ; Es wurde nichts verändert
      EndIf
     
    For i=1 To 9     
      If (GetGadgetText (i)) = ""           ; Wenn der Platz noch frei ist
          SetGadgetText ((i), Adress$)      ; Adresse in die Tabelle schreiben
          SetGadgetText (#LabAdr, "")
            Return
       EndIf     
    Next

Return



Download:

HideGadget(#BtnYesNo,1) 
Marker = 0

For i=1 To 9     
    If (GetGadgetState (i)) = 1           ; wenn selektiert
      Marker=1                            ; setze Flag
    EndIf     
Next
 
    If Marker = 0
        SetGadgetText (#LabAdr, "Kein Download selektiert oder vorhanden!")         
        Return                            ; Abbruch wenn nichts markiert
    EndIf

    For i=1 To 9

    Adress$ = GetGadgetText (i)
   
    SetGadgetText(#LabAdr, "Lade " + Adress$)

;MessageRequester ("info", name + parameter)

mypgm= RunProgram("/usr/local/bin/youtube-dl", Chr(32) + Chr(34) + Adress$ + Chr(34), ".",  #PB_Program_Open|#PB_Program_Read)
;RunProgram("/usr/local/bin/youtube-dl", Chr(32) + Chr(34) + Adress$ + Chr(34), ".",  #PB_Program_Open|#PB_Program_Read)   
Repeat
    Debug ReadProgramString(mypgm)
    SetGadgetText(#LabAdr, "Lade " + Adress$)       
Until Not ProgramRunning(mypgm)

SetGadgetText(#LabAdr, "fertig")

Next

For i=1 To 9
      SetGadgetText ((i), "")             ; Textfeld und
      SetGadgetState ((i),0)              ; Status löschen
Next
   
      SetGadgetText (#LabAdr, "")  ; Label mit Standardtext füllen
      SetGadgetState (#BtnYesNo,0)        ; Flag für Auswertung löschen
      HideGadget(#BtnYesNo,1)             ; Button verstecken

Return


Delete:

Marker = 0
If DelFlag = 1
HideGadget(#BtnYesNo,1) 
EndIf

For i=1 To 9     
    If (GetGadgetState (i)) = 1           ; wenn selektiert
      Marker=1                            ; setze Flag
    EndIf     
Next
 
    If Marker = 0
        SetGadgetText (#LabAdr, "Kein Download selektiert oder vorhanden!")         
        Return                            ; Abbruch wenn nichts markiert
    EndIf
 
          HideGadget(#BtnYesNo,0)         ; Button sichtbar machen
         
          If (GetGadgetState(#BtnYesNo)) = 0
             SetGadgetText (#LabAdr, "Löschen markierter Downloads hier bestätigen: ")         
          Return
    EndIf
   
For i=1 To 9
    If (GetGadgetState (i)) = 1           ; wenn der Satus 1
      SetGadgetText ((i), "")             ; Text löschen
      SetGadgetState ((i),0)              ; und Staus zurück setzen
    EndIf
Next
 
    SetGadgetText (#LabAdr, "Markierte Downloads gelöscht!")
    SetGadgetState(#BtnYesNo,0)           ; Flag für Auswertung löschen
    HideGadget(#BtnYesNo,1)               ; Button verstecken
         
Return


ClearAll:

    HideGadget(#BtnYesNo,0) 

    If (GetGadgetState(#BtnYesNo)) = 0
          SetGadgetText (#LabAdr, "Löschen aller Downloads hier bestätigen: ")         
          Return
    EndIf
   
For i=1 To 9
      SetGadgetText ((i), "")             ; Textfeld und
      SetGadgetState ((i),0)              ; Status löschen
Next
   
      SetGadgetText (#LabAdr, "")  ; Label mit Standardtext füllen
      SetGadgetState (#BtnYesNo,0)        ; Flag für Auswertung löschen
      HideGadget(#BtnYesNo,1)             ; Button verstecken

Return
     
; IDE Options = PureBasic 5.70 LTS (Linux - x86)
; CursorPosition = 164
; FirstLine = 155
; Folding = -
; EnableXP


Edit by NicTheQuick: Code-Tags gesetzt

_________________
Wenn einem die einfachen Dinge net einfallen, klappt's meistens umständlich...


Zuletzt geändert von Sommertv am 04.05.2019 23:48, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Mein erstes PB Projekt und gleich einige Fragen
BeitragVerfasst: 03.05.2019 18:28 
Offline

Registriert: 29.10.2011 16:54
Hallo,

was mir auffällt, das sowohl das TextGadget als auch das Stringgadget mit der gleichen Nummer #LabAdr erzeugt werden und auch auf der gleichen Stelle.
Das macht in meinen Augen keinen Sinn, da dann nur das Stringgadget anzusprechen ist.
Weiterhin empfehle ich nicht Gadgets über andere zu legen, da dies bei verschiedenen Systemen unterschiedlich aussehen kann (in Windows ist z.B. das -Ich bin mir sicher- nicht anwählbar)

Zum Thema Rückgabestring:
Dieser wird keiner Variable zugewiesen, wie willst Du sie weiter auslesen?

Gruß

Stefan


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Mein erstes PB Projekt und gleich einige Fragen
BeitragVerfasst: 03.05.2019 18:36 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Tips...

1. Alle Variabeln definieren. Siehe Global , Define, Protected
2. EnableExplicit verwenden
3. Nicht Gosub/Return verwenden. Siehe 'Procedure : ProcedureReturn : EndProcedure'

P.S. Bei Linux X64 musst du auch die 64Bit Version von Purebasic verwenden.

Folgende Libraries müssen noch installiert werden.
Zitat:
Purebasic
---------
sudo apt-get install build-essential gcc g++

sudo apt-get install libxxf86vm-dev libxine2-dev unixodbc-dev libsdl1.2-dev libsdl2-dev

sudo apt-get install libgtk2.0-dev libgtk-3-dev libwebkitgtk-dev libwebkitgtk-3.0-dev libwebkit2gtk-4.0-dev


Subsystem qt
------------
sudo apt-get install qtbase5-dev qttools5-dev qtmultimedia5-dev qtdeclarative5-dev libqt5svg5-dev libqt5webkit5-dev libqt5multimedia5-plugins


Ubuntu Gnome 18.xx (For PB-IDE)
-------------------------------
sudo apt install libcanberra-gtk-module

Obsoleted
---------
;sudo apt-get install libgnome2-dev
;sudo apt-get install libgnomeprintui2.2-dev libxine-dev


Ubuntu missing default libs (Without developer packets)
-------------------------------------------------------
gtk2
- sudo apt-get install libgtk2.0
gtk3
- sudo apt-get install libwebkitgtk-3.0
qt
- sudo apt install qt5-default

_________________
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Mein erstes PB Projekt und gleich einige Fragen
BeitragVerfasst: 03.05.2019 18:47 
Offline
Benutzeravatar

Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg
Ich habe den Code mal unter Windows laufen lassen und mir fällt als erstes auf, dass das Fenster nicht sichtbar ist. Man sieht nur den entsprechenden Button in der Taskleiste.

Das ganze liegt an dem Flag $2 bei Open Window. Was soll $2 unter Linux bewirken? (ich mag jetzt nicht alle möglichen #PB_Window_... Konstanten durch-debuggen)
Code:
OpenWindow(#Form100, 157, 162, 600, 440, "Youtube Downloader", $2)

Gruß Kurzer

_________________
"Never run a changing system!"
PB 5.62, OS: Windows 7 Pro x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Ich bin Baujahr 1968, also aktuell 51.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Mein erstes PB Projekt und gleich einige Fragen
BeitragVerfasst: 03.05.2019 19:20 
Offline

Registriert: 13.05.2010 09:26
Wohnort: Berlin
Im Anfänger-Forum werden zumeist Fragen gestellt, das muss nicht durch Erwähnung im Thread-Titel hervorgehoben werden. Und ob es sich um jemandes erstes oder ggf. zweites Projekt handelt spielt hier auch keine Rolle.

Kann der OP oder ein Moderator bitte den Thread-Titel so ändern, dass er etwas mit dem Thema des Threads zu tun hat? Das erleichtert Anderen später das Suchen. Danke im Voraus!

_________________
Dieser Satz ist falsch.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Mein erstes PB Projekt und gleich einige Fragen
BeitragVerfasst: 04.05.2019 07:47 
Offline

Registriert: 26.04.2019 10:31
Wohnort: Mühldorf am Inn
Guten Morgen,

wie kann man denn das Thema nachträglich verschieben?

Was $2 betrifft: das wurde so vom GUI Designer eingefügt, ich hab das nicht weiter beachtet weil laufen tut's ja soweit.

Wegen dem Text und String Gadget: In irgend einem anderen Beitrag wurde das so empfohlen, übereinander zu legen, weil sonst die Texteingabe nicht sichtbar ist. Anfangs hat die Texteingabe nicht funktioniert, schätze typischer Anfängerfehler, hab gestern das TextGadget ausgeblendet und es funktioniert auch ohne. -- Danke

Wegen dem Rückgabestring: das genau will ich ja von euch wissen, einen String dafür festlegen ist ja kein Problem. Der Rückgabewert sollte in dem StringGadget angezeigt werden.

Schöne Grüsse
Kurt

_________________
Wenn einem die einfachen Dinge net einfallen, klappt's meistens umständlich...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Mein erstes PB Projekt und gleich einige Fragen
BeitragVerfasst: 04.05.2019 08:16 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Deutschland::Berlin()
Sommertv hat geschrieben:
wie kann man denn das Thema nachträglich verschieben?

Du sollst das Thema nicht verschieben, sondern den Titel deines Themas ändern, in dem du ganz nach oben scrollst und auf den Button drückst: Bild
Im Beitragseditor einfach in der ersten Eingabeleiste neben "Betreff" den Titel in einen passenden Titel umschreiben.
Der Titel soll kurz dein Problem beschreiben.

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Mein erstes PB Projekt und gleich einige Fragen
BeitragVerfasst: 04.05.2019 09:51 
Offline

Registriert: 13.05.2010 09:26
Wohnort: Berlin
@Sommertv:

Ich schlage vor, du pflegst erstmal deine inzwischen vorgenommenen Änderungen sowie die ganz grundlegenden Tipps von mk-soft (s.o.) in den Code ein und postest ihn dann wieder hier. So geht es Schritt für Schritt voran.

_________________
Dieser Satz ist falsch.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Mein erstes PB Projekt und gleich einige Fragen
BeitragVerfasst: 04.05.2019 10:04 
Offline
Benutzeravatar

Registriert: 06.07.2014 12:21
@Sommertv
Zitat:
Der Rückgabewert sollte in dem StringGadget angezeigt werden

bevor deine frage hier unter geht !
der befehle wäre SetGadgetText(#Gadget,Stringvariable) diesen benutzt du ja auch schon.

und was Mk-Soft schon sagte !
hier ein Beispiel für die verwendung einer Procedure anstelle eines Gosub : Return

Code:
Procedure ClearAll()
    HideGadget(#BtnYesNo,0)

    If (GetGadgetState(#BtnYesNo)) = 0
          SetGadgetText (#LabAdr, "Löschen aller Downloads hier bestätigen: ")         
          Return
    EndIf
   
For i=1 To 9
      SetGadgetText ((i), "")             ; Textfeld und
      SetGadgetState ((i),0)              ; Status löschen
Next
   
      SetGadgetText (#LabAdr, "")  ; Label mit Standardtext füllen
      SetGadgetState (#BtnYesNo,0)        ; Flag für Auswertung löschen
      HideGadget(#BtnYesNo,1)             ; Button verstecken

EndProcedure

_________________
Intel Quad Core 3,2 Ghz - GTX 1060 - BlitzBasic Plus 1.48 , PureBasic 5.70 LTS / Aktuelles Projekt PureCommander


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Texte innerhalb einer Schleife anzeigen und String einle
BeitragVerfasst: 04.05.2019 23:58 
Offline

Registriert: 26.04.2019 10:31
Wohnort: Mühldorf am Inn
Hallo,
das Thema hab ich jetzt geändert, den Quelltext umgebaut, die Fehler sind aber immer noch dieselben.
Ich stell, ausser dass es im Editor etwas aufgeräumter ist, keinen Unterschied zwischen Prozeduren
und der von mir ursprünglich verwendetetn Gosub/Return Methode fest.

Hier mal der neue Code:

Code:

; GUI DESIGNER V 0.3 Alpha

; Windows
Enumeration
  #Form100
EndEnumeration

; Menu
Enumeration
  #Menu_200
EndEnumeration

; MenuItem
Enumeration
EndEnumeration

; Gadget
Enumeration
  #DL01_1 = 1
  #DL01_2 = 2 
  #DL01_3 = 3 
  #DL01_4 = 4
  #DL01_5 = 5
  #DL01_6 = 6 
  #DL01_7 = 7
  #DL01_8 = 8 
  #DL01_9 = 9 
  #BtnAdd
  #BtnDownload
  #BtnDel
  #BtnClear
  #BtnExit
  #LabAdr
  #BtnYesNo
 
EndEnumeration


Procedure Open_Form100()
 
  OpenWindow(#Form100, 1157, 162, 600, 440, "Youtube Downloader")
    ; Menüliste
    If CreateImageMenu(#Menu_200, WindowID(#Form100))
    EndIf

    ; Gadgetliste
    CheckBoxGadget(#DL01_1, 0, 0, 500, 25, "")
    CheckBoxGadget(#DL01_2, 0, 25, 500, 25, "")   
    CheckBoxGadget(#DL01_3, 0, 50, 500, 25, "")   
    CheckBoxGadget(#DL01_4, 0, 75, 500, 25, "")   
    CheckBoxGadget(#DL01_5, 0, 100, 500, 25, "")   
    CheckBoxGadget(#DL01_6, 0, 125, 500, 25, "")   
    CheckBoxGadget(#DL01_7, 0, 150, 500, 25, "")
    CheckBoxGadget(#DL01_8, 0, 175, 500, 25, "")   
    CheckBoxGadget(#DL01_9, 0, 200, 500, 25, "")   
    ButtonGadget(#BtnAdd, 0, 270, 100, 25, "Hinzufügen")
    ButtonGadget(#BtnDownload, 100, 270, 100, 25, "Download")
    ButtonGadget(#BtnDel, 200, 270, 100, 25, "Löschen")
    ButtonGadget(#BtnClear, 300, 270, 100, 25, "Lösche Alles")
    ButtonGadget(#BtnExit, 500, 270, 100, 25, "Ende")
    StringGadget(#LabAdr, 0, 233, 600, 25, "")
    CheckBoxGadget(#BtnYesNo,470,233,50,25, "Ich bin sicher")
    HideGadget(#BtnYesNo,1)
 
  EndProcedure

Open_Form100()

Define.l Event, EventWindow, EventGadget, EventType, EventMenu

Declare AddAdresse()
Declare Download()
Declare Delete()
Declare ClearAll()
Declare Programmende()

 
; Event Schleife

Repeat
  Event = WaitWindowEvent()
  Select Event
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Case #PB_Event_Menu
      EventMenu = EventMenu()
      ; Menü
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      ; Gadget
      If EventGadget = #BtnAdd             
              AddAdresse()
      ElseIf EventGadget = #BtnDownload
              Download()
      ElseIf EventGadget = #BtnDel
              DelFlag = 1
              Delete()
      ElseIf EventGadget = #BtnClear
              ClearAll() 
      ElseIf EventGadget = #BtnExit
              Programmende()
      ElseIf EventGadget = #LabAdr

      EndIf
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ToolBar


; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      ; Window
      If EventWindow = #Form100
        CloseWindow(#Form100)
          End
       ; Break
      EndIf
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  EndSelect
 
 
 ForEver
 
 
Procedure Programmende()
 
  CloseWindow(#Form100)
  End
 
EndProcedure
 
 
Procedure AddAdresse()

          HideGadget(#BtnYesNo,1) 
Adress$ = GetGadgetText (#LabAdr)           ; Adresse aus dem Textlabel
      If Adress$ = ""
       ProcedureReturn                            ; Es wurde nichts verändert
      EndIf
     
    For i=1 To 9     
      If (GetGadgetText (i)) = ""           ; Wenn der Platz noch frei ist
          SetGadgetText ((i), Adress$)      ; Adresse in die Tabelle schreiben
          SetGadgetText (#LabAdr, "")
            ProcedureReturn
       EndIf     
    Next

EndProcedure


Procedure Download()

HideGadget(#BtnYesNo,1) 
Marker = 0

For i=1 To 9     
    If (GetGadgetState (i)) = 1           ; wenn selektiert
      Marker=1                            ; setze Flag
    EndIf     
Next
 
    If Marker = 0
        SetGadgetText (#LabAdr, "Kein Download selektiert oder vorhanden!")         
        ProcedureReturn                            ; Abbruch wenn nichts markiert
    EndIf

    For i=1 To 9

    Adress$ = GetGadgetText (i)
   
    SetGadgetText(#LabAdr, "Lade " + Adress$)

;MessageRequester ("info", name + parameter)

mypgm= RunProgram("/usr/local/bin/youtube-dl", Chr(32) + Chr(34) + Adress$ + Chr(34), ".",  #PB_Program_Open|#PB_Program_Read)
;RunProgram("/usr/local/bin/youtube-dl", Chr(32) + Chr(34) + Adress$ + Chr(34), ".",  #PB_Program_Open|#PB_Program_Read)   
Repeat
    Debug ReadProgramString(mypgm)
    SetGadgetText(#LabAdr, "Lade " + Adress$)       
Until Not ProgramRunning(mypgm)

SetGadgetText(#LabAdr, "fertig")

Next

For i=1 To 9
      SetGadgetText ((i), "")             ; Textfeld und
      SetGadgetState ((i),0)              ; Status löschen
Next
   
      SetGadgetText (#LabAdr, "")         ; Label löschen
      SetGadgetState (#BtnYesNo,0)        ; Flag für Auswertung löschen
      HideGadget(#BtnYesNo,1)             ; Button verstecken

EndProcedure


Procedure Delete()

Marker = 0
If DelFlag = 1
HideGadget(#BtnYesNo,1) 
EndIf

For i=1 To 9     
    If (GetGadgetState (i)) = 1           ; wenn selektiert
      Marker=1                            ; setze Flag
    EndIf     
Next
 
    If Marker = 0
        SetGadgetText (#LabAdr, "Nichts zum löschen selektiert oder vorhanden!")         
        ProcedureReturn                            ; Abbruch wenn nichts markiert
    EndIf
 
          HideGadget(#BtnYesNo,0)         ; Button sichtbar machen
         
          If (GetGadgetState(#BtnYesNo)) = 0
             SetGadgetText (#LabAdr, "Löschen markierter Downloads hier bestätigen: ")         
          ProcedureReturn
    EndIf
   
For i=1 To 9
    If (GetGadgetState (i)) = 1           ; wenn der Satus 1
      SetGadgetText ((i), "")             ; Text löschen
      SetGadgetState ((i),0)              ; und Status zurück setzen
    EndIf
Next
 
    SetGadgetText (#LabAdr, "Markierte Downloads gelöscht!")
    SetGadgetState(#BtnYesNo,0)           ; Flag für Auswertung löschen
    HideGadget(#BtnYesNo,1)               ; Button verstecken
         
EndProcedure



Procedure ClearAll()

    HideGadget(#BtnYesNo,0) 

    If (GetGadgetState(#BtnYesNo)) = 0
          SetGadgetText (#LabAdr, "Löschen aller Downloads hier bestätigen: ")         
          ProcedureReturn
    EndIf
   
For i=1 To 9
      SetGadgetText ((i), "")             ; Textfeld und
      SetGadgetState ((i),0)              ; Status löschen
Next
   
      SetGadgetText (#LabAdr, "")         ; Label löschen
      SetGadgetState (#BtnYesNo,0)        ; Flag für Auswertung löschen
      HideGadget(#BtnYesNo,1)             ; Button verstecken

EndProcedure     


_________________
Wenn einem die einfachen Dinge net einfallen, klappt's meistens umständlich...


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 21 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


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