Ne ne, das war nicht aggressiv gemeint. (steht mir nicht zu)
Nur für mich wieder typisch, dass ich mir einen Wolf suche und nix finde und am Ende ist es wieder ganz einfach.
F1 und Progressbar habe ich natürlich bemüht, ich bin einfach davon ausgegangen, dass es eine Konstante gibt die sich da zB nennt:
RSBasic hat geschrieben:udg hat geschrieben:gibts das auch standard mäßig in PB?
Damals nicht, aber inzwischen schon: #PB_ProgressBar_Unknown
Aha
wusste ich nicht und hätte auch nicht gewusst das ich diese Konstante suchen muss, da ich nur Marquee kenne.
-aber in PBv5.30 noch nciht vorhanden
Das ich erst wieder mit SetGadgetState arbeiten muss, habe ich ausgeblendet, nahm ich an, es gibt da was standardmäßiges
Ein Frage zum eigentlichen Vorhaben:
Ich muss rar.exe per Command aufrufen. Dies öffnet die CMD Konsole. genau in diesem Moment werden alle PureBasic Vorgänge angehalten da das CMD Fenster Global sich in den Vordergrund dängt.
Trotz Code für meinen Idle Marquee:
bleibt die Bewegung so lang stehen, bis das CMD Fenster wieder geschlossen ist, weil der Packvorgang beendet wurde, erst dann funktioniert Mein Marquee wieder ordnungsgemäß.
Da ich bestimmte Rar Parameter aufrufen muss, muss ich folgendes Importieren:
die Kommando Parameter:
Code: Alles auswählen
Procedure Packer(Name.s)
If GetGadgetState(#Rar_100_MB)=#PB_Checkbox_Checked
Eingabetext1$ = GetGadgetText(#Rar_100_MB_TXT) ; Eingabe auslesen
ElseIf GetGadgetState(#Rar_250_MB)=#PB_Checkbox_Checked
Eingabetext1$ = GetGadgetText(#Rar_250_MB_TXT) ; Eingabe auslesen
ElseIf GetGadgetState(#Rar_500_MB)=#PB_Checkbox_Checked
Eingabetext1$ = GetGadgetText(#Rar_500_MB_TXT) ; Eingabe auslesen
ElseIf GetGadgetState(#Rar_1000_MB)=#PB_Checkbox_Checked
Eingabetext1$ = GetGadgetText(#Rar_1000_MB_TXT) ; Eingabe auslesen
ElseIf GetGadgetState(#RarFile_Custom_ChkBox)=#PB_Checkbox_Checked
Eingabetext1$ = GetGadgetText(#RarFile_Custom) ; Eingabe auslesen
EndIf
Protected Pfad.s = GetPathPart(ProgramFilename()) + Name
Protected Parameter.s = GetPathPart(ProgramFilename()) + "Rar.exe a -m1 -ma5 -md32m -r -t -df -v" + Eingabetext1$ + "m " + #DQUOTE$ + Name + ".rar" + #DQUOTE$
Protected ID
SetCurrentDirectory(Pfad + "\")
If OpenConsole()
system("color 3")
system(Parameter)
;system("pause")
CloseConsole()
SetGadgetText(#Btn_Erstellen,"rar Archive erfolgreich erstellt")
EndIf
SetCurrentDirectory(GetPathPart(ProgramFilename()))
EndProcedure
Mein Marquee Idle Code der eigtl. während des Packens angezeigt werden soll:
Code: Alles auswählen
;Procedure IdlePacking()
OpenWindow(#IdleWnd, 502, 158, 300, 100, "", #PB_Window_BorderLess|#PB_Window_ScreenCentered|#WS_VISIBLE)
; FENSTER FARBE
SetWindowColor(#IdleWnd, RGB(68, 87, 112))
; SET WINDOW ALWAYS ON TOP
SetWindowPos_(WindowID(#IdleWnd),#HWND_TOPMOST,0,0,0,0,#SWP_NOMOVE|#SWP_NOSIZE)
SetActiveWindow(#IdleWnd)
;////////////////////////////////////
; CONTAINER IDLE
;////////////////////////////////////
ContainerGadget(#Idle_Container, 1, 1, 298, 98, #PB_Container_BorderLess)
SetGadgetColor(#Idle_Container, #PB_Gadget_BackColor, RGB(109, 145, 160))
ProgressBarGadget(#ProgressBar,10,42,277,16,0,100,8)
SendMessage_(GadgetID(#ProgressBar),#WM_USER+10,1,20)
CloseGadgetList()
;EndProcedure
Kann man da etwas erzwingen, dass der Progressbar trotzdem weiter funktioniert?
Grüße