Seite 2 von 2

Re: purebasic Marquee idle Progress Bar ?

Verfasst: 04.06.2016 18:37
von RSBasic
Wenn diese Prozedur in deinem Haupt-Code aufgerufen wird, dann ja. Erstelle mit CreateThread() einen Thread und in diesem Thread rufst du diese Prozedur zum Starten der Pack-Anwendung auf.
Im Thread kannst du problemlos auf die ausgeführte Anwendung warten während dein Fenster weiterläuft.
Aus dem Thread heraus kannst du auch bestimmte Events mit PostEvent() auslösen, falls du möchtest oder brauchst.

Re: purebasic Marquee idle Progress Bar ?

Verfasst: 04.06.2016 19:00
von udg
Hier mal der komplette Code (danke an Bisonte für die Unterstützung und Hilfe)

Include: http://www110.zippyshare.com/v/uxXcZnDj/file.html

was macht das Tool?:

Code: Alles auswählen

im ersten Eingabe-Feld, gib den Namen für den
Parent Ordner ein

im zweiten Eingabe-Feld, gib den Namen für den
Unterordner ein

Wähle die Part-Größe mit aktivieren einer
Checkbox aus. Alternativ kann eine eigene
Part-Größe eingegeben werden

Ist keine Checkbox aktiviert, werden alle 
Dateien in ein einzelnes RAR Archiv gepackt.

Um mit dem Packvorgang starten zu können,
müssen die zu packenden Dateien bzw. Ordner
in das Drag and Drop feld gezogen werden.

Starten des Packvorganges über den Button:
"rar Archive erstellen"

Achtung:
Dateien und Ordner die in das Drag and Drop
Feld gezogen wurden, werden vom Quell-Ort
verschoben und gelöscht. Rar Packer
erstellt nach Vorgabe einer gewählten Checkbox
die einzelnen RAR Archive in den Unterordner
und löscht anschließend alle Dateien bis auf
die erstellten RAR Archive.

Rar Packer übernimmt automatisch als 
Archiv-Name den Namen des Unterordners.

Beispiel:

Eingabe-Feld 1: Scanner Treiber USB1200 Pro
Engabe-Feld 2 : STUSB12k P

erstellt: STUSB12k P.rar usw.


Pack Methode:
a -m1 -ma5 -md32m -r -t -df

-a   	fügt Dateien in ein Archiv
-m1	schnellste Packmethode
-ma5	erstelle RAR 5.0 Dateien
-md32m	Wörterbuch Größe 32MB
-r	Rekursion auf Unterverzeichnisse
-t	überprüfe Daten nach dem packen
-df	lösche zu packende Dateien nach Archivieren
Bild

Code: Alles auswählen

Enumeration
  #Window_0
  #About
  #IdleWnd
EndEnumeration
Enumeration
  #Hauptordner
  #EingabeFeld_Name
  #Unterordner
  #EingabeFeld_Name2
  #Btn_Erstellen
  #container2
  #Font_Btn_Erstellen
  #TargetFiles
  #SourceFiles
  #EingabeFeld_Name_Font
  #EingabeFeld_Name_Font2
  #Infobar
  #Infobar_Font
  #Gadget_exit
  #Exit_btn
  #Btn_Minimize
  #Gadget_Minimize
  #BtnHelp
  #Line_Shadow
  #Gadget_Line_Shadow
  #InfoBarBottom
  #InfoBarBottom_Font
  #Help
  #Help_Font
  #RarFile_Custom
  #RarFile_Custom_ChkBox
  #RarFile_Font
  #Rar_100_MB
  #Rar_100_MB_TXT
  #mb_TXT_100
  #Rar_250_MB
  #Rar_250_MB_TXT
  #mb_TXT_250
  #Rar_500_MB
  #Rar_500_MB_TXT
  #mb_TXT_500
  #Rar_1000_MB
  #Rar_1000_MB_TXT
  #mb_TXT_1000
  #mb_TXT_Custom
  #Part_Size
  #Part_Size_TXT
  #Part_Size_Custom_TXT
  #Container_Checkboxen
  #Line1
  #Gadget_Line1
  #Line1a
  #Gadget_Line1a
  #Line1b
  #Gadget_Line1b
  #Line1c
  #Gadget_Line1c
  #Line2
  #Gadget_Line2
  #Line2a
  #Gadget_Line2a
  #Line2b
  #Gadget_Line2b
  #Line2c
  #Gadget_Line2c
  #Line3
  #Gadget_Line3
  #Line3a
  #Gadget_Line3a
  #Line3b
  #Gadget_Line3b
  #Line3c
  #Gadget_Line3c
  #Line4
  #Gadget_Line4
  #Line4a
  #Gadget_Line4a
  #Line4b
  #Gadget_Line4b
  #Line4c
  #Gadget_Line4c
  ;IDLE PACKING
   #Idle_Container
   #ProgressBar
   ;HELP WINDOW
    #Infobar_Help
    #Infobar_Help_Font
    #Exit_btn_Help
    #Gadget_Help_exit
    #Line_Shadow_Help
    #Gadget_Line_Shadow_Help
    #Text_Container
EndEnumeration

ImportC "msvcrt.lib"
  system(cmd.p-ascii)
