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