Windows in Procedure

Anfängerfragen zum Programmieren mit PureBasic.
schleicher
Beiträge: 214
Registriert: 30.03.2014 19:57
Computerausstattung: Purebasic 5.70
Wohnort: 18314 Löbnitz

Windows in Procedure

Beitrag von schleicher »

Ist es grundsätzlich möglich wenn ich 2 Proceduren habe und jede Procedure ein Window, dann mit Hidewindow()
zu arbeiten ? Also

Code: Alles auswählen

openwin2()
Hidewindow(#win1, 1)
an anschließend

beim schließen des 2. Windows wieder

Code: Alles auswählen

 Hidewindows(#win1, 0)
?

Das gibt bei mir immer den Fehler "Windows nicht initialisiert."
Beide Proceduren sind aber declariert.
Purebasic 5.51
Benutzeravatar
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

Re: Windows in Procedure

Beitrag von ts-soft »

Dann zeig mal den Code!

Grundsätzlich ist das möglich, aber der Code muß natürlich entsprechend gebaut sein.
Es macht also nicht viel Sinn, nach Code zu fragen, ohne entsprechenden Code.
Mit anderen Worten, es ist wichtig, wo der Code steht und ob er gültig ist.

Du solltest Dir vielleicht grundsätzlich angewöhnen, einen ausführbahren Code, der evtl.
nicht funktioniert, beizufügen. Das erspart viel Nachfragerei.

Gruß
Thomas
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.
Bild
schleicher
Beiträge: 214
Registriert: 30.03.2014 19:57
Computerausstattung: Purebasic 5.70
Wohnort: 18314 Löbnitz

Re: Windows in Procedure

Beitrag von schleicher »

So. Ich habe den Code angepasst, das man ihn ausführen kann. Der 2.Container ist noch nicht gecodet, wird aber angezeigt . Es geht das Menü "Einstellungen" in den Menüitems. Das sich dann öffnende Window wird mittels
"Übernehmen" wieder geschlossen. Und dann kommt der Fehler " Windows nicht initialisiert"
Hier der Code

Code: Alles auswählen








Enumeration
#Gui 
#Win_Einstellungen
#ordnerico
#fileico
#linkico
#Spenden
#Hintergrund1
#Font_GUI_0
#Font_GUI_1
#Font_GUI_2
#Font_GUI_3
#Ftp
#Einstellungen
EndEnumeration






;Gadgets
Global Statusbar_Haupt, Text_Scriptausgabe, Editor_0_Scriptausgabe, Text_4, Hyperlink, Container_0, Button_Backup_Restore,
Button_Sendescodes, Button_Kanallisten, Button_Anwendungen, Button_Einstellungen, Button_Extras, Container_1,   Button_Backup_Settings,
Text_Settings, Button_Rostore_Settings, Button_backup_Einstellungen, Text_Einstellungen, Button_restore_Einstellungen, Button_backup_emu_keys,
Text_Emu_keys, Button_restore_emu_keys, Text_Emu_keys, Button_restore_emu_keys, Text_5, Text_6, Totalcommander, Filezilla ,Button_explorer,
Button_backup_all, Text_7, Button_restore_all, Button_1,  Einstellungen, Hilfe, History, Popupmenu ,IPaktuell.s


;Declaration Windows Gui Variablen

Global hBrush,  Ausgabe$, Ausgabe1$, Ausgabe_Fehlercode$, Programm




Declare open_Gui()
Declare makeini()
;Declare getmySendFile()
;Declare gere_liste_queu(mode.s)
Declare my_ini()
Declare.s CharToOem(String.s)
Declare.s OemToChar(String.s)
Declare TestConnectionTCP(IPaktuell.s, Port.i, Timeout.i)
;Declare.s list_ftp(dir$)
Declare BalloonTip(WindowID, Gadget, Text$ , Title$, Icon)
Declare einstellungen_profil()
;Pfadangabe für Preferences

Define Quit 

;Declaration Procedure my_ini Variablen
Global groupgeladen.s, IP.s, User.s, Pass.s, services.s, bouquets.s,  totalcmd.s,  ultraedit.s,  Sicherungsordner.s, pademu.s,  padkeys.s,
 satteliten.s,  ftp_port.l, http_port.l, oscam_port.l, telnet_Port , Date.s, Time.s, tempdir.s, pfadfilezilla.s

;Bilder und Icos laden
;LoadImage(#ordnerico,"C:\receiver\ico\Dir.ico")
;LoadImage(#fileico,"C:\receiver\ico\File.ico")
;LoadImage(#linkico,"C:\receiver\ico\Link.ico")
UseJPEGImageDecoder()
;LoadImage(#Spenden,"C:\receiver\ico\spendenButton.jpg")
;LoadImage(#Hintergrund1,"C:\Program Files\purebasic 5\Mein Projekt\Backgrounds.jpg") 

;Schriften laden
LoadFont(#Font_GUI_0,"Arial", 8, #PB_Font_Bold)
LoadFont(#Font_GUI_1,"Arial", 16, #PB_Font_Bold)
LoadFont(#Font_GUI_2,"Arial", 14, #PB_Font_Bold)
LoadFont(#Font_GUI_3,"Arial", 12, #PB_Font_Bold)

Date.s = FormatDate(" %dd.%mm.%yyyy", Date())
Time.s = FormatDate("%hh:%ii:%ss", Date())
tempdir.s = GetTemporaryDirectory()



;Start by Program

my_ini()
open_Gui()

; Includefiles
IncludeFile "Proceduren.pbi"

Procedure open_Gui()
  
  OpenWindow(#Gui, 0, 0, 790, 595, "EIW by schmiddi001 v.1.0         " + "Aktuelles Datum :  "  + Date +         "         Startzeit :  " + Time ,#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget | #PB_Window_MinimizeGadget)
  ;hBrush = CreatePatternBrush_(ImageID(#Hintergrund1))
  ;SetClassLong_(WindowID(#Gui), #GCL_HBRBACKGROUND, hBrush)
  ;InvalidateRect_(WindowID(#Gui), #Null, #True)
  Popupmenu = CreateMenu(#PB_Any, WindowID(Gui))
  MenuItem(#Einstellungen, "Einstellungen")
  MenuTitle("Hilfe")
  Hilfe = MenuItem(#PB_Any, "Hilfe")
  History = MenuItem(#PB_Any, "Historie")
  Statusbar_Haupt = CreateStatusBar(#PB_Any, WindowID(Gui))
  AddStatusBarField(50)
  StatusBarText(Statusbar_Haupt, 0, "Status")
  AddStatusBarField(70)
  StatusBarText(Statusbar_Haupt, 1, "keine Aktion", #PB_StatusBar_Center)
  AddStatusBarField(130)
  StatusBarProgress(Statusbar_Haupt, 2, 0)
  AddStatusBarField(110)
  StatusBarText(Statusbar_Haupt, 3, "geladenes Profil : ", #PB_StatusBar_Right)
  AddStatusBarField(80)
  StatusBarText(Statusbar_Haupt, 4, "", #PB_StatusBar_Center)
  AddStatusBarField(90)
  StatusBarText(Statusbar_Haupt, 5, "IP Receiver :" , #PB_StatusBar_Raised |#PB_StatusBar_Center)
  AddStatusBarField(120)
  StatusBarText(Statusbar_Haupt, 6, "" , #PB_StatusBar_Raised |#PB_StatusBar_Center)
  AddStatusBarField(120)
  StatusBarText(Statusbar_Haupt, 7, "", #PB_StatusBar_Raised |#PB_StatusBar_Center)
  Text_Scriptausgabe = TextGadget(#PB_Any, 436, 16, 346, 30, "Script - Ausgabe", #PB_Text_Border|#PB_Text_Center )
  SetGadgetColor(Text_Scriptausgabe, #PB_Gadget_FrontColor,RGB(255,128,0))
  SetGadgetColor(Text_Scriptausgabe, #PB_Gadget_BackColor,RGB(0,64,64))
  SetGadgetFont(Text_Scriptausgabe, FontID(#Font_GUI_1))
  Editor_0_Scriptausgabe = EditorGadget(#PB_Any, 436, 48, 346, 442, #PB_Editor_ReadOnly)
  SetGadgetColor(Editor_0_Scriptausgabe, #PB_Gadget_FrontColor,RGB(255,255,0))
  SetGadgetColor(Editor_0_Scriptausgabe, #PB_Gadget_BackColor,RGB(0,64,64))
  Text_4 = TextGadget(#PB_Any, 50, 510, 550, 20, "Bitte honoriere meine Arbeit und unterstütze die Weiterentwicklung !", #PB_Text_Center)
  SetGadgetColor(Text_4, #PB_Gadget_FrontColor,RGB(255,128,0))
  SetGadgetColor(Text_4, #PB_Gadget_BackColor,RGB(16,87,97))
  SetGadgetFont(Text_4, FontID(#Font_GUI_3))
  Hyperlink = ButtonGadget(#PB_Any, 600, 505, 150, 33,"Spende");, ImageID(#Spenden))
  SetGadgetFont(Hyperlink, LoadFont(0, "Arial", 10))
  
  Container_0 = ContainerGadget(#PB_Any, 6, 15, 425, 475, #PB_Container_BorderLess ) 
  SetGadgetColor(Container_0, #PB_Gadget_BackColor,RGB(0,64,64))
  HideGadget(Container_0, 0)
  Button_Backup_Restore = ButtonGadget(#PB_Any, 20, 15, 380, 56, "Sichern / Wiederherstellen")
  SetGadgetFont(Button_Backup_Restore, FontID(#Font_GUI_0))
  DisableGadget(Button_Backup_Restore, 0)
  Button_Sendescodes = ButtonGadget(#PB_Any, 20, 85, 380, 56, "Datei - Editor - FTP")
  SetGadgetFont(Button_Sendescodes, FontID(#Font_GUI_0))
  DisableGadget(Button_Sendescodes, 0)
  Button_Kanallisten = ButtonGadget(#PB_Any, 20, 155, 380, 56, "Kanallisten")
  SetGadgetFont(Button_Kanallisten, FontID(#Font_GUI_0))
  DisableGadget(Button_Kanallisten, 0)
  Button_Anwendungen = ButtonGadget(#PB_Any, 20, 225, 380, 56, "Einstellungen Receiver")
  SetGadgetFont(Button_Anwendungen, FontID(#Font_GUI_0))
  DisableGadget(Button_Anwendungen, 0)
  Button_Einstellungen = ButtonGadget(#PB_Any, 20, 295, 380, 56, "Extras")
  SetGadgetFont(Button_Einstellungen, FontID(#Font_GUI_0))
  DisableGadget(Button_Einstellungen, 1)
  Button_Extras =  ButtonGadget(#PB_Any, 20, 365, 380, 56, "Nächstes Menü")
  SetGadgetFont(Button_Extras, FontID(#Font_GUI_0))
  DisableGadget(Button_Extras, 1)
  CloseGadgetList()
  
  Container_1 = ContainerGadget(#PB_Any, 6, 15, 425, 475, #PB_Container_BorderLess ) 
  SetGadgetColor(Container_1, #PB_Gadget_BackColor,RGB(0,64,64))
  HideGadget(Container_1, 1)
  Button_Backup_Settings = ButtonGadget(#PB_Any, 20, 15, 110, 25, "sichern")
  SetGadgetFont(Button_Backup_Settings, FontID(#Font_GUI_0))
  Text_Settings = TextGadget(#PB_Any, 130, 15, 160, 25, "Senderlisten", #PB_Text_Center)
  SetGadgetColor(Text_Settings, #PB_Gadget_FrontColor,RGB(80,191,240))
  SetGadgetColor(Text_Settings, #PB_Gadget_BackColor,RGB(16,87,97))
  SetGadgetFont(Text_Settings, FontID(#Font_GUI_2))
  Button_Rostore_Settings = ButtonGadget(#PB_Any, 290, 15, 110, 25, "wiederherstellen")
  SetGadgetFont(Button_Rostore_Settings, FontID(#Font_GUI_0))
  Button_backup_Einstellungen = ButtonGadget(#PB_Any, 20, 50, 110, 25, "sichern")
  SetGadgetFont(Button_backup_Einstellungen, FontID(#Font_GUI_0))
  Text_Einstellungen = TextGadget(#PB_Any, 130, 50, 160, 25, "Einstellungen", #PB_Text_Center)
  SetGadgetColor(Text_Einstellungen, #PB_Gadget_FrontColor,RGB(80,191,240))
  SetGadgetColor(Text_Einstellungen, #PB_Gadget_BackColor,RGB(16,87,97))
  SetGadgetFont(Text_Einstellungen, FontID(#Font_GUI_2))
  Button_restore_Einstellungen = ButtonGadget(#PB_Any, 290, 50, 110, 25, "wiederherstellen")
  SetGadgetFont(Button_restore_Einstellungen, FontID(#Font_GUI_0))
  Button_backup_emu_keys = ButtonGadget(#PB_Any, 20, 85, 110, 25, "sichern")
  SetGadgetFont(Button_backup_emu_keys, FontID(#Font_GUI_0))
  Text_Emu_keys = TextGadget(#PB_Any, 130, 85, 160, 25, "keys/emu(bin)", #PB_Text_Center)
  SetGadgetColor(Text_Emu_keys, #PB_Gadget_FrontColor,RGB(80,191,240))
  SetGadgetColor(Text_Emu_keys, #PB_Gadget_BackColor,RGB(16,87,97))
  SetGadgetFont(Text_Emu_keys, FontID(#Font_GUI_2))
  Button_restore_emu_keys = ButtonGadget(#PB_Any, 290, 85, 110, 25, "wiederherstellen")
  SetGadgetFont(Button_restore_emu_keys, FontID(#Font_GUI_0))
  Text_5 = TextGadget(#PB_Any, 20, 287, 380, 20, "Dateien selbst sichern/wiederherstellen ", #PB_Text_Center)
  SetGadgetColor(Text_5, #PB_Gadget_FrontColor,RGB(80,191,240))
  SetGadgetColor(Text_5, #PB_Gadget_BackColor,RGB(16,87,97))
  SetGadgetFont(Text_5, FontID(#Font_GUI_3))
  Text_6 = TextGadget(#PB_Any, 20, 302, 380, 20, "mit ", #PB_Text_Center)
  SetGadgetColor(Text_6, #PB_Gadget_FrontColor,RGB(80,191,240))
  SetGadgetColor(Text_6, #PB_Gadget_BackColor,RGB(16,87,97))
  SetGadgetFont(Text_6, FontID(#Font_GUI_3))
  Totalcommander = ButtonGadget(#PB_Any, 20, 330, 380, 25, "Total Commander")
  SetGadgetFont(Totalcommander, FontID(#Font_GUI_0))
  ;DisableGadget(Totalcommander, 0)
  Filezilla = ButtonGadget(#PB_Any, 20, 330, 380, 25, "Filezilla")
  SetGadgetFont(Filezilla, FontID(#Font_GUI_0))
  ;DisableGadget(Filezilla, 1)
  Button_explorer = ButtonGadget(#PB_Any, 20, 365, 380, 25, "Sicherungsordner anzeigen")
  SetGadgetFont(Button_explorer, FontID(#Font_GUI_0))
  Button_backup_all = ButtonGadget(#PB_Any, 20, 120, 110, 25, "sichern")
  SetGadgetFont(Button_backup_all, FontID(#Font_GUI_0))
  Text_7 = TextGadget(#PB_Any, 130, 120, 160, 25, "Alles zusammen ", #PB_Text_Center)
  SetGadgetColor(Text_7, #PB_Gadget_FrontColor,RGB(80,191,240))
  SetGadgetColor(Text_7, #PB_Gadget_BackColor,RGB(16,87,97))
  SetGadgetFont(Text_7, FontID(#Font_GUI_3))
  Button_restore_all = ButtonGadget(#PB_Any, 290, 120, 110, 25, "wiederherstellen")
  SetGadgetFont(Button_restore_all, FontID(#Font_GUI_0))
  Button_1 = ButtonGadget(#PB_Any, 20, 420, 380, 25, "Zurück zum Hauptmenü")
  SetGadgetFont(Button_1, FontID(#Font_GUI_0))
  CloseGadgetList()
  StatusBarText(Statusbar_Haupt, 4, groupgeladen, #PB_StatusBar_Center)
  StatusBarText(Statusbar_Haupt, 6, IP , #PB_StatusBar_Raised |#PB_StatusBar_Center)
  InitNetwork()

  If  groupgeladen = "Default"
   StatusBarText(Statusbar_Haupt, 7, "ungetestet", #PB_StatusBar_Raised |#PB_StatusBar_Center)            
  Else
    If OpenFTP(#Ftp, IP, User, Pass , ftp_port)
      StatusBarText(Statusbar_Haupt, 7, "online", #PB_StatusBar_Raised |#PB_StatusBar_Center)            
      CloseFTP(#FTP)
    Else 
      StatusBarText(Statusbar_Haupt, 7, "offline", #PB_StatusBar_Raised |#PB_StatusBar_Center) 
    EndIf
  EndIf
  
   Repeat
  
  
  Select WaitWindowEvent(20) ;damit das Editogadget aktualisiert wird
    ;Case #PB_Event_SizeWindow
      
    Case #PB_Event_Menu
      Select EventMenu()
          
        Case #Einstellungen
         einstellungen_profil()
         DisableWindow(#Gui, 1)
       
         
      EndSelect 
      
      
      
       Case #PB_Event_Gadget  
      
      Select EventGadget()
          
          
        Case Hyperlink
          RunProgram("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ATMTN4G86W3PQ")
          
          
        Case Button_Backup_Restore 
          ClearGadgetItems(Editor_0_Scriptausgabe)
          SetGadgetItemText(Editor_0_Scriptausgabe, 0, "Bei Einstellungen geht es um  alle"+ Chr(13)+Chr(10) + "wichtigen Konfigurationen des Receivers."+ Chr(13)+Chr(10) + Chr(13)+Chr(10) + "Button Total Commander aktiviert sich wenn"+ Chr(13)+Chr(10) + "unter Einstellungender Pfad zu Total Commander"+ Chr(13)+Chr(10) + "gespeichert wurde !"+ Chr(13)+Chr(10) + Chr(13)+Chr(10) + "Button Filezilla deaktiviert sich dann !") 
          HideGadget(Container_0, 1)
          HideGadget(Container_1, 0)
          If totalcmd
            HideGadget(Filezilla, 1)
            HideGadget(Totalcommander, 0) 
            
          Else  
            HideGadget(Totalcommander, 1) 
            HideGadget(Filezilla, 0)
            
          EndIf 
          
          
        Case Button_Kanallisten
          
          
          
          
        Case Button_Anwendungen
          ClearGadgetItems(Editor_0_Scriptausgabe)
          
          
        Case Button_Backup_Settings
          StatusBarText(0, 1, "in Arbeit")
          
          ClearGadgetItems(Editor_0_Scriptausgabe)
          StatusBarProgress(0, 2, 0, 100)
          Programm = RunProgram("C:\receiver\Programmdateien\settings_sichern.cmd","", "C:\receiver\Programmdateien\", #PB_Program_Open | #PB_Program_Read | #PB_Program_Write| #PB_Program_Hide | #PB_Program_Error)
          ;StatusBarProgress(0, 2, 100)
          
          
          
        Case Button_Rostore_Settings
          StatusBarText(0, 1, "in Arbeit")
          ClearGadgetItems(Editor_0_Scriptausgabe)  
          StatusBarProgress(0, 2, 0,100)
          Programm = RunProgram("C:\receiver\Programmdateien\settings_wiederherstellen.cmd","", "C:\receiver\Programmdateien\", #PB_Program_Open | #PB_Program_Read | #PB_Program_Write| #PB_Program_Hide | #PB_Program_Error)
          ;StatusBarProgress(0, 2, 100)
          
        Case Button_backup_Einstellungen
          StatusBarText(0, 1, "in Arbeit")
          ClearGadgetItems(Editor_0_Scriptausgabe)
          StatusBarProgress(0, 2, 0)
          Programm = RunProgram("C:\receiver\Programmdateien\einstellungen_sichern.cmd","", "C:\receiver\Programmdateien\", #PB_Program_Open | #PB_Program_Read | #PB_Program_Write| #PB_Program_Hide | #PB_Program_Error)
          StatusBarProgress(0, 2, 100)
          
        Case Button_restore_Einstellungen
          StatusBarText(0, 1, "in Arbeit")
          ClearGadgetItems(Editor_0_Scriptausgabe)       
          StatusBarProgress(0, 2, 0)
          Programm = RunProgram("C:\receiver\Programmdateien\einstellungen_wiederherstellen.cmd","", "C:\receiver\Programmdateien", #PB_Program_Open | #PB_Program_Read | #PB_Program_Write| #PB_Program_Hide | #PB_Program_Error)
          StatusBarProgress(0, 2, 100)
          
        Case Button_backup_emu_keys
          StatusBarText(0, 1, "in Arbeit")
          ClearGadgetItems(Editor_0_Scriptausgabe)     
          StatusBarProgress(0, 2, 0)
          Programm = RunProgram("C:\receiver\Programmdateien\keys_sichern.cmd","", "C:\receiver\Programmdateien", #PB_Program_Open | #PB_Program_Read | #PB_Program_Write| #PB_Program_Hide | #PB_Program_Error)
          StatusBarProgress(0, 2, 100)
          
          
        Case Button_restore_emu_keys
          StatusBarText(0, 1, "in Arbeit")
          ClearGadgetItems(Editor_0_Scriptausgabe)    
          StatusBarProgress(0, 2, 0)
          Programm = RunProgram("C:\receiver\Programmdateien\keys_wiederherstellen.cmd","", "C:\receiver\Programmdateien", #PB_Program_Open | #PB_Program_Read | #PB_Program_Write| #PB_Program_Hide | #PB_Program_Error)
          StatusBarProgress(0, 2, 100)
          
        Case Button_backup_all
          StatusBarText(0, 1, "in Arbeit")
          StatusBarProgress(0, 2, 0)
          ClearGadgetItems(Editor_0_Scriptausgabe)
          Programmall = RunProgram("C:\receiver\Programmdateien\settings_sichern.cmd","", "C:\receiver\Programmdateien\", #PB_Program_Open | #PB_Program_Read | #PB_Program_Write| #PB_Program_Hide | #PB_Program_Error)
          Select WaitProgram(Programmall)
          EndSelect 
          StatusBarProgress(0, 2, 33)
          Programmall = RunProgram("C:\receiver\Programmdateien\einstellungen_sichern.cmd","", "C:\receiver\Programmdateien\", #PB_Program_Open | #PB_Program_Read | #PB_Program_Write| #PB_Program_Hide | #PB_Program_Error)
          Select WaitProgram(Programmall)
          EndSelect 
          StatusBarProgress(0, 2, 80)
          Programmall = RunProgram("C:\receiver\Programmdateien\keys_sichern.cmd","", "C:\receiver\Programmdateien", #PB_Program_Open | #PB_Program_Read | #PB_Program_Write| #PB_Program_Hide | #PB_Program_Error)
          Select WaitProgram(Programmall)
          EndSelect 
          StatusBarProgress(0, 2, 100)
          ClearGadgetItems(Editor_0_Scriptausgabe)
          AddGadgetItem(Editor_0_Scriptausgabe, -1,  "Sicherung beendet !") 
          
          
        Case Button_restore_all
          ClearGadgetItems(Editor_0_Scriptausgabe)
          StatusBarText(0, 1, "in Arbeit")
          
          
          
        Case Button_explorer
          
          ClearGadgetItems(Editor_0_Scriptausgabe) 
          RunProgram("explorer.exe" ,Chr(34)+Sicherungsordner+Chr(34), "", #PB_Program_Open | #PB_Program_Read | #PB_Program_Write)
          
          
        Case Totalcommander
          ClearGadgetItems(Editor_0_Scriptausgabe)
          totalpfad$ = RemoveString(totalcmd, "TOTALCMD.EXE")
          RunProgram(totalcmd," /L=ftp://"+User +":"+Pass +"@"+IP+"/ "+" :"+ ftp_port+"/"+" /"+"R="+Sicherungsordner , totalpfad$, #PB_Program_Open | #PB_Program_Read | #PB_Program_Write| #PB_Program_Hide | #PB_Program_Error)
          
        Case Filezilla
          If totalcmd
          Else
           filezillapad$ = RemoveString(pfadfilezilla, "filezilla.exe")
           RunProgram(pfadfilezilla,"ftp://"+User+":"+Pass+"@"+IP+"/ --local="+Sicherungsordner ,filezillapad$ , #PB_Program_Open | #PB_Program_Read | #PB_Program_Write| #PB_Program_Hide | #PB_Program_Error)
          EndIf
          
        Case Button_1  
          
          ClearGadgetItems(Editor_0_Scriptausgabe)
          StatusBarProgress(Statusbar_Haupt, 2, 0)
          
          HideGadget(Container_1, 1)
          HideGadget(Container_0, 0) 
          
          text$= "Bei Einstellungen geht es um die configs für" + Chr(13) + "Automounts,Timers, Mediaportal userchannel, Automounts" + Chr(13) +
                 
          "Timers, Mediaportal userchannel, Autotimer, Epgrefresh, Network ,Settings Plugins usw." +Chr(13) +Chr(10)+
                                                                                                    
          "Also wichtige Einstellungen, die man neu einstellen müsste." +Chr(13) +Chr(10)+
                                                                          
          "wenn man ein neues Image flasht wurde." + Chr(13) +Chr(10)+
                                                     
          "Um den Total Commander zu nutzen muss unter <Einstellungen>"+Chr(13) +Chr(10)+
                                                                        
          "der Pfad zu Total Commander gespeichet werden !" +Chr(13) +Chr(10)+
                                                             
           "Filezilla wird dann deaktiviert !"

          
          
        Case Button_Extras
          HideGadget(Container_1, 0)
          HideGadget(Container_0, 1)
          
          
        Case Button_Sendescodes 
          
          ;DisableWindow(#GUI,
          CloseWindow(Gui)
          
          ;Open_Einstellungen()
          ;UseGadgetList(#win_3)
        
     EndSelect 
      
      
      
    Case #PB_Event_CloseWindow
      
      
      Quit = 1          
  EndSelect   
  
  
  If IsProgram(Programm)
    If ProgramRunning(Programm)
      
      
      DisableGadget(Button_Backup_Settings, #True)
      DisableGadget(Button_Rostore_Settings, #True)
      DisableGadget(Button_backup_Einstellungen, #True)
      DisableGadget(Button_restore_Einstellungen, #True)
      DisableGadget(Button_backup_emu_keys, #True)
      DisableGadget(Button_restore_emu_keys, #True)
      ;DisableGadget(Totalcommander, #True)
      DisableGadget(Button_1, #True)
      DisableGadget(Button_explorer, 1)
      DisableGadget(Button_backup_all, #True)
      DisableGadget(Button_restore_all, #True)
      
      
      If AvailableProgramOutput(Programm)
        Ausgabe$ = ReadProgramString(Programm )
        Ausgabe1$= OemToChar (Ausgabe$)
        Ausgabe_Fehlercode$ = ReadProgramError(Programm)
        AddGadgetItem(Editor_0_Scriptausgabe, -1, Ausgabe1$)      ; Ergebnis in EditorGadget darstellen
      EndIf
      
      
    Else
      
      StatusBarText(0, 1, "Fertig")
      StatusBarProgress(0, 2, 0)
      DisableGadget(Button_Backup_Settings, #False)
      DisableGadget(Button_Rostore_Settings, #False)
      DisableGadget(Button_backup_Einstellungen, #False)
      DisableGadget(Button_restore_Einstellungen, #False)
      DisableGadget(Button_backup_emu_keys, #False)
      DisableGadget(Button_restore_emu_keys, #False)
      ;DisableGadget(Totalcommander, #False)
      DisableGadget(Button_1, #False)
      DisableGadget(Button_explorer, 0)
      DisableGadget(Button_backup_all, #False)
      DisableGadget(Button_restore_all, #False)
      
      
      If Ausgabe_Fehlercode$ <> ""
        AddGadgetItem(Editor_0_Scriptausgabe, -1, "Fehlermeldungen: " + Ausgabe_Fehlercode$)
      EndIf
      
    
    EndIf
    
  EndIf 
  
  
  
  
Until Quit = 1

  
  
 
EndProcedure 

Und das Includefile

Code: Alles auswählen



Macro FD_ZERO(set)
  set\fd_count = 0
EndMacro
 
Procedure.i FD_SET(fd.i, *set.FD_SET)
  If *set\fd_count < #FD_SETSIZE
    *set\fd_array[ *set\fd_count ] = fd
    *set\fd_count + 1
  EndIf
EndProcedure
 
Procedure.i FD_ISSET(fd.i, *set.FD_SET)
  Protected I.i
  For I = *set\fd_count - 1 To 0 Step -1
    If *set\fd_array[I] = fd
      ProcedureReturn #True
    EndIf
  Next
   
  ProcedureReturn #False
EndProcedure
 
CompilerIf Defined(TIMEVAL, #PB_Structure) = #False ;{
  Structure TIMEVAL
    tv_sec.l
    tv_usec.l
  EndStructure ;}
CompilerEndIf
 
Procedure TestConnectionTCP(IPaktuell.s, Port.i, Timeout.i) ;Timeout in ms
  Debug IPaktuell
  Protected ReturnValue.i = #False
 
  Protected Socket.i = SOCKET_(#AF_INET, #SOCK_STREAM, #IPPROTO_TCP)
 
  If Socket <> #INVALID_SOCKET
   
    Protected mode.l = 1
   
    If ioctlsocket_(Socket, #FIONBIO, @mode) = 0
   
      Protected addr.sockaddr_in
      addr\sin_family = #AF_INET
      addr\sin_addr   = inet_addr_(IP)
      addr\sin_port   = htons_(Port)
     
      ;Workaround for 64 bit, because connect_(...) = #SOCKET_ERROR fails
      Protected ret.l = connect_(Socket, addr, SizeOf(sockaddr_in))
      If ret = #SOCKET_ERROR And WSAGetLastError_() = #WSAEWOULDBLOCK
       
        Protected writefds.fd_set, exceptfds.fd_set, tv.timeval
       
        tv\tv_sec  = 0
        tv\tv_usec = Timeout * 1000
       
        FD_ZERO(writefds)
        FD_ZERO(exceptfds)
       
        FD_SET(Socket, writefds)
        FD_SET(Socket, exceptfds)
       
        If select_(Socket+1, 0, @writefds, @exceptfds, @tv) > 0
   
          If FD_ISSET(Socket, writefds)
            ReturnValue.i = #True
          EndIf
         
        EndIf
       
      EndIf
     
    EndIf
   
    closesocket_(Socket)
  EndIf
 
  ProcedureReturn ReturnValue
 
EndProcedure

 
Procedure my_ini() 
  Define.s  prefs.s = GetHomeDirectory() + "mysettings-EIW.ini"
  OpenPreferences(prefs)
  groupgeladen.s = ReadPreferenceString("Profil geladen", "")
  pfadfilezilla.s = "Extra Software\Filezilla\filezilla.exe"
  PreferenceGroup(groupgeladen)
  IP.s = ReadPreferenceString("IP","") 
  
  User.s = ReadPreferenceString("Username","")
  Pass.s = ReadPreferenceString("Password","")
  ftp_port = ReadPreferenceLong("FTP Port",21)
  http_port = ReadPreferenceLong("Http Port",80)
  oscam_port = ReadPreferenceLong("Oscam Port",3000)
  telnet_Port = ReadPreferenceLong("Telnet Port",23)
  services.s = ReadPreferenceString("Services","")
  bouquets.s = ReadPreferenceString("Bouquets","")
  totalcmd.s = ReadPreferenceString("totalcommander","")
  ultraedit.s = ReadPreferenceString("ultraedit","")
  Sicherungsordner.s = ReadPreferenceString("Sicherungsordner","")
  pademu.s = ReadPreferenceString("Pfad Emu","")
  padkeys.s = ReadPreferenceString("Pfad Keys","")
  satteliten.s = ReadPreferenceString("Satteliten.xml","")
  ClosePreferences()
  
  
EndProcedure

Procedure.s CharToOem(String.s)
  CharToOem_(@String, @String)
  ProcedureReturn String
EndProcedure

Procedure.s OemToChar(String.s)
  OemToChar_(@String, @String)
  ProcedureReturn String
EndProcedure

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

Procedure einstellungen_profil()
  ;Profil_geladen ()
  Structure sPreferenceKey
    Name.s
    Value.s
  EndStructure
  
  Structure sPreferenceGroup
    Name.s
    List myPreferenceKey.sPreferenceKey()
  EndStructure
  
  NewList myPreferenceGroup.sPreferenceGroup() 
  
  
  ; Variablen Test Verbindung
  Global  profilneu.s, Username_select.s, Password_select.s, Profil_select.s, IP_select.s, FTP_Port_select.l, Telenet_Port_select.l, Oscam_Port_selec.l,
HTTP_Port_select.l 
  
  
  ; Windows + Hintergrund declarieren
  Global Win_Einstellungen 
  
  ; Gadgets declarieren
  Global text_profile, text_standarts, String_services, String_bouquets, String_satteliten, Button_Enigma, Button_Satreceiver, 
Button_Kabelreceiver, Button_Terristischereceiver, Button_Abbrechen, Button_OK, Text_1, String_totalcmd, Button_pfad_totalcmd,
String_UltraEdit, Button_pfad_UltraEdit, Text_2,  Text_3, Text_16, String_Sicherungsordner, Button_pfad_Sicherungsordner,
text_test, Text_Programmpfade, Profile, Button_Profil_laden, Button_neues_Profil, Button_Profil_loeschen, Button_Profil_speichern,
Text_4, Text_5, Text_6, Text_7, Text_8, Text_9, Text_10, String_Profil_geladen, String_IP, String_FTP_Port, String_Telnet_Port,
String_Oscam_Port, String_Username, String_Password, Text_11, Text_Programmpfade_Settings, Text_12, Text_13, Text_Programmpfade_Emu,
Text_18, String_Emu, Text_14, Text_15, Text_16, Text_17, Button_verbindung_testen, Button_verbindung_username_passwort_testen, 
Button_Alles_auf_Standart, Text_Ports, Text_Profildaten, 
  
  ;Define.s  Items = GetGadgetText(String_7)
  prefs.s = GetHomeDirectory() + "mysettings-EIW.ini" 
  
  OpenWindow(#Win_Einstellungen , 0, 0, 860, 766, "Einstellungen", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
  ;HideWindow(#Window_3, 1)
  
  ;hBrush = CreatePatternBrush_(ImageID(#Hintergrund1))
  ;SetClassLong_(WindowID(#Win_Einstellungen), #GCL_HBRBACKGROUND, hBrush)
  ;InvalidateRect_(WindowID(#Win_Einstellungen), #Null, #True)
  
  text_profile = TextGadget(#PB_Any, 36, 16, 116, 20, "Profile", #PB_Text_Center)
  SetGadgetColor(text_profile, #PB_Gadget_FrontColor,RGB(255,255,0))
  SetGadgetColor(text_profile, #PB_Gadget_BackColor,RGB(64,128,128))
  SetGadgetFont(text_profile, FontID(#Font_GUI_3))
  text_standarts = TextGadget(#PB_Any, 644, 288, 156, 20, "Standart´s", #PB_Text_Center)
  SetGadgetColor(text_standarts, #PB_Gadget_FrontColor,RGB(255,255,0))
  SetGadgetColor(text_standarts, #PB_Gadget_BackColor,RGB(64,128,128))
  SetGadgetFont(text_standarts, FontID(#Font_GUI_3))
  String_services = StringGadget(#PB_Any, 196, 332, 376, 24, "/etc/enigma2/")
  String_bouquets =StringGadget(#PB_Any, 196, 380, 376, 24, "/etc/enigma2/")
  String_satteliten = StringGadget(#PB_Any, 196, 428, 376, 24, "/etc/tuxbox/")
  Button_Enigma = ButtonGadget(#PB_Any, 612, 332, 220, 24, "Enigma2 Settings")
  Button_Satreceiver = ButtonGadget(#PB_Any, 612, 364, 220, 24, "Sat - Receiver")
  Button_Kabelreceiver = ButtonGadget(#PB_Any, 612, 396, 220, 24, "Kabel - Receiver")
  Button_Terristischereceiver = ButtonGadget(#PB_Any, 612, 428, 220, 24, "Terristische - Receiver")
  Button_Abbrechen = ButtonGadget(#PB_Any, 630 ,710, 100, 36, "Abbrechen")
  Button_OK = ButtonGadget(#PB_Any, 740, 710, 100, 36, "Übernehmen")
  BalloonTip(WindowID(Win_Einstellungen),Button_OK,"Wenn das Profil geändert wurde"+Chr(13)+"dann erst Profil speichern !","Wichtiger Hinweis !",1)
  Text_1 = TextGadget(#PB_Any, 225, 580, 304, 20, "Programmpfade auf dem Rechner", #PB_Text_Center)
  SetGadgetColor(Text_1, #PB_Gadget_FrontColor,RGB(255,255,0))
  SetGadgetColor(Text_1, #PB_Gadget_BackColor,RGB(64,128,128))
  SetGadgetFont(Text_1, FontID(#Font_GUI_3))
  String_totalcmd = StringGadget(#PB_Any, 196, 625, 376, 24, "C:\Program Files\totalcmd\totalcmd.exe")
  Button_pfad_totalcmd = ButtonGadget(#PB_Any,577, 625, 24, 24, "..")
  String_UltraEdit = StringGadget(#PB_Any, 196, 673, 376, 24, "/etc/tuxbox/")
  Button_pfad_UltraEdit = ButtonGadget(#PB_Any,577, 673, 24, 24, "..")
  Text_2 = TextGadget(#PB_Any, 243, 605, 272, 20, "Pfad zu Total  Commander", #PB_Text_Center)
  SetGadgetColor(text_2,#PB_Gadget_BackColor,RGB(61,160,226))
  
  Text_3 = TextGadget(#PB_Any, 243, 653, 272, 20, "Pfad zu Ultraedit", #PB_Text_Center)
  SetGadgetColor(text_3,#PB_Gadget_BackColor,RGB(61,160,226))
  Text_16 = TextGadget(#PB_Any, 243, 702, 272, 20, "Pfad zum Sicherungsordner", #PB_Text_Center)
  SetGadgetColor(text_16,#PB_Gadget_BackColor,RGB(61,160,226))
  padbackup$ = GetHomeDirectory()+"EIW"
  
  String_Sicherungsordner = StringGadget(#PB_Any, 196, 722, 376, 24, padbackup$)
  Button_pfad_Sicherungsordner = ButtonGadget(#PB_Any,577, 722, 24, 24, "..")
  text_test = TextGadget(#PB_Any, 648, 16, 156, 20, "Test´s", #PB_Text_Center)
  SetGadgetColor(text_test, #PB_Gadget_FrontColor,RGB(255,255,0))
  SetGadgetColor(text_test, #PB_Gadget_BackColor,RGB(64,128,128))
  SetGadgetFont(text_test, FontID(#Font_GUI_3))
  Text_Programmpfade = TextGadget(#PB_Any, 223, 264, 304, 20, "Dateipfade auf dem Receiver", #PB_Text_Center)
  SetGadgetColor(Text_Programmpfade, #PB_Gadget_FrontColor,RGB(255,255,0))
  SetGadgetColor(Text_Programmpfade, #PB_Gadget_BackColor,RGB(64,128,128))
  SetGadgetFont(Text_Programmpfade, FontID(#Font_GUI_3))                                   
  Profile = ListViewGadget(#PB_Any, 20, 116, 150, 320)   ; Auflistung Profile                              
  Button_Profil_laden = ButtonGadget(#PB_Any, 20, 450, 150, 25, "Profil laden")
  Button_neues_Profil = ButtonGadget(#PB_Any, 20, 485, 150, 25, "neues Profil")
  Button_Profil_loeschen = ButtonGadget(#PB_Any, 20, 520, 150, 25, "Profil löschen")
  Button_Profil_speichern = ButtonGadget(#PB_Any, 20, 555, 150, 25, "Profil speichern")
  Text_4 = TextGadget(#PB_Any, 20, 64, 150, 20, "gewähltes Profil", #PB_Text_Center)
  SetGadgetColor(text_4,#PB_Gadget_BackColor,RGB(61,160,226))
  Text_5 = TextGadget(#PB_Any, 208, 64, 200, 20, "Host/IP", #PB_Text_Center)
  SetGadgetColor(text_5,#PB_Gadget_BackColor,RGB(61,160,226))
  Text_6 = TextGadget(#PB_Any, 432, 108, 80, 20, "FTP Port", #PB_Text_Center)
  SetGadgetColor(text_6,#PB_Gadget_BackColor,RGB(61,160,226))
  Text_7 = TextGadget(#PB_Any, 432, 152, 80, 20, "Telnet Port", #PB_Text_Center)
  SetGadgetColor(text_7,#PB_Gadget_BackColor,RGB(61,160,226))
  Text_8 = TextGadget(#PB_Any, 432, 200, 80, 20, "Oscam Port", #PB_Text_Center)
  SetGadgetColor(text_8,#PB_Gadget_BackColor,RGB(61,160,226))
  Text_9 = TextGadget(#PB_Any, 208, 128, 200, 20, "Benutzername", #PB_Text_Center)
  SetGadgetColor(text_9,#PB_Gadget_BackColor,RGB(61,160,226))
  Text_10 = TextGadget(#PB_Any, 208, 200, 200, 20, "Passwort", #PB_Text_Center)
  SetGadgetColor(text_10,#PB_Gadget_BackColor,RGB(61,160,226))
  String_Profil_geladen = StringGadget(#PB_Any, 20, 84, 150, 24, "Default")
  String_IP = StringGadget(#PB_Any, 208, 84, 200, 24, "192.168.178.1")
  String_FTP_Port =  StringGadget(#PB_Any, 432, 128, 80, 24,"21",#PB_String_Numeric)
  String_Telnet_Port = StringGadget(#PB_Any, 432, 172, 80, 24, "23",#PB_String_Numeric)
  String_Oscam_Port = StringGadget(#PB_Any, 432, 220, 80, 24, "",#PB_String_Numeric)
  String_Username = StringGadget(#PB_Any, 208, 148, 200, 24, "root")
  String_Password = StringGadget(#PB_Any, 208, 220, 200, 24, "")
  Text_11 = TextGadget(#PB_Any, 243, 312, 272, 20, "Services, Bouquets und/oder lamedb Dateien", #PB_Text_Center)
  SetGadgetColor(text_11,#PB_Gadget_BackColor,RGB(61,160,226))
  Text_Programmpfade_Settings = TextGadget(#PB_Any, 243, 288, 272, 20, "Settingspfade auf dem Receiver", #PB_Text_Center)
  SetGadgetColor(Text_Programmpfade_Settings, #PB_Gadget_FrontColor,RGB(255,255,0))
  SetGadgetColor(Text_Programmpfade_Settings, #PB_Gadget_BackColor,RGB(64,128,128))
  SetGadgetFont(Text_Programmpfade_Settings, FontID(#Font_GUI_3))
  Text_12 = TextGadget(#PB_Any, 243, 360, 272, 20, "Userbouquet Dateien ", #PB_Text_Center)
  SetGadgetColor(text_12,#PB_Gadget_BackColor,RGB(61,160,226))
  Text_13 = TextGadget(#PB_Any, 243, 408, 272, 20, "Satteliten.xml, Cables.xml und/oder terristical.xml", #PB_Text_Center)
  SetGadgetColor(text_13,#PB_Gadget_BackColor,RGB(61,160,226))
  Text_Programmpfade_Emu = TextGadget(#PB_Any, 184, 457, 400, 20, "Programmpfade Emus und Keys auf dem Receiver", #PB_Text_Center)
  SetGadgetColor(Text_Programmpfade_Emu, #PB_Gadget_FrontColor,RGB(255,255,0))
  SetGadgetColor(Text_Programmpfade_Emu, #PB_Gadget_BackColor,RGB(64,128,128))
  SetGadgetFont(Text_Programmpfade_Emu, FontID(#Font_GUI_3))
  Text_18 = TextGadget(#PB_Any, 243, 482, 272, 20, " Ordner Emu (standart /var/emu/)", #PB_Text_Center)
  SetGadgetColor(text_18,#PB_Gadget_BackColor,RGB(61,160,226))
  String_Emu = StringGadget(#PB_Any, 196, 502, 376, 24, "")
  Text_19 = TextGadget(#PB_Any, 243, 531, 272, 20, " Ordner Keys (standart /var/keys/)", #PB_Text_Center)
  SetGadgetColor(text_19,#PB_Gadget_BackColor,RGB(61,160,226))
  String_Keys = StringGadget(#PB_Any, 196, 551, 376, 24, "")
  
  Text_14 = TextGadget(#PB_Any, 432, 64, 80, 20, "HTTP Port", #PB_Text_Center)
  SetGadgetColor(text_14,#PB_Gadget_BackColor,RGB(61,160,226))
  Text_15 = TextGadget(#PB_Any, 516, 88, 84, 20, "Standart 80")
  SetGadgetColor(text_15,#PB_Gadget_BackColor,RGB(61,160,226))
  String_http_port = StringGadget(#PB_Any, 432, 84, 80, 24, "")
  Text_16 = TextGadget(#PB_Any, 516, 132, 84, 20, "Standart 21")
  SetGadgetColor(text_16,#PB_Gadget_BackColor,RGB(61,160,226))
  Text_17 = TextGadget(#PB_Any, 516, 176, 84, 20, "Standart 23")
  SetGadgetColor(text_17,#PB_Gadget_BackColor,RGB(61,160,226))
  Button_verbindung_testen = ButtonGadget(#PB_Any, 616, 84, 220, 24, "IP Verbindung testen")
  Button_verbindung_username_passwort_testen = ButtonGadget(#PB_Any, 616, 144, 220, 24, "Benutzername, Passwort überprüfen")
  Button_Alles_auf_Standart = ButtonGadget(#PB_Any, 616, 220, 220, 24, "Alles auf Standart setzen")
  Text_Ports = TextGadget(#PB_Any, 428, 16, 80, 20, "Ports", #PB_Text_Center)
  SetGadgetColor(Text_Ports, #PB_Gadget_FrontColor,RGB(255,255,0))
  SetGadgetColor(Text_Ports, #PB_Gadget_BackColor,RGB(64,128,128))
  SetGadgetFont(Text_Ports, FontID(#Font_GUI_3))
  Text_Profildaten = TextGadget(#PB_Any, 232, 16, 156, 20, "Profildaten", #PB_Text_Center)
  SetGadgetColor(Text_Profildaten, #PB_Gadget_FrontColor,RGB(255,255,0))
  SetGadgetColor(Text_Profildaten, #PB_Gadget_BackColor,RGB(64,128,128))
  SetGadgetFont(Text_Profildaten, FontID(#Font_GUI_3))
  
  OpenPreferences(prefs)
  b$ = ReadPreferenceString("Profil geladen","")        
  SetGadgetText(String_Profil_geladen, b$)
  PreferenceGroup(b$)
  

  SetGadgetText(String_IP, IP ) 
  SetGadgetText(String_Password, Pass )  
  SetGadgetText(String_Telnet_Port,Str(telnet_port))  
  SetGadgetText(String_FTP_Port, Str(ftp_port) ) 
  SetGadgetText(String_http_port, Str(http_port) ) 
  SetGadgetText(String_Oscam_Port, Str(oscam_port) ) 
  SetGadgetText(String_services, services )
  SetGadgetText(String_bouquets, bouquets )
  SetGadgetText(String_satteliten, satteliten )
  SetGadgetText(String_totalcmd, totalcmd)
  SetGadgetText(String_UltraEdit, ultraedit )
  SetGadgetText(String_Sicherungsordner, Sicherungsordner )
  SetGadgetText(String_Emu, pademu)
  SetGadgetText(String_Keys, padkeys )
  
  ClosePreferences() 
  
  
  makeini()
  
  ;Define Items.s = GetGadgetText(String_7)
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_Gadget
        Select EventGadget()
            
          Case Button_Abbrechen
            
            
            CloseWindow(#Win_Einstellungen)
            DisableWindow(#Gui, 0)
            Break
          Case Button_neues_Profil 
            SetGadgetText(String_Profil_geladen, "new Profil")
            
            
            
            
          Case Button_Profil_speichern 
            If GetGadgetText(String_Profil_geladen) = "Default"
              MessageRequester( "Error", "Profil Default kann nicht geändert werden !")
            Else
              
              
              OpenPreferences(prefs)
              
              profilneu.s = GetGadgetText(String_Profil_geladen)  
              If profilneu
                
                PreferenceGroup(profilneu)
                WritePreferenceString("Username", GetGadgetText(String_Username))
                WritePreferenceString("IP", GetGadgetText(String_IP))
                WritePreferenceString("Password", GetGadgetText(String_Password))
                WritePreferenceString("Telnet Port", GetGadgetText(String_Telnet_Port))
                WritePreferenceString("FTP Port", GetGadgetText(String_FTP_Port))
                WritePreferenceString("Http Port", GetGadgetText(String_http_port))
                WritePreferenceString("Oscam Port", GetGadgetText(String_Oscam_Port))
                WritePreferenceString("Services", GetGadgetText(String_services))
                WritePreferenceString("Bouquets", GetGadgetText(String_bouquets))
                WritePreferenceString("Sattelien.xml", GetGadgetText(String_satteliten))
                WritePreferenceString("totalcommander", GetGadgetText(String_totalcmd))
                WritePreferenceString("ultraedit", GetGadgetText(String_UltraEdit))
                WritePreferenceString("Sicherungsordner", GetGadgetText(String_Sicherungsordner))
                WritePreferenceString("Pfad Emu", GetGadgetText(String_Emu))
                WritePreferenceString("Pfad Keys", GetGadgetText(String_Keys))
                
                
                SetGadgetText(String_Profil_geladen, profilneu)
                
                If OpenPreferences(prefs)
                  testprofil$ = ReadPreferenceString("Profil geladen","")
                  If testprofil$ = profilneu 
                    ClosePreferences()
                  Else
                    AddGadgetItem(Profile, -1, profilneu )
                    ClosePreferences() 
                  EndIf
                EndIf   
                ClosePreferences()
              Else  
                MessageRequester("Error", "Erst Profilnamen eingeben ! ")
                EndIf
              EndIf
            
            
            
          Case Button_Profil_laden 
            
            If EventType() = #PB_EventType_LeftClick
              a$ = GetGadgetText(Profile)
              
              If a$
                
                SetGadgetText(String_Profil_geladen, a$)
                
                
                OpenPreferences(prefs)
                WritePreferenceString("Profil geladen",a$ )
                PreferenceGroup(a$)
                Sicherungsordner.s = ReadPreferenceString("Sicherungsordner", GetHomeDirectory() + "EIW" + a$)
                SetGadgetText(String_Sicherungsordner, Sicherungsordner)
                IP.s = ReadPreferenceString("IP", "")
                SetGadgetText(String_IP, IP ) 
                User.s = ReadPreferenceString("Username","")
                SetGadgetText(String_Username, User ) 
                Pass.s = ReadPreferenceString("Password","")
                SetGadgetText(String_Password, Pass )  
                telnet_port = ReadPreferenceLong("Telnet Port",23)
                SetGadgetText(String_Telnet_Port, Str(telnet_port) )  
                ftp_port = ReadPreferenceLong("FTP Port",21)
                SetGadgetText(String_FTP_Port, Str(ftp_port) ) 
                http_port= ReadPreferenceLong("Http Port",80)
                SetGadgetText(String_http_port, Str(http_port) ) 
                oscam_port = ReadPreferenceLong("Oscam Port",3000)
                SetGadgetText(String_Oscam_Port, Str(oscam_port) ) 
                services.s = ReadPreferenceString("Services","")
                SetGadgetText(String_services, services )
                bouquets.s = ReadPreferenceString("Bouquets","")
                SetGadgetText(String_bouquets, bouquets )
                satteliten.s = ReadPreferenceString("Sattelien.xml","")
                SetGadgetText(String_satteliten, satteliten )
                totalcmd.s = ReadPreferenceString("totalcommander","")
                SetGadgetText(String_totalcmd, totalcmd )
                ultraedit.s = ReadPreferenceString("ultraedit","")
                SetGadgetText(String_UltraEdit, ultraedit )
                pademu.s = ReadPreferenceString("Pfad Emu","")
                SetGadgetText(String_Emu, pademu )
                padkeys.s = ReadPreferenceString("Pfad Keys","")
                SetGadgetText(String_Keys, padkeys)
                ClosePreferences() 
                
              Else
                MessageRequester("Info" , "Erst Profil auswählen !")
                
                
              EndIf 
            EndIf
            
            
            
            
            
            
            
            
            
            
          Case Button_Profil_loeschen
            
            If EventType() = #PB_EventType_LeftClick
              c$ = GetGadgetText(Profile)
              OpenPreferences(prefs)
              If c$ = "Default"
                MessageRequester("Error", "Default kann nicht gelöscht werden !")   
                
              Else
                
                RemovePreferenceGroup(c$)
                ClosePreferences()
                ClearGadgetItems(Profile)
                SetGadgetText(String_Profil_geladen,"")
               ; makeini()
              EndIf 
              
            EndIf
            
            
          Case Button_verbindung_testen   
            IPaktuell.s = GetGadgetText(String_IP)
           
           InitNetwork()
           Debug TestConnectionTCP(IPaktuell, 21, 1000)
            If TestConnectionTCP(IPaktuell, 21, 1000)=0
              
              MessageRequester("Error", "Konnte nicht mit dieser IP verbinden !")
              
            Else
              ;MessageRequester("Info", "IP Adresse OK ")
            EndIf
            
            
            
          Case Button_verbindung_username_passwort_testen 
            
            IPaktuell$ = GetGadgetText(String_IP)
            Username_aktuell$ = GetGadgetText(String_Username)
            Pass_aktuell$ = GetGadgetText(String_Password)
            
       
         InitNetwork()
            
            
            
            If OpenFTP(#Ftp, IPaktuell$, Username_aktuell$, Pass_aktuell$,ftp_port)
              MessageRequester("Info", "Verbindung erfolgreich mit angegebener IP, Benutzername, Passwort und FTP-Port.")
              CloseFTP(#FTP)
            Else 
              MessageRequester("Error", "Konnte Verbindung mit angegebener IP, Benutzername, Passwort und FTP-Port nicht herstellen !")
            EndIf
            
            
          Case Button_Alles_auf_Standart
            SetGadgetText(String_Username, "root")         
            SetGadgetText(String_Password, "")         
            SetGadgetText(String_IP, "192.168.178.2")
            SetGadgetText(String_FTP_Port, "21")
            SetGadgetText(String_Telnet_Port, "23")
            SetGadgetText(String_http_port, "80")
            SetGadgetText(String_Username, "root")
            SetGadgetText(String_services, "/etc/enigma2/")
            SetGadgetText(String_bouquets, "/etc/enigma2/")
            SetGadgetText(String_satteliten, "/etc/tuxbox/")
            SetGadgetText(String_totalcmd, "C:\Program Files\totalcmd\totalcmd.exe")
            SetGadgetText(String_UltraEdit, "C:\Program Files\IDM Computer Solutions\UltraEdit\Uedit32.exe")
            SetGadgetText(String_Sicherungsordner, GetHomeDirectory() + "EIW")
            SetGadgetText(String_Emu, "/var/emu/")
            SetGadgetText(String_Keys, "/var/keys/")
            
          Case Button_Satreceiver
            
            SetGadgetText(String_services, "/var/tuxbox/config/enigma/")
            SetGadgetText(String_bouquets, "/var/tuxbox/config/enigma/")
            SetGadgetText(String_satteliten, "/var/etc/") 
            
          Case Button_Kabelreceiver   
            SetGadgetText(String_services, "/var/tuxbox/config/enigma/")
            SetGadgetText(String_bouquets, "/var/tuxbox/config/enigma/cable/")
            SetGadgetText(String_satteliten, "/var/etc/")   
            
            
          Case Button_Terristischereceiver
            SetGadgetText(String_services, "/var/tuxbox/config/enigma/")
            SetGadgetText(String_bouquets, "/var/tuxbox/config/enigma/terrestrial/")
            SetGadgetText(String_satteliten, "/var/etc/") 
            
          Case Button_Enigma  
            SetGadgetText(String_services, "/etc/enigma2/")
            SetGadgetText(String_bouquets, "/etc/enigma2/")
            SetGadgetText(String_satteliten, "/etc/tuxbox/") 
            
          Case Button_pfad_totalcmd
            filetotalcmd$ = OpenFileRequester("Pfad zu Total Commander", "C:\Program Files\totalcmd\totalcmd.exe", "totalcmd (*.exe)",0)
            SetGadgetText(String_totalcmd, filetotalcmd$)
            
          Case Button_pfad_UltraEdit  
            fileultraedit$ = OpenFileRequester("Pfad zu UltraEdit", "C:\Program Files\IDM Computer Solutions\UltraEdit\Uedit32.exe", "Uedit32 (*.exe)",0)
            SetGadgetText(String_UltraEdit, fileultraedit$)
            
          Case Button_pfad_Sicherungsordner
            
            filesicherungsoedner$ = PathRequester("Pfad zum Sicherungsordner", GetHomeDirectory() + "EIW")
            SetGadgetText(String_Sicherungsordner, filesicherungsoedner$)
            
            
          Case  Button_OK
            
            
            CloseWindow(Win_Einstellungen)
            my_ini()
            DisableWindow(#Gui, 0)
            UseGadgetList(#Gui)
            
          
            Break    
            
            
         
            
            
        EndSelect
        
        
        
        
        
        
      Case #PB_Event_CloseWindow
       CloseWindow(#Win_Einstellungen)
      DisableWindow(#Gui, 0)
        
        
        
        
        
        
        
        
        ProcedureReturn 0
        Break
        
    EndSelect
  ForEver
  
  
  ProcedureReturn 1
  
  
EndProcedure
Procedure makeini()
  prefs.s = GetHomeDirectory() + "mysettings-EIW.ini" 
  DefaultUser.s = "root"
  DefaultPass.s = ""
  ReCreateTheINIFile:
  ;open or create settings file
  
  
  If FileSize(prefs) = -1
    CreatePreferences(prefs)
    PreferenceGroup("Default")
    WritePreferenceString("IP_Adresse", "192.168.1.1")
    WritePreferenceString("FTP-Port", "21")
    WritePreferenceString("Telnet-Port", "23")
    WritePreferenceString("HTTP-Port", "80")
    WritePreferenceString("Oscam-Port", "3000")
    WritePreferenceString("Password", "******")
    WritePreferenceString("Username", "root")
    WritePreferenceString("Services", "/etc/enigma2/")
    WritePreferenceString("Bouquets", "/etc/enigma2/")
    WritePreferenceString("Sattelien.xml", "/etc/tuxbox/")
    WritePreferenceString("totalcommander","C:\Program Files\totalcmd\totalcmd.exe")
    WritePreferenceString("ultraedit", "C:\Program Files\IDM Computer Solutions\UltraEdit\Uedit32.exe")
    WritePreferenceString("Sicherungsordner", GetHomeDirectory() + "EIW")
    WritePreferenceString("Pfad Emu", "/var/emu/")
    WritePreferenceString("Pfad Keys", "/var/keys/")
    
    
    
    
    
    
    
  EndIf 
  ClosePreferences()
  
  
  
  
  ; -------- Read the mysettings-EIW.ini file to get the preferences setup ---------
  
  
  
  
  
  If RereadFlag = 1
    DeleteFile(prefs)                   ; Delete the INI file
    Goto ReCreateTheINIFile                     ; and go recreate it.
  EndIf 
  ; --------------------------------------------------------------------------
  ; End of reading the .INI file to use to setup the program
  ; --------------------------------------------------------------------------
  ;Structure sPreferenceKey
  ;Name.s
  ;Value.s
  ;EndStructure
  
  ;Structure sPreferenceGroup
  ;Name.s
  ;List myPreferenceKey.sPreferenceKey()
  ;EndStructure
  
  
  
  
  NewList myPreferenceGroup.sPreferenceGroup()  
  
  
  
  
  If OpenPreferences(prefs)
    
    If ExaminePreferenceGroups()
      
      While NextPreferenceGroup()
        
        AddElement(myPreferenceGroup())
        myPreferenceGroup()\Name=PreferenceGroupName()
        
        group.s = PreferenceGroupName()  
        AddGadgetItem(Profile,-1, group)
        
        
        If ExaminePreferenceKeys()
          
          While NextPreferenceKey()
            
            AddElement(myPreferenceGroup()\myPreferenceKey())
            myPreferenceGroup()\myPreferenceKey()\Name=PreferenceKeyName()
            myPreferenceGroup()\myPreferenceKey()\Value=PreferenceKeyValue()
            
          Wend
          
        Else
          ;Debug "ExaminePreferenceKeys()"
        EndIf
        
      Wend
      
    Else
      ;Debug "!ExaminePreferenceGroups()"
    EndIf
    
    ClosePreferences()
    
  Else
    ;Debug "!OpenPreferences()"
  EndIf
  
  ForEach myPreferenceGroup()
    ;Debug myPreferenceGroup()\Name
    
    ;SetGadgetText(String_7, ReadPreferenceString("Profile", ""))
    
    ForEach myPreferenceGroup()\myPreferenceKey()
      ;Debug PreferenceGroupName()
      
      
      ;Debug myPreferenceGroup()\myPreferenceKey()\Name + " : " + myPreferenceGroup()\myPreferenceKey()\Value
      ;Debug "  PreferenceKeyName: " + myPreferenceGroup()\myPreferenceKey()\Name
      ;Debug "  PreferenceKeyValue: " + myPreferenceGroup()\myPreferenceKey()\Value
    Next
    ;Debug "---"
  Next
  ;Debug myPreferenceGroup()\Name
  
  
EndProcedure


Purebasic 5.51
Benutzeravatar
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

Re: Windows in Procedure

Beitrag von ts-soft »

Also, ich kann da nichts zum ausführen bekommen :wink:

Solange Du den Code nicht kürzt, werde ich den auch kaum ansehen.
Vielleicht jemand anders? Ich bin zwar kein feigling, aber sowas ist mir
noch nicht untergekommen. Da solltest Du nochmals am Stil arbeiten.

Gruß
Thomas
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.
Bild
schleicher
Beiträge: 214
Registriert: 30.03.2014 19:57
Computerausstattung: Purebasic 5.70
Wohnort: 18314 Löbnitz

Re: Windows in Procedure

Beitrag von schleicher »

Tips wären mir lieber als nur Vorwürfe. Von Vorwürfen ohne genaue Angaben kann ich nicht lernen Ich poste hier im Bereich Anfänger. Das ist nicht zu vergessen.
Wie wäre denn z.B. in deinen Augen ein vernünftiger Stil ?

Ich werde ihn einkürzen, denn ich will ja auch die Hilfe. Dauert ne Weile.
Purebasic 5.51
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Windows in Procedure

Beitrag von Kiffi »

schleicher hat geschrieben:Ich werde ihn einkürzen
habe ich schon gemacht:

Code: Alles auswählen

					Case  Button_OK
						CloseWindow(Win_Einstellungen)

Grüße ... Kiffi
a²+b²=mc²
schleicher
Beiträge: 214
Registriert: 30.03.2014 19:57
Computerausstattung: Purebasic 5.70
Wohnort: 18314 Löbnitz

Re: Windows in Procedure

Beitrag von schleicher »

:lol: Das Fenster wird ja geschlossen(das ist ok), aber das darunterliegende deaktivierte Window lässt sich nicht wieder aktivieren ! Da kommt dann der Fehler "Window #Gui ist nicht initialisiert"
Ich mache mal einen Beispielcode
Purebasic 5.51
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Windows in Procedure

Beitrag von Kiffi »

schleicher hat geschrieben: :lol:
/:->

OK, wir sind hier in der Anfänger-Ecke. Deshalb noch einmal etwas ausführlicher:

Lt. Deiner Enumeration hat #Gui den Wert 0 und #Win_Einstellungen den Wert 1

Du führst CloseWindow(Win_Einstellungen) aus. Win_Einstellungen wird nirgendwo zugewiesen. Deshalb hat es den Wert 0.

Mit CloseWindow(Win_Einstellungen) schließt Du also das #Gui-Fenster; nicht das #Win_Einstellungen-Fenster.

Grüße ... Kiffi
a²+b²=mc²
schleicher
Beiträge: 214
Registriert: 30.03.2014 19:57
Computerausstattung: Purebasic 5.70
Wohnort: 18314 Löbnitz

Re: Windows in Procedure

Beitrag von schleicher »

Na das ist doch eine kompetente Antwort.

So wie ich dich verstehe ist es wichtig in welcher Reihenfolge man die die Enumeration ausführt ?
Oder gibt es noch ne Möglichkeit die einzelnen Windows einen eigenen Wert zuzuweisen ?



Ok habs selber herausgefunden, aber danke für deine Hilfe. Nun funktionierts.
Purebasic 5.51
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Windows in Procedure

Beitrag von Kiffi »

Du hast den springenden Punkt immer noch nicht gesehen:

Ändere CloseWindow(Win_Einstellungen) zu CloseWindow(#Win_Einstellungen).
Dann solltest Du keine Fehlermeldung mehr bekommen.

Code: Alles auswählen

Global Win_Einstellungen 
... kannst Du auch rausnehmen. Zusammen mit EnableExplicit wird Dir dann auffallen,
dass Du an anderen Stellen auch das '#' vergessen hast.

Deinen übermäßigen Gebrauch von Global würde ich an Deiner Stelle überdenken.
Verwende es sparsam und nur dort, wo es wirklich benötigt wird.

Grüße ... Kiffi
a²+b²=mc²
Antworten