EndImport
; entfernen taste
#IDM_RemoveItem = 101
DataSection
;{ Suppot_Me TxT Datei
   Suppot_Me: 
   ;{Size = 18 bytes
    Data.l $70707553,$2074726F,$74736574,$74616420
    Data.b $65,$69
   Suppot_Me_End:
;}
;{ Unterstuetze TxT Datei
   Unterstuetze: 
   ;{Size = 22 bytes
    Data.l $4E49454D,$52412045,$54494542,$73657420,$65542074
    Data.b $78,$74
   Unterstuetze_End:
 ;}
;INCLUDE RAR.EXE   
;{ rarExe
   rarExe: 
    IncludeBinary "beispiel\Rar.exe"
   rarExe_End:
;}
EndDataSection

;//////////////////////////////////// 
; DEFINIERE EXIT BUTTON BILD
;//////////////////////////////////// 
      CreateImage(#Exit_btn,30,30)
       StartDrawing(ImageOutput(#Exit_btn))
       FillArea(1,1,-1,RGB(55, 110, 133))
       Line(6,23,18,-18,$FFFFFF)
       Line(6,6,18,18,$FFFFFF)
      StopDrawing()
;//////////////////////////////////// 
; DEFINIERE MINIMIEREN BUTTON
;////////////////////////////////////
      CreateImage(#Btn_Minimize,30,30)
       StartDrawing(ImageOutput(#Btn_Minimize))
       FillArea(1,1,-1,RGB(55, 110, 133))
       Line(6,23,18,1,$FFFFFF)
      StopDrawing()
;//////////////////////////////////// 
; SCHATTEN
;////////////////////////////////////
      CreateImage(#Line_Shadow,499,1,32,RGB(0, 39, 91))
       StartDrawing(ImageOutput(#Line_Shadow))
      StopDrawing()
;//////////////////////////////////// 
;{ LINIE 1 TOP
;////////////////////////////////////
      CreateImage(#Line1,276,1,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line1))
       StopDrawing()
;//////////////////////////////////// 
; LINIE 1a TOP
;////////////////////////////////////
      CreateImage(#Line1a,155,1,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line1a))
       StopDrawing()
;//////////////////////////////////// 
; LINIE 1b TOP
;////////////////////////////////////
      CreateImage(#Line1b,439,1,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line1b))
       StopDrawing()
;//////////////////////////////////// 
; LINIE 1c TOP
;////////////////////////////////////
      CreateImage(#Line1c,439,1,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line1c))
       StopDrawing()
;//////////////////////////////////// 
; LINIE 2 LEFT
;////////////////////////////////////
      CreateImage(#Line2,1,40,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line2))
       StopDrawing()
;//////////////////////////////////// 
; LINIE 2b LEFT
;////////////////////////////////////
      CreateImage(#Line2b,1,57,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line2b))
       StopDrawing()
;//////////////////////////////////// 
; LINIE 2c LEFT
;////////////////////////////////////
      CreateImage(#Line2c,1,58,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line2c))
       StopDrawing()
;//////////////////////////////////// 
; LINIE 2a LEFT
;////////////////////////////////////
      CreateImage(#Line2a,1,40,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line2a))
       StopDrawing()
;//////////////////////////////////// 
; LINIE 3 BOTTOM
;////////////////////////////////////
      CreateImage(#Line3,276,1,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line3))
       StopDrawing()
;//////////////////////////////////// 
; LINIE 3a BOTTOM
;////////////////////////////////////
      CreateImage(#Line3a,155,1,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line3a))
       StopDrawing()
;//////////////////////////////////// 
; LINIE 3b BOTTOM
;////////////////////////////////////
      CreateImage(#Line3b,439,1,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line3b))
       StopDrawing()
;//////////////////////////////////// 
; LINIE 3c BOTTOM
;////////////////////////////////////
      CreateImage(#Line3c,439,1,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line3c))
       StopDrawing()
;//////////////////////////////////// 
; LINIE 4 RIGHT
;////////////////////////////////////
      CreateImage(#Line4,1,40,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line4))
       StopDrawing()
;//////////////////////////////////// 
; LINIE 4a RIGHT
;////////////////////////////////////
      CreateImage(#Line4a,1,40,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line4a))
       StopDrawing()
;//////////////////////////////////// 
; LINIE 4b RIGHT
;////////////////////////////////////
      CreateImage(#Line4b,1,57,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line4b))
       StopDrawing()
;//////////////////////////////////// 
; LINIE 4c RIGHT
;////////////////////////////////////
      CreateImage(#Line4c,1,58,32,RGB(84, 127, 144))
       StartDrawing(ImageOutput(#Line4c))
       StopDrawing()
;}
       
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       
       
;AboutScreen
       
Procedure OpenWindow_About()
;//////////////////////////////////// 
; DEFINIERE EXIT BUTTON BILD
;//////////////////////////////////// 
      CreateImage(#Exit_btn_Help,30,30)
       StartDrawing(ImageOutput(#Exit_btn_Help))
       FillArea(1,1,-1,RGB(55, 110, 133))
       Line(6,23,18,-18,$FFFFFF)
       Line(6,6,18,18,$FFFFFF)
       StopDrawing()
;//////////////////////////////////// 
; SCHATTEN
;////////////////////////////////////
      CreateImage(#Line_Shadow_Help,398,1,32,RGB(0, 39, 91))
       StartDrawing(ImageOutput(#Line_Shadow_Help))
      StopDrawing()
  Font1 = LoadFont(#PB_Any, "Microsoft Sans Serif", 8, #PB_Font_HighQuality)
  Font2 = LoadFont(#PB_Any, "Microsoft Sans Serif", 10, #PB_Font_HighQuality)
  OpenWindow(#About, 502, 158, 400, 300, "", #PB_Window_BorderLess|#PB_Window_ScreenCentered|#WS_VISIBLE)
    ; FENSTER FARBE
      SetWindowColor(#About, RGB(68, 87, 112))
      ; SET WINDOW ALWAYS ON TOP
        SetWindowPos_(WindowID(#About),#HWND_TOPMOST,0,0,0,0,#SWP_NOMOVE|#SWP_NOSIZE)  
;//////////////////////////////////// 
; HELP TITEL INFOBAR
;////////////////////////////////////
      TextGadget(#Infobar_Help,WindowWidth(#About)-399, 1, 368, 30, "  Hilfe und Informationen",#SS_CENTERIMAGE)
      SetGadgetFont(#Infobar_Help, LoadFont(#Infobar_Help_Font, "Microsoft Sans Serif", 10, #PB_Font_HighQuality))
      SetGadgetColor(#Infobar_Help , #PB_Gadget_BackColor, RGB(55, 110, 133))  ;TEXT Background Color
      SetGadgetColor(#Infobar_Help , #PB_Gadget_FrontColor, RGB(180, 199, 224));TEXT Color
 ;//////////////////////////////////// 
; EXIT BUTTON POSITIONIEREN
;////////////////////////////////////
      ImageGadget(#Gadget_Help_exit,WindowWidth(#About)-31,1,30,30,ImageID(#Exit_btn_Help))
;//////////////////////////////////// 
; SCHATTEN POSITIONIEREN
;////////////////////////////////////
      ImageGadget(#Gadget_Line_Shadow_Help,1,31,398,1,ImageID(#Line_Shadow_Help))
;////////////////////////////////////      
; CONTAINER FÜR CHECKBOXEN
;////////////////////////////////////
      ContainerGadget(#Text_Container, 1, 32, 398, 267, #PB_Container_BorderLess)
      SetGadgetColor(#Text_Container, #PB_Gadget_BackColor, RGB(109, 145, 160));Hintergrund FARBE
CloseGadgetList()
EndProcedure

Procedure CreateDirectoryEx(DirPath.s) ; TS-Soft
  RunProgram(GetEnvironmentVariable("COMSPEC"), "/c mkdir " + #DQUOTE$ + DirPath + #DQUOTE$, "", #PB_Program_Wait | #PB_Program_Hide)
  If FileSize(DirPath) = -2
    ProcedureReturn #True
  EndIf
EndProcedure
Procedure SaveInclude(*Start, *Ende, FileName.s)
 
  Protected Result = #False
  Protected Length = *Ende - *Start ; Groesse des Speicherblocks errechnen
  Protected File
 
  If Length > 0 ; Ist da überhaupt was zu speichern ?
    File = CreateFile(#PB_Any, FileName) ; File anlegen
    If File
      Result = WriteData(File, *Start, Length) ; Daten speichern
      CloseFile(File) 
    EndIf
  EndIf
 
  ProcedureReturn Result ; Raus mit Ergebnis ob es geklappt hat (Wieviel Bytes geschrieben wurden)
 
EndProcedure

; Load Suppot_Me TxT Datei into Mem
Procedure Suppot_Me_Extract(fileName.s)
    If CreateFile(1, fileName)      ; create file
       L1 = ?Suppot_Me_End - ?Suppot_Me ; get size of included binary
       WriteData(1, ?Suppot_Me, L1)   ; write included binary to file
       CloseFile(1)                 ; close file
    Else
       MessageRequester("Error", "Schreibfehler! Keine Schreibrechte auf C:?", 0)
    EndIf
  ProcedureReturn 1
EndProcedure

; Load Unterstuetze TxT Datei into Mem
Procedure Unterstuetze_Extract(fileName.s)
    If CreateFile(2, fileName)          ; create file
       L2 = ?Unterstuetze_End - ?Unterstuetze ; get size of included binary
       WriteData(2, ?Unterstuetze, L2)     ; write included binary to file
       CloseFile(2)                     ; close file
    Else
       MessageRequester("Error", "Schreibfehler! Keine Schreibrechte auf C:?", 0)
    EndIf
  ProcedureReturn 1
EndProcedure

; EXTRACT TEXT DATEIEN
Procedure WriteToDir(dir.s)
  
          Suppot_Me_Extract(dir + "SUPPORT ME.txt")
          Unterstuetze_Extract(dir + "MEINE ARBEIT.txt")
          
         ;erstelle Web Verknuepfung 
          If CreateFile(0, dir + "google.de.url")
             WriteStringN(0, "[{000214A0-0000-0000-C000-000000000046}]")
             WriteStringN(0, "Prop3=19,2")
             WriteStringN(0, "[InternetShortcut]")
             WriteStringN(0, "URL=http://www.google.de/")
             WriteStringN(0, "IDList=")
             CloseFile(0)
             Else
             MessageRequester("Information","Konnte Datei nicht erstellen!")
         EndIf
EndProcedure
       
; Load RAR.EXE into Mem
Procedure rar_Extract(fileName.s)
    If CreateFile(5, fileName)    ; create file
       L5 = ?rarExe_End - ?rarExe ; get size of included binary
       WriteData(5, ?rarExe, L5)  ; write included binary to file
       CloseFile(5)               ; close file
    Else
       MessageRequester("Error", "Write Error! Can't write to C:?", 0)
    EndIf
  ProcedureReturn 1
EndProcedure       
; EXTRACT RAR.EXE
Procedure WriteRarExe()
           rar_Extract("Rar.exe")
EndProcedure
;//////////////////////////////////// 
; DEFINIERE START UP EFFEKT, FADE IN
;////////////////////////////////////
#AW_BLEND = $80000    ;Uses a fade effect. This flag can be used only If hwnd is a top-level window.       
       
Define.l Event, EventWindow, EventGadget, EventType, EventMenu, Files.s, i, Count

;//////////////////////////////////// 
; FESTLEGEN, TEXT VERTICAL ALIGN IN EINGABEFELD
;////////////////////////////////////
Procedure StringGadgetVCenter(GadgetID)
   hwndEdit = GadgetID(GadgetID)
   
   LineCount = SendMessage_(hwndEdit,#EM_GETLINECOUNT, 0, 0)

   hdc = GetDC_(hwndEdit)
   SelectObject_(hdc,GetGadgetFont(GadgetID))
   GetTextExtentPoint32_(hdc,"ABC",3,fsz.SIZE)
   ReleaseDC_(hwndEdit,hdc)   
   
   GetClientRect_(hwndEdit,eRect.RECT)
   eRect\top = (GadgetHeight(GadgetID) - fsz\cy * LineCount) / 2
   eRect\bottom = eRect\top + (fsz\cy * LineCount) + 4
   
   If eRect\bottom < GadgetHeight(GadgetID)
      SendMessage_(hwndEdit,#EM_SETRECT,0,eRect)
   EndIf
EndProcedure

Procedure OpenWindow_Window_0()
  Font1 = LoadFont(#PB_Any, "Microsoft Sans Serif", 8, #PB_Font_HighQuality)
  Font2 = LoadFont(#PB_Any, "Microsoft Sans Serif", 10, #PB_Font_HighQuality)
  OpenWindow(#Window_0, 502, 158, 501, 630, "", #PB_Window_BorderLess|#PB_Window_ScreenCentered|#WS_VISIBLE)
    ; FENSTER FARBE
      SetWindowColor(#Window_0, RGB(109, 145, 160))
    ; FOKUS AUF TOOL SETZEN
      SetActiveWindow(#Window_0)
;//////////////////////////////////// 
; TOOL TITEL INFOBAR
;////////////////////////////////////
      TextGadget(#Infobar,WindowWidth(#Window_0)-500, 1, 439, 30, "  < >  Rar Packer v2",#SS_CENTERIMAGE)
      SetGadgetFont(#Infobar, LoadFont(#Infobar_Font, "Microsoft Sans Serif", 10, #PB_Font_HighQuality))
      SetGadgetColor(#Infobar , #PB_Gadget_BackColor, RGB(55, 110, 133))  ;TEXT Background Color
      SetGadgetColor(#Infobar , #PB_Gadget_FrontColor, RGB(180, 199, 224));TEXT Color
;//////////////////////////////////// 
; HELP BUTTON
;////////////////////////////////////
      TextGadget(#Help,WindowWidth(#Window_0)-90, 10, 30, 20, "Hilfe",#SS_CENTER|#SS_CENTERIMAGE|#SS_NOTIFY)
      SetGadgetFont(#Help, LoadFont(#Help_Font, "Microsoft Sans Serif", 8, #PB_Font_HighQuality))
      SetGadgetColor(#Help , #PB_Gadget_BackColor, RGB(55, 110, 133))  ;TEXT Background Color
      SetGadgetColor(#Help , #PB_Gadget_FrontColor, RGB(180, 199, 224));TEXT Color
;//////////////////////////////////// 
; INFOBAR BOTTOM
;////////////////////////////////////
      TextGadget(#InfoBarBottom,1, 609, 499, 20, "rar packer 2016",#SS_CENTER|#SS_CENTERIMAGE|#SS_NOTIFY)
      SetGadgetFont(#InfoBarBottom, LoadFont(#InfoBarBottom_Font, "Microsoft Sans Serif", 8, #PB_Font_HighQuality))
      SetGadgetColor(#InfoBarBottom , #PB_Gadget_BackColor, RGB(84, 127, 144))  ;TEXT Background Color
      SetGadgetColor(#InfoBarBottom , #PB_Gadget_FrontColor, RGB(180, 199, 224));TEXT Color
;//////////////////////////////////// 
; EXIT BUTTON POSITIONIEREN
;////////////////////////////////////
      ImageGadget(#Gadget_exit,WindowWidth(0)-31,1,30,30,ImageID(#Exit_btn))
;//////////////////////////////////// 
; MINIMIZE BUTTON POSITIONIEREN
;////////////////////////////////////
      ImageGadget(#Gadget_Minimize,WindowWidth(0)-61,1,30,30,ImageID(#Btn_Minimize))
;//////////////////////////////////// 
; SCHATTEN POSITIONIEREN
;////////////////////////////////////
      ImageGadget(#Gadget_Line_Shadow,1,31,498,1,ImageID(#Line_Shadow))
;////////////////////////////////////
; LINIE 1b TOP
;////////////////////////////////////    
      ImageGadget(#Gadget_Line1b,31,129,150,1,ImageID(#Line1b))
;////////////////////////////////////
; LINIE 1c TOP
;////////////////////////////////////    
      ImageGadget(#Gadget_Line1c,31,201,150,1,ImageID(#Line1c))
;////////////////////////////////////
; LINIE 2b LEFT
;////////////////////////////////////    
      ImageGadget(#Gadget_Line2b,30,130,150,1,ImageID(#Line2b))
;////////////////////////////////////
; LINIE 2c LEFT
;////////////////////////////////////    
      ImageGadget(#Gadget_Line2c,30,202,150,1,ImageID(#Line2c))
;////////////////////////////////////
; LINIE 3b BOTTOM
;////////////////////////////////////    
      ImageGadget(#Gadget_Line3b,31,187,150,1,ImageID(#Line3b))
;////////////////////////////////////
; LINIE 3c BOTTOM
;////////////////////////////////////    
      ImageGadget(#Gadget_Line3c,31,260,150,1,ImageID(#Line3c))
;////////////////////////////////////
; LINIE 4b RIGHT
;////////////////////////////////////    
      ImageGadget(#Gadget_Line4b,470,130,150,1,ImageID(#Line4b))
;////////////////////////////////////
; LINIE 4c RIGHT
;////////////////////////////////////    
      ImageGadget(#Gadget_Line4c,470,202,150,1,ImageID(#Line4c))
;////////////////////////////////////
; ERSTELLE HAUPTORDNER
;////////////////////////////////////
      TextGadget(#Hauptordner, 36, 120, 210, 16, " Name für Haupt-Ordner eingeben: ", #SS_CENTERIMAGE)
      SetGadgetColor(#Hauptordner, #PB_Gadget_FrontColor, RGB(17, 80, 108));TEXT FARBE
      SetGadgetColor(#Hauptordner, #PB_Gadget_BackColor, RGB(109, 145, 160)) ;Hintergrund FARBE
      SetGadgetFont(#Hauptordner, FontID(Font2))      
;////////////////////////////////////
; EINGABEFELD FÜR HAUPTORDNER ORDNER NAME
;////////////////////////////////////
      StringGadget(#EingabeFeld_Name, 40, 143, 420, 35," Original Ordner Name",#PB_String_BorderLess | #ES_MULTILINE);
      SetGadgetFont(#EingabeFeld_Name, LoadFont(#EingabeFeld_Name_Font, "Microsoft Sans Serif", 10, #PB_Font_HighQuality))
      StringGadgetVCenter(#EingabeFeld_Name)
      SetGadgetColor(#EingabeFeld_Name , #PB_Gadget_BackColor, RGB(183, 201, 209))
      SetGadgetColor(#EingabeFeld_Name , #PB_Gadget_FrontColor, RGB(17, 80, 108))
;////////////////////////////////////
; ERSTELLE UNTERORDNER IM HAUPTORDNER
;////////////////////////////////////
      TextGadget(#Unterordner, 36, 193, 206, 16, " Name für Unter-Ordner eingeben: ", #SS_CENTERIMAGE)
      SetGadgetColor(#Unterordner, #PB_Gadget_FrontColor, RGB(17, 80, 108));TEXT FARBE
      SetGadgetColor(#Unterordner, #PB_Gadget_BackColor, RGB(109, 145, 160)) ;Hintergrund FARBE
      SetGadgetFont(#Unterordner, FontID(Font2))
;////////////////////////////////////
; EINGABEFELD 2 FÜR ORDNER NAME
;////////////////////////////////////
      StringGadget(#EingabeFeld_Name2, 40, 216, 420, 35," Unter-Ordner Name",#PB_String_BorderLess | #ES_MULTILINE);
      SetGadgetFont(#EingabeFeld_Name2, LoadFont(#EingabeFeld_Name_Font2, "Microsoft Sans Serif", 10, #PB_Font_HighQuality))
      StringGadgetVCenter(#EingabeFeld_Name2)
      SetGadgetColor(#EingabeFeld_Name2 , #PB_Gadget_BackColor, RGB(183, 201, 209))
      SetGadgetColor(#EingabeFeld_Name2 , #PB_Gadget_FrontColor, RGB(17, 80, 108))
;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\     
; 1px RAHMEN UM DEN BUTTON: ALLES ERSTELLEN
;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
      TextGadget(#container2,96, 544, 307, 52,"")
      SetGadgetColor(#container2, #PB_Gadget_BackColor, RGB(183, 201, 209));TEXT Background Color     
;////////////////////////////////////
; BUTTON ALLES ERSTELLEN
;////////////////////////////////////
      TextGadget(#Btn_Erstellen, 97, 545, 305, 50, "keine Dateien gefunden",#SS_CENTERIMAGE|#SS_NOTIFY|#SS_CENTER) 
      SetGadgetFont(#Btn_Erstellen, LoadFont(#Font_Btn_Erstellen, "Microsoft Sans Serif", 12, #PB_Font_HighQuality));Button Font
      SetGadgetColor(#Btn_Erstellen, #PB_Gadget_BackColor, RGB(109, 145, 160)) ;TEXT Background Color
      SetGadgetColor(#Btn_Erstellen, #PB_Gadget_FrontColor, RGB(183, 201, 209));TEXT Color
;////////////////////////////////////      
;{ -CONTAINER FÜR CHECKBOXEN
;////////////////////////////////////
      ContainerGadget(#Container_Checkboxen, 23, 50, 460, 50, #PB_Container_BorderLess)
          SetGadgetColor(#Container_Checkboxen, #PB_Gadget_BackColor, RGB(109, 145, 160));Hintergrund FARBE


;////////////////////////////////////      
;-100 MB RAR FILE SIZE 
;////////////////////////////////////
      CheckBoxGadget(#Rar_100_MB, 17, 30, 12, 12, "")
      TextGadget(#Rar_100_MB_TXT, 35, 30, 19, 13, "101")
      SetGadgetColor(#Rar_100_MB_TXT, #PB_Gadget_FrontColor, RGB(17, 80, 108)) ;TEXT FARBE
      SetGadgetColor(#Rar_100_MB_TXT, #PB_Gadget_BackColor, RGB(109, 145, 160));Hintergrund FARBE
      SetGadgetFont(#Rar_100_MB_TXT, FontID(Font1))
    ; MB TEXT FELD
      TextGadget(#mb_TXT_100, 57, 30, 23, 13, "MB")
      SetGadgetColor(#mb_TXT_100, #PB_Gadget_FrontColor, RGB(17, 80, 108)) ;TEXT FARBE
      SetGadgetColor(#mb_TXT_100, #PB_Gadget_BackColor, RGB(109, 145, 160));Hintergrund FARBE
      SetGadgetFont(#mb_TXT_100, FontID(Font1))
;////////////////////////////////////      
;-250 MB RAR FILE SIZE 
;////////////////////////////////////
      CheckBoxGadget(#Rar_250_MB, 82, 30, 12, 12, "")
      TextGadget(#Rar_250_MB_TXT, 100, 30, 19, 13, "256")
      SetGadgetColor(#Rar_250_MB_TXT, #PB_Gadget_FrontColor, RGB(17, 80, 108)) ;TEXT FARBE
      SetGadgetColor(#Rar_250_MB_TXT, #PB_Gadget_BackColor, RGB(109, 145, 160));Hintergrund FARBE
      SetGadgetFont(#Rar_250_MB_TXT, FontID(Font1))
    ; MB TEXT FELD
      TextGadget(#mb_TXT_250, 122, 30, 23, 13, "MB")
      SetGadgetColor(#mb_TXT_250, #PB_Gadget_FrontColor, RGB(17, 80, 108)) ;TEXT FARBE
      SetGadgetColor(#mb_TXT_250, #PB_Gadget_BackColor, RGB(109, 145, 160));Hintergrund FARBE
      SetGadgetFont(#mb_TXT_100, FontID(Font1))
;////////////////////////////////////      
;-500 MB RAR FILE SIZE 
;////////////////////////////////////
      CheckBoxGadget(#Rar_500_MB, 147, 30, 12, 12, "")
      TextGadget(#Rar_500_MB_TXT, 165, 30, 19, 13, "512")
      SetGadgetColor(#Rar_500_MB_TXT, #PB_Gadget_FrontColor, RGB(17, 80, 108)) ;TEXT FARBE
      SetGadgetColor(#Rar_500_MB_TXT, #PB_Gadget_BackColor, RGB(109, 145, 160));Hintergrund FARBE
      SetGadgetFont(#Rar_500_MB_TXT, FontID(Font1))
    ; MB TEXT FELD
      TextGadget(#mb_TXT_500, 187, 30, 23, 13, "MB")
      SetGadgetColor(#mb_TXT_500, #PB_Gadget_FrontColor, RGB(17, 80, 108)) ;TEXT FARBE
      SetGadgetColor(#mb_TXT_500, #PB_Gadget_BackColor, RGB(109, 145, 160));Hintergrund FARBE
      SetGadgetFont(#mb_TXT_500, FontID(Font1))
;////////////////////////////////////      
;-1000 MB RAR FILE SIZE 
;////////////////////////////////////
      CheckBoxGadget(#Rar_1000_MB, 212, 30, 12, 12, "")
      TextGadget(#Rar_1000_MB_TXT, 230, 30, 25, 13, "1023")
      SetGadgetColor(#Rar_1000_MB_TXT, #PB_Gadget_FrontColor, RGB(17, 80, 108)) ;TEXT FARBE
      SetGadgetColor(#Rar_1000_MB_TXT, #PB_Gadget_BackColor, RGB(109, 145, 160));Hintergrund FARBE
      SetGadgetFont(#Rar_1000_MB_TXT, FontID(Font1))
    ; MB TEXT FELD
      TextGadget(#mb_TXT_1000, 258, 30, 23, 13, "MB")
      SetGadgetColor(#mb_TXT_1000, #PB_Gadget_FrontColor, RGB(17, 80, 108)) ;TEXT FARBE
      SetGadgetColor(#mb_TXT_1000, #PB_Gadget_BackColor, RGB(109, 145, 160));Hintergrund FARBE
      SetGadgetFont(#mb_TXT_1000, FontID(Font1))
;////////////////////////////////////      
;-EIGENE RAR FILE SIZE EINGEBEN
;////////////////////////////////////
      CheckBoxGadget(#RarFile_Custom_ChkBox, 302, 30, 12, 12, "")
      StringGadget(#RarFile_Custom, 318, 30, 98, 13,"100",#PB_String_BorderLess | #ES_MULTILINE);
      StringGadgetVCenter(#RarFile_Custom)
      SetGadgetColor(#RarFile_Custom , #PB_Gadget_BackColor, RGB(183, 201, 209))
      SetGadgetColor(#RarFile_Custom , #PB_Gadget_FrontColor, RGB(17, 80, 108))
      SetGadgetFont(#RarFile_Custom, FontID(Font1))
    ; MB TEXT FELD
      TextGadget(#mb_TXT_Custom, 422, 30, 23, 13, "MB")
      SetGadgetColor(#mb_TXT_Custom, #PB_Gadget_FrontColor, RGB(17, 80, 108)) ;TEXT FARBE
      SetGadgetColor(#mb_TXT_Custom, #PB_Gadget_BackColor, RGB(109, 145, 160));Hintergrund FARBE
      SetGadgetFont(#mb_TXT_Custom, FontID(Font1))  
CloseGadgetList()
;////////////////////////////////////
; LINIE 1 TOP
;////////////////////////////////////    
ImageGadget(#Gadget_Line1,31,62,176,1,ImageID(#Line1))
;////////////////////////////////////
; LINIE 1a TOP
;////////////////////////////////////    
ImageGadget(#Gadget_Line1a,315,62,150,1,ImageID(#Line1a))
;////////////////////////////////////
; LINIE 2 LEFT
;////////////////////////////////////    
ImageGadget(#Gadget_Line2,30,63,1,40,ImageID(#Line2))
;////////////////////////////////////
; LINIE 2a LEFT
;////////////////////////////////////    
ImageGadget(#Gadget_Line2a,314,63,1,40,ImageID(#Line2a))
;////////////////////////////////////
; LINIE 3 BOTTOM
;////////////////////////////////////    
ImageGadget(#Gadget_Line3,31,103,176,1,ImageID(#Line3))
;////////////////////////////////////
; LINIE 3a BOTTOM
;////////////////////////////////////    
ImageGadget(#Gadget_Line3a,315,103,98,1,ImageID(#Line3a))
;////////////////////////////////////
; LINIE 4 RIGHT
;////////////////////////////////////    
ImageGadget(#Gadget_Line4,307,63,98,1,ImageID(#Line4))
;////////////////////////////////////
; LINIE 4a RIGHT
;////////////////////////////////////    
ImageGadget(#Gadget_Line4a,470,63,98,1,ImageID(#Line4a))
;////////////////////////////////////      
;-PART SIZE CHOOSING
;////////////////////////////////////
      TextGadget(#Part_Size_TXT, 36, 54, 258, 13, " Größe der einzelnen RAR Dateien wählen: ", #SS_CENTERIMAGE)
      SetGadgetColor(#Part_Size_TXT, #PB_Gadget_FrontColor, RGB(17, 80, 108)) ;TEXT FARBE
      SetGadgetColor(#Part_Size_TXT, #PB_Gadget_BackColor, RGB(109, 145, 160));Hintergrund FARBE
      SetGadgetFont(#Part_Size_TXT, FontID(Font2))
;////////////////////////////////////      
;-PART SIZE CUSTOM
;////////////////////////////////////
      TextGadget(#Part_Size_Custom_TXT, 321, 54, 136, 13, " File Größe anpassen:", #SS_CENTERIMAGE)
      SetGadgetColor(#Part_Size_Custom_TXT, #PB_Gadget_FrontColor, RGB(17, 80, 108)) ;TEXT FARBE
      SetGadgetColor(#Part_Size_Custom_TXT, #PB_Gadget_BackColor, RGB(109, 145, 160));Hintergrund FARBE
      SetGadgetFont(#Part_Size_Custom_TXT, FontID(Font2))
      
;}
;////////////////////////////////////
; ERSTELL ZIEL FÜR DRAG & DROP DATEIEN
;////////////////////////////////////
      ListIconGadget(#TargetFiles, 29, 275, 443, 250, "Dateien per Drag n Drop einfügen, die verschoben und Rar gepackt werden sollen", 420)
      SetGadgetColor(#TargetFiles , #PB_Gadget_BackColor, RGB(55, 110, 133))  ;TEXT Background Color
      SetGadgetColor(#TargetFiles , #PB_Gadget_FrontColor, RGB(248, 248, 248));TEXT Color
;////////////////////////////////////
; DRAG & DROP ZIEL FREIGESCHALTEN
;////////////////////////////////////
      EnableGadgetDrop(#TargetFiles, #PB_Drop_Files, #PB_Drag_Copy)
      
EndProcedure

;////////////////////////////////////
; ERSTELLE ORDNER MIT UNTERORDNER
;////////////////////////////////////

Procedure CreateDirectoryAll(dir.s)
  
  Protected result.l, dir_sub.s, dir_total.s, count.l
 
  count = 1
  dir_sub = StringField(dir, count, "\")
  dir_total = dir_sub + "\"
 
  While dir_sub <> ""
    result.l = CreateDirectory(dir_total)
   
    count + 1
    dir_sub = StringField(dir, count, "\")
    dir_total + dir_sub + "\"
  Wend
  ProcedureReturn result
EndProcedure
Procedure DirCheck(FileName.s)
 
  Protected ID, Result = #False
 
  ID = ExamineDirectory(#PB_Any, GetPathPart(FileName), GetFilePart(FileName))
 
  If ID
    While NextDirectoryEntry(ID)
      If DirectoryEntryName(ID) <> "." And DirectoryEntryName(ID) <> ".."
        If DirectoryEntryType(ID) = #PB_DirectoryEntry_Directory
          FinishDirectory(ID)
          ProcedureReturn #True
        EndIf
      EndIf
    Wend
  EndIf
 
  ProcedureReturn Result
 
EndProcedure
Procedure Mover(Quelle.s, Ziel.s)
 SetGadgetText(#Btn_Erstellen,"Archive werden erstellt, bitte warten") 
 
 Protected Dir = DirCheck(Quelle)
 
  If Dir = #True
   
    CreateDirectoryEx(Ziel + "\" + GetFilePart(Quelle))
    If CopyDirectory(Quelle + "\", Ziel + "\" + GetFilePart(Quelle) + "\", "", #PB_FileSystem_Recursive|#PB_FileSystem_Force)
      DeleteDirectory(Quelle, "", #PB_FileSystem_Recursive|#PB_FileSystem_Force)
    Else
      MessageRequester("Error", "Kann das Verzeichnis " + Quelle + " nicht kopieren!")
      ProcedureReturn #False 
    EndIf     
   
  Else

    If CopyFile(Quelle, Ziel + "\" + GetFilePart(Quelle))
      DeleteFile(Quelle, #PB_FileSystem_Force)
    Else
      MessageRequester("Error", "Kann das File " + Quelle + " nicht kopieren!")
      ProcedureReturn #False
    EndIf

  EndIf

  ProcedureReturn #True
 
EndProcedure
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


OpenWindow_Window_0()
IdlePacking()
WriteRarExe()

;////////////////////////////////////
; TOOL START UP EFFEKT
;////////////////////////////////////
AnimateWindow_(WindowID(0),400,#AW_BLEND) 


Repeat
  Event = WaitWindowEvent()
  EventGadget = EventGadget()
  EventType = EventType()   
  
  
  If Event = #PB_Event_Gadget
    Select EventGadget()
;////////////////////////////////////  
;- EINGABEFELD
;//////////////////////////////////// 
      Case #EingabeFeld_Name
           ;Auto select on Focus
            If EventType() = #PB_EventType_Focus
               SendMessage_(GadgetID(EventGadget()), #EM_SETSEL, Len(GetGadgetText(EventGadget())), 0)
             EndIf
;////////////////////////////////////  
;- EINGABEFELD 2 #RarFile_Size
;//////////////////////////////////// 
      Case #EingabeFeld_Name2
           ;Auto select on Focus
            If EventType() = #PB_EventType_Focus
               SendMessage_(GadgetID(EventGadget()), #EM_SETSEL, Len(GetGadgetText(EventGadget())), 0)
             EndIf
;////////////////////////////////////  
;- EINGABEFELD CUSTOM RAR FILE SIZE 
;//////////////////////////////////// 
      Case #RarFile_Custom
           ;Auto select on Focus
            If EventType() = #PB_EventType_Focus
               SendMessage_(GadgetID(EventGadget()), #EM_SETSEL, Len(GetGadgetText(EventGadget())), 0)
             EndIf
;////////////////////////////////////  
;-CALL WEB PAGE
;////////////////////////////////////       
     Case #InfoBarBottom
       RunProgram("http://www.aftermath-creations.net") 
;////////////////////////////////////  
;- BUTTON - ERSTELLEN
;////////////////////////////////////           
;Case #Btn_MakeDir
        Case #Btn_Erstellen
        Define.s Dir1, Dir2, Filename
            ;Define.i i
       
            Dir1 = GetPathPart(ProgramFilename()) + GetGadgetText(#EingabeFeld_Name2) + "\"
            Dir2 = Dir1 + GetGadgetText(#EingabeFeld_Name) + "\" ; Unterordner
            CreateDirectoryAll(Dir2)
            
      
            
            ;////////////////////////////////////   
            ;- EXTRACT URL SHORTCUTS & TXT FILES
            ;////////////////////////////////////
               WriteToDir(Dir1)
               WriteToDir(Dir2)
            ;//////////////////////////////////////////////////////////////
            ;- READ FILES FROM DRAG n DROP FIELD & COPY INTO THE SUB FOLDER
            ;//////////////////////////////////////////////////////////////
               For i=0 To CountGadgetItems(#TargetFiles) - 1
                   Mover(GetGadgetItemText(#TargetFiles, i), Dir2)
               Next i
            ;////////////////////////////////////   
            ;- START PACKING PROCESS
            ;////////////////////////////////////
               
               Packer(GetGadgetText(#EingabeFeld_Name2))
               
               ClearGadgetItems(#TargetFiles)
               
               SetGadgetText(#Btn_Erstellen,"Archive erfolgreich erstellt")
               SetGadgetState(#Rar_100_MB, #PB_Checkbox_Unchecked)
               SetGadgetState(#Rar_250_MB, #PB_Checkbox_Unchecked)
               SetGadgetState(#Rar_500_MB, #PB_Checkbox_Unchecked)
               SetGadgetState(#Rar_1000_MB, #PB_Checkbox_Unchecked)
               SetGadgetState(#RarFile_Custom_ChkBox, #PB_Checkbox_Unchecked)
               
               SetGadgetText(#EingabeFeld_Name," Haupt-Ordner wurde erstellt")
               SetGadgetText(#EingabeFeld_Name2," Unter-Ordner wurde erstellt")

;////////////////////////////////////  
;- EXIT BUTTON FUNCTION
;////////////////////////////////////
      Case #Gadget_exit
        DeleteFile("Rar.exe")
        AnimateWindow_(WindowID(0),200,#AW_BLEND | #AW_HIDE);closes the window with these 2 features
        End
;////////////////////////////////////  
;- EXIT HELP WINDOW
;//////////////////////////////////// 
      Case #Gadget_Help_exit
        AnimateWindow_(WindowID(#About),200,#AW_BLEND | #AW_HIDE);closes the window with these 2 features
        CloseWindow(#About)
        
        
;////////////////////////////////////  
;- OPEN HELP 
;////////////////////////////////////
      Case #Help
        OpenWindow_About()
        AnimateWindow_(WindowID(#About),200,#AW_BLEND)
;////////////////////////////////////  
;- MINIMIZE BUTTON FUNCTION
;////////////////////////////////////
      Case #Gadget_Minimize
            If EventType = #PB_EventType_LeftClick
              SetWindowState(#Window_0, #PB_Window_Minimize)
            EndIf
          Case #PB_Key_Delete
            ClearGadgetItems(#TargetFiles)
   
            
        EndSelect       
  EndIf
;////////////////////////////////////  
;- DRAG WINDOW MIT MAUS
;////////////////////////////////////
  Select Event
      Case #WM_LBUTTONDOWN    
        If WindowMouseX(#Window_0) >= 0 And WindowMouseX(#Window_0) <= 470 And WindowMouseY(#Window_0) >= 0 And WindowMouseY(#Window_0) <= 30
           SendMessage_(WindowID(#Window_0), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)    
        EndIf
  EndSelect    
;////////////////////////////////////////////////////////////////////////   
;- DRAG & DROP START EVENT on the source gadgets, initiate a drag & drop
;////////////////////////////////////////////////////////////////////////
  If Event = #PB_Event_Gadget And EventType() = #PB_EventType_DragStart
      Select EventGadget()
        Case #SourceFiles
          Files$ = ""       
          For i = 0 To CountGadgetItems(#SourceFiles)-1
            If GetGadgetItemState(#SourceFiles, i) & #PB_Explorer_Selected
              Files$ + GetGadgetText(#SourceFiles) + GetGadgetItemText(#SourceFiles, i) + Chr(10)
            EndIf
          Next i 
          If Files$ <> ""
            DragFiles(Files$)
          EndIf
      EndSelect
;/////////////////////////////////////////////////////////////////////////
;- DRAG & DROP START EVENT on the target gadgets, receive the dropped data
;/////////////////////////////////////////////////////////////////////////
      ElseIf Event = #PB_Event_GadgetDrop
        Select EventGadget()
          Case #TargetFiles
                Files$ = EventDropFiles()
                Count  = CountString(Files$, Chr(10)) + 1
                For i = 1 To Count
                  AddGadgetItem(#TargetFiles, -1, StringField(Files$, i, Chr(10)))
                Next i  
                SetGadgetText(#Btn_Erstellen,"rar Archive erstellen")
        EndSelect
  EndIf
;/////////////////////////////////////////////////////////////////////////
;- ENTFERNE EINTRÄGE AUS DRAG & DROP FELD MIT ENTFERNEN TASTE
;///////////////////////////////////////////////////////////////////////// 
   If Event = #PB_Event_Gadget
      If GetActiveGadget() = #TargetFiles
         AddKeyboardShortcut(#Window_0,#PB_Shortcut_Delete,#IDM_RemoveItem)
      Else
        RemoveKeyboardShortcut(#Window_0,#PB_Shortcut_Delete)
        
      EndIf
   EndIf
   
   If Event = #PB_Event_Menu
      Select EventMenu()
         Case #IDM_RemoveItem
         State = GetGadgetState(#TargetFiles)
         
         If State > -1 : RemoveGadgetItem(#TargetFiles,State) : EndIf
      EndSelect
   EndIf

Until Event = #PB_Event_CloseWindow:End

Re: purebasic Marquee idle Progress Bar ?

Verfasst: 04.06.2016 19:57
von ts-soft
@udg

Hast Du Dir mal Gedanken gemacht, warum sämtliche Packer RAR Dateien nur entpacken, aber nicht packen können?
(abgesehen von WinRAR.exe und RAR.exe)
Das includieren der RAR.exe (shareware) ist mit Sicherheit verboten, frag mal den Eugene Roshal!

Nimm lieber 7-zip, dann bist Du auf der sicheren Seite.

Re: purebasic Marquee idle Progress Bar ?

Verfasst: 04.06.2016 20:20
von udg
ts-soft hat geschrieben:@udg

Hast Du Dir mal Gedanken gemacht, warum sämtliche Packer RAR Dateien nur entpacken, aber nicht packen können?
(abgesehen von WinRAR.exe und RAR.exe)
Das includieren der RAR.exe (shareware) ist mit Sicherheit verboten, frag mal den Eugene Roshal!
Nimm lieber 7-zip, dann bist Du auf der sicheren Seite.
die verwendete rar.exe wollte ich mir ungeachtet dessen, dass eigtl. geplant ist, das tool nur auf meinem PC zu betreiben, noch lizenzieren. kommt auf die konditionen an.

shareware, teilen erlaubt.

genaue Infos hole ich mir aber trotzdem noch ein.

Re: purebasic Marquee idle Progress Bar ?

Verfasst: 04.06.2016 20:23
von RSBasic
ts-soft hat geschrieben:Nimm lieber 7-zip
+1
http://www.7-zip.de/download.html
Dort kannst du die 7za.exe herunterladen und verwenden. Diese Anwendung nutze ich auch für mein Live Backup System und funktioniert sehr gut.

Re: purebasic Marquee idle Progress Bar ?

Verfasst: 04.06.2016 20:30
von ts-soft
Soweit ich weiß, darfst Du nur einen Link zum Download von RAR, bzw WinRAR anbieten und der Anwender darf diese dann durch Dein
Programm nutzen lassen, im Rahmen der Shareware-Bedingungen. Das Includieren in die Exe macht es dem Anwender aber unmöglich,
dieses Programm zu lizensieren und eine Lizenz Deinerseits schaltet nur Deine Version frei, die nicht des Anwenders.

Wie gesagt, entpacken usw. kein Problem, dafür gibt es extra Bibliotheken wie z.B. unrar.dll.

Nimm 7-zip, damit kannste zwar auch keine RAR-Dateien packen aber zumindest 7-zip, was genauso effektiv ist.

Re: purebasic Marquee idle Progress Bar ?

Verfasst: 04.06.2016 20:36
von RSBasic
ts-soft hat geschrieben:Nimm 7-zip, damit kannste zwar auch keine RAR-Dateien packen aber zumindest 7-zip, was genauso effektiv ist.
Und da WinRAR und andere Packprogramme auch das 7-Zip-Format unterstützen, ist das kein Problem, wenn du deine Dateien mit einem 7-Zip-Format komprimierst.
Leute, die ein anderes Packprogramm nutzen, können in der Regel auch dieses Dateiformat öffnen und entpacken. Falls nicht, dann ist das vom Benutzer verwendete Programm scheiße. :D

Re: purebasic Marquee idle Progress Bar ?

Verfasst: 04.06.2016 20:54
von udg
Falls nicht, dann ist das vom Benutzer verwendete Programm scheiße. :D
nun, dann sattle ich wohl besser um. aber werde mich trotzdem mal belesen was es mit rar auf sich hat und man so knauserig damit ist.

Re: purebasic Marquee idle Progress Bar ?

Verfasst: 04.06.2016 21:01
von ts-soft
Auszug License hat geschrieben: a. Nobody may distribute separate parts of the package, with the exception
of the UnRAR components, without written permission.
udg hat geschrieben:aber werde mich trotzdem mal belesen was es mit rar auf sich hat und man so knauserig damit ist.
Ist doch ganz klar, der Herr Rosthal, bzw. das dahinterstehende Unternehmen, wollen auch was verdienen. Es kann doch nicht jeder
Packer verschenkt werden :mrgreen:

Re: purebasic Marquee idle Progress Bar ?

Verfasst: 04.06.2016 21:20
von udg
ts-soft hat geschrieben:
Auszug License hat geschrieben: a. Nobody may distribute separate parts of the package, with the exception
of the UnRAR components, without written permission.
udg hat geschrieben:aber werde mich trotzdem mal belesen was es mit rar auf sich hat und man so knauserig damit ist.
Ist doch ganz klar, der Herr Rosthal, bzw. das dahinterstehende Unternehmen, wollen auch was verdienen. Es kann doch nicht jeder
Packer verschenkt werden :mrgreen:
das ist mir ja klar :D
ich würde ja was zahlen, dann verdienen die leutz was...

aber erst mal lesen. Wäre ja Quark Unsummen zu löhnen, wenns keinen weiteren Nutzen hat.

Hat Jemand trotz Allem, eine Idee wie ich in meinem Code den Progressbar zum laufen bekomme? RS Basic hatte mir ja schon etwas als Tipp geschrieben aber geht das umzusetzen mit dem Code? Der ist ja soweit fertig.

Werde später mal ein wenig testen.