Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Re: ToolBar meiner Programme zu langsam
Autor: Arndt Lindner (80.150.206.---)
Datum:   13.03.21 12:57

Leider kann ich den langsamen Aufbau der Toolbar nicht beobachten. Ich benutze XProfanX4, eine I5-7400 CPU und 16 GB RAM.
Den Vorschlag von Heinz Brill das ganze mit Arrays zu implementiern finde ich unabhängig von den Geschwindigkeitsproblem, zu dem ich nichts beitragen kann, sehr gut. Das Programm könnte beispielsweise so aussehen:
  'Hauptfenster erstellen
   WindowTitle "Launcher V1.0"                                           'Windowstitel festlegen
   WindowStyle 16 + 64 + 128                                             'Fenster ohne Meüleiste und ohne Min/Max/Close (Schließen nur über Exit möglich - Wert 128)
   Declare e%, x%, y%, i%
   x% = 36 : y% = 36                                                     'Größe der Icons und der Leiste
   Window %MaxX/2 - (33*y%)/2 ,2 - 33*x%, y%                             'Vollbild einstellen
 
   'Objekte für PictureButtons werden erstellt
   Declare hIcon&[], hButton&[], hToolTip&[]
   Var path$[] = "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe",\
                 "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe",\
                 "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe",\
                 "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe",\
                 "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe",\
                 "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe",\
                 "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe",\
                 "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe", "C:/xprofanx4/" + "xprofed.exe",\
                 "C:/xprofanx4/" + "xprofed.exe"
   Var tooltip$[] = "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit",\
                    "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit",\
                    "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit",\
                    "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit", "freeBASIC 32Bit",\
                    "freeBASIC 32Bit"
 
   for i%,0,$20
     hIcon&[i%] = Create("hIcon", path$[i%], 0)
     hButton&[i%] = Create("ICONBUTTON", %hWnd, hIcon&[i%], i%*x%, 0, x%, y%)
     hToolTip&[i%] = Create("Tooltip", %hWnd, hButton&[i%], tooltip$[i%])
   endfor
 
    Whilenot e%
      WaitInput
        for i%,0,$1F
          If Clicked(hButton&[i%])
            If i% = $0E
             'Wenn AutoSave im Benutzerverzeichnis existiert, wird sie als "pimped.dat" in das Projektverzeichnis unter Bard's Tale Save kopiert
              If FileExists("C:\\Users\\mbark\\AppData\\LocalLow\\InXile Entertainment\\The Bard's Tale Trilogy\\saves\\AutoSave.dat") = 1
                COPY "C:\\Users\\mbark\\AppData\\LocalLow\\InXile Entertainment\\The Bard's Tale Trilogy\\saves\\AutoSave.dat" > $Drive + "\Projekte\\Bard's Tale Save\\pimped.dat"
              EndIf
            Endif
            WINEXEC(path$[i%], 4)
          Endif  
        endfor
        If Clicked(hButton&[$20])
          'Wenn "pimped.dat" im Verzeichnis Bard's Tale Save existiert, wird sie auch als "pimped.dat" nach "C:\\Users\\mbark\\AppData\\LocalLow\\InXile Entertainment\\The Bard's Tale Trilogy\\saves\\pimped.dat" kopiert
          If FileExists($Drive + "\Projekte\\Bard's Tale Save\\pimped.dat") = 1
            COPY $Drive + "\Projekte\\Bard's Tale Save\\pimped.dat" > "C:\\Users\\mbark\\AppData\\LocalLow\\InXile Entertainment\\The Bard's Tale Trilogy\\saves\\pimped.dat"
          EndIf
          e% = 1
        Endif  
      endwhile  
        
     'Alle erstellten Objekte werden vor dem Beenden gelöscht
     for i%,0,$20     
       DeleteObject hIcon&[i%], hButton&[i%], hToolTip&[i%]   
     endfor  
   End
 

Für die Texte in path&[] und tooltip$[] habe ich nur Dummies eingetragen. Die müssen natürlich angepasst werden.

Arndt Lindner



 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 ToolBar meiner Programme zu langsam  Neu
Markus Barkholz 12.03.21 19:21 
 Re: ToolBar meiner Programme zu langsam  Neu
Heinz Brill 12.03.21 20:23 
 Re: ToolBar meiner Programme zu langsam  Neu
Arndt Lindner 13.03.21 12:57 
 Re: ToolBar meiner Programme zu langsam  Neu
Markus Barkholz 13.03.21 18:01 
 Re: ToolBar meiner Programme zu langsam  Neu
Markus Barkholz 13.03.21 18:46 
 Re: ToolBar meiner Programme zu langsam  Neu
Arndt Lindner 13.03.21 22:33 
 Re: ToolBar meiner Programme zu langsam  Neu
Heinz Brill 13.03.21 19:13 
 Re: ToolBar meiner Programme zu langsam  Neu
Heinz Brill 14.03.21 09:43 
 Re: ToolBar meiner Programme zu langsam  Neu
Markus Barkholz 14.03.21 19:49 
 Re: ToolBar meiner Programme zu langsam  Neu
Heinz Brill 15.03.21 08:07 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org