Code: Select all
; Define;
#WinW=720
#WinH=552
#WinZ=400
Global WinID;
Enumeration;
#StrName; 0;
#StrExt; 1;
#StrOutput; 2;
#IcoName; 3;
#IcoExt; 4;
#IcoOut; 5;
#IcoSearch;
#IcoReplace;
#WinID;
#Frm01;
#Frm02;
#Frm03;
#TxtInfo;
#TxtName;
#TxtExt;
#TxtOutput;
#StrInfo;
#TxtSearch;
#TxtReplace;
#FlgOutCase;
#FlgNameOnly;
#FlgCase;
#FlgAll;
#FlgDate;
#List;
#ButRename;
#ButClose;
#ButProfile;
#ButFilter;
#ButExtras;
#TxtWriteName;
#TxtWriteExt;
#StrSearch;
#StrReplace;
#StrWriteName; \;
#StrWriteExt ; /;
#KeySearch;
#KeyReplace;
#IconOk;
EndEnumeration;
Enumeration
#WriteUnchanged;
#WriteAllLower;
#WriteWordUpper;
#WriteAllUpper;
EndEnumeration;
Enumeration;
#ListOldName;
#ListNewName;
#ListSize;
#ListDate;
#ListState;
EndEnumeration;
DataSection;
IconOk: ; 1406 Bytes;
Data.q $1010000100010000,$568000800010000,$28000000160000,$20000000100000,$800010000;
Data.q $1000000,$100000000000000,$3737000001000000,$CB4A0089B5320037,$FFFF00B5E15D009F;
Data.q $FF,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.q 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.q 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,$505000000000000,$505050505050505,$505050505050505;
Data.q $505050505050505,$505050505050505,$505050500050505,$505050505050505,$505050001000505;
Data.q $505050505050505,$505000102020005,$505050505050505,$500010202020200,$5050505050505;
Data.q $1020300020202,$300050505050505,$102030005000202,$5050505050500,$203000505050003;
Data.q $505050505050001,$300050505050500,$505050505000102,$5050505050505,$505050500010203;
Data.q $505050505050505,$505050001020300,$505050505050505,$505050500030005,$505050505050505;
Data.q $505050505000505,$505050505050505,$505050505050505,$505050505050505,$FFFF050505050505;
Data.q $FFFB0000FFFF0000,$FFE00000FFF10000,$3F8000007FC00000,$F8E00001F040000,$83FF000007DF0000;
Data.q $E3FF0000C1FF0000,$FFFF0000F7FF0000,$FFFF0000;
EndDataSection;
; EndDefine;
Procedure SmoothGadgetIcon(gadget,icon,tooltip.s);
;
icon=ImageID(icon);
;
If GetGadgetState(gadget)<>icon;
SetGadgetState(gadget,icon);
GadgetToolTip(gadget,tooltip);
EndIf;
;
EndProcedure;
Procedure ResizeComboGadget(gadget,x,y,width,height);
;
ResizeGadget(gadget,x,y,width,height);
If GetActiveGadget()<>gadget;
SendMessage_(GadgetID(gadget),#CB_SETEDITSEL,0,-1);
EndIf;
;
EndProcedure;
Procedure Events();
;
Protected x,y,n,m;
Protected z,z0,z1,z2;
;
If EventWindow()=#WinID;
x=WindowWidth(#WinID);
y=WindowHeight(#WinID);
If GadgetWidth(#TxtInfo)=x;
ResizeGadget(#List,#PB_Ignore,#PB_Ignore,#PB_Ignore,y-262);
ResizeGadget(#TxtInfo,#PB_Ignore,y-22,#PB_Ignore,#PB_Ignore);
ResizeGadget(#StrInfo,#PB_Ignore,y-18,#PB_Ignore,#PB_Ignore);
Else;
;
;SendMessage_(WindowID(#WinID),#WM_SETREDRAW,#False,0);
;
n=(x-#WinW)/5;
ResizeGadget(#List,#PB_Ignore,#PB_Ignore,x-26,y-262); 720-694;
ResizeGadget(#TxtInfo,#PB_Ignore,y-22,x,#PB_Ignore);;
ResizeComboGadget(#StrInfo,#PB_Ignore,y-18,#PB_Ignore,#PB_Ignore);;
;
y=n<<1;
m=n<<2;
ResizeGadget(#Frm01,#PB_Ignore,#PB_Ignore,565+m,#PB_Ignore); 720-560;
ResizeGadget(#Frm02,#PB_Ignore,#PB_Ignore,565+m,#PB_Ignore); 720-560;
ResizeGadget(#Frm03,#PB_Ignore,#PB_Ignore,565+m,#PB_Ignore); 720-560;
;
x=y+n>>1;
z0=207+x; Position (105) + Breite (207) + Verbreiterung (x);
ResizeComboGadget(#StrName,#PB_Ignore,#PB_Ignore,z0,#PB_Ignore);;
ResizeComboGadget(#StrOutput,#PB_Ignore,#PB_Ignore,z0,#PB_Ignore);;
ResizeComboGadget(#StrSearch,#PB_Ignore,#PB_Ignore,z0,#PB_Ignore);;
ResizeComboGadget(#StrReplace,#PB_Ignore,#PB_Ignore,z0,#PB_Ignore);;
z0+100;
ResizeComboGadget(#IcoName,z0,#PB_Ignore,#PB_Ignore,#PB_Ignore);;
ResizeComboGadget(#IcoOut,z0,#PB_Ignore,#PB_Ignore,#PB_Ignore);;
ResizeComboGadget(#IcoReplace,z0,#PB_Ignore,#PB_Ignore,#PB_Ignore);;
ResizeComboGadget(#IcoSearch,z0,#PB_Ignore,#PB_Ignore,#PB_Ignore);;
;
x=y+(n*3)>>2;
z=125+(n*5)>>2;
ResizeGadget(#TxtExt,345+x,#PB_Ignore,#PB_Ignore,#PB_Ignore);;
ResizeGadget(#StrExt,410+x,#PB_Ignore,z,#PB_Ignore);;
ResizeGadget(#IcoExt,415+x+z,#PB_Ignore,#PB_Ignore,#PB_Ignore);;
ResizeGadget(#FlgOutCase,346+x,#PB_Ignore,#PB_Ignore,#PB_Ignore);;
ResizeGadget(#FlgNameOnly,346+x,#PB_Ignore,#PB_Ignore,#PB_Ignore);;
ResizeGadget(#FlgCase,346+x,#PB_Ignore,#PB_Ignore,#PB_Ignore);;
ResizeGadget(#FlgAll,346+x,#PB_Ignore,#PB_Ignore,#PB_Ignore);;
;
If n>40;
z=40;
Else;
z=n;
EndIf;
;
z1=240+n;
z2=455+y+n;
;
If m>120;
If m>260;
z=7+n>>1;
z1=z0-z-175;
z2=346+x;
EndIf;
x=136;
Else;
x=76;
EndIf;
;
ResizeGadget(#StrWriteName,#PB_Ignore,#PB_Ignore,100+z,#PB_Ignore);;
ResizeGadget(#TxtWriteExt,z1,#PB_Ignore,#PB_Ignore,#PB_Ignore);;
ResizeGadget(#StrWriteExt,z1+70,#PB_Ignore,100+z,#PB_Ignore);;
ResizeGadget(#FlgDate,z2,#PB_Ignore,x,#PB_Ignore)
;
ResizeGadget(#ButRename,585+m,#PB_Ignore,115+n,#PB_Ignore);;
ResizeGadget(#ButClose,585+m,#PB_Ignore,115+n,#PB_Ignore);;
ResizeGadget(#ButProfile,585+m,#PB_Ignore,115+n,#PB_Ignore);;
ResizeGadget(#ButExtras,585+m,#PB_Ignore,115+n,#PB_Ignore);;
ResizeGadget(#ButFilter,585+m,#PB_Ignore,115+n,#PB_Ignore) ;;
;
SetGadgetItemAttribute(#List,#PB_Ignore,#PB_ListIcon_ColumnWidth,210+y,#ListOldName);
SetGadgetItemAttribute(#List,#PB_Ignore,#PB_ListIcon_ColumnWidth,210+y,#ListNewName);
SetGadgetItemAttribute(#List,#PB_Ignore,#PB_ListIcon_ColumnWidth,78+n,#ListState);
;
;SendMessage_(WindowID(#WinID),#WM_SETREDRAW,#True,0);
;;;;InvalidateRgn_(WindowID(#WinID),0,0);
;RedrawWindow_(WindowID(#WinID),#Null,#Null,#RDW_INVALIDATE|#RDW_ERASE);
;
EndIf;
EndIf;
;
EndProcedure;
Procedure Init();
;
Protected i;
Protected makro;
Protected flag;
Protected s.s;
CatchImage(#IconOk,?IconOk);
;
WinID=OpenWindow(#WinID,0,0,#WinW,#WinH,"",#WS_SYSMENU|#PB_Window_ScreenCentered|#PB_Window_Invisible|#PB_Window_SizeGadget|#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget);
WindowBounds(#WinID,#WinW,#WinZ,#PB_Default,#PB_Default);
;
FrameGadget(#Frm01,10,10,560,72,"Reguläre Ausdrücke");
TextGadget(#TxtName,20,30,60,20,"Datei&name:",#SS_CENTERIMAGE);
ComboBoxGadget(#StrName,95,29,207,22,#PB_ComboBox_Editable);
ImageGadget(#IcoName,307,32,16,16,ImageID(#IconOk));
TextGadget(#TxtExt,345,30,75,20,"&Erweiterung:",#SS_CENTERIMAGE);
ComboBoxGadget(#StrExt,410,29,125,22,#PB_ComboBox_Editable);
ImageGadget(#IcoExt,540,32,16,16,ImageID(#IconOk));
TextGadget(#TxtOutput,20,55,60,20,"Ändern &in:",#SS_CENTERIMAGE);
ComboBoxGadget(#StrOutput,95,54,207,22,#PB_ComboBox_Editable);
ImageGadget(#IcoOut,307,57,16,16,ImageID(#IconOk));
CheckBoxGadget(#FlgOutCase,346,55,175,22," &Groß-/Kleinschreibung beachten");
;
FrameGadget(#Frm02,10,90,560,72,"Suchen und Ersetzen");
TextGadget(#TxtSearch,20,110,100,20,"&Anfangs:",#SS_CENTERIMAGE);
ComboBoxGadget(#StrSearch,95,109,207,22,#PB_ComboBox_Editable);
ImageGadget(#IcoSearch,307,112,16,16,ImageID(#IconOk));
;
TextGadget(#TxtReplace,20,135,100,20,"A&bschließend:",#SS_CENTERIMAGE);
ComboBoxGadget(#StrReplace,95,134,207,22,#PB_ComboBox_Editable);
ImageGadget(#IcoReplace,307,137,16,16,ImageID(#IconOk));
;
CheckBoxGadget(#FlgNameOnly,346,104,180,18," Nur den Dateina&men verändern");
CheckBoxGadget(#FlgCase,346,122,175,18," Groß-/&Kleinschreibung beachten");
CheckBoxGadget(#FlgAll,346,140,175,18," Alle &Vorkommen ersetzen");
;
FrameGadget(#Frm03,10,168,560,48,"Erweitert");
TextGadget(#TxtWriteName,20,188,75,20,"Schreib&weise:",#SS_CENTERIMAGE);
ComboBoxGadget(#StrWriteName,95,188,100,20);
TextGadget(#TxtWriteExt,240,188,70,20,"Erwei&terung:",#SS_CENTERIMAGE);
ComboBoxGadget(#StrWriteExt,310,188,100,20);
CheckBoxGadget(#FlgDate,455,188,76,18," Datei&datum aktualisieren"); 140;
;
For i=0 To 1;
AddGadgetItem(#StrWriteName+i,#WriteUnchanged,"Unverändert");
AddGadgetItem(#StrWriteName+i,#WriteAllLower,"Alles klein");
AddGadgetItem(#StrWriteName+i,#WriteWordUpper,"Wortanfänge groß");
AddGadgetItem(#StrWriteName+i,#WriteAllUpper,"Alles groß");
Next i;
;
ListIconGadget(#List,10,230,694,285," ·",20,#PB_ListIcon_FullRowSelect|#PB_ListIcon_GridLines);
;SetGadgetColor(#List,#PB_ListIcon_GridLines,#Black);
AddGadgetColumn(#List,#ListOldName,"Alter Dateiname",210);
AddGadgetColumn(#List,#ListNewName,"Neuer Dateiname",210);
AddGadgetColumn(#List,#ListSize,"Größe",52);
AddGadgetColumn(#List,#ListDate,"Datum",102);
AddGadgetColumn(#List,#ListState,"Status",78);
EnableGadgetDrop(#List,#PB_Drop_Files,#PB_Drag_Move|#PB_Drag_Copy);
;
Global lvm.LV_COLUMN;
lvm\mask=#LVCF_FMT;
lvm\fmt=#LVCFMT_CENTER;
SendMessage_(GadgetID(#List),#LVM_SETCOLUMN,#ListDate,@lvm);
lvm\mask=#LVCF_FMT;
lvm\fmt=#LVCFMT_RIGHT;
SendMessage_(GadgetID(#List),#LVM_SETCOLUMN,#ListSize,@lvm);
;
FrameGadget(#TxtInfo,0,530,#WinW,2,"",#PB_Frame_Single);
TextGadget(#StrInfo,0,534,999,16,"",#SS_CENTERIMAGE);
;
ButtonGadget(#ButRename,585,15,115,30,"&Umbenennen",#PB_Button_Default);
ButtonGadget(#ButClose,585,53,115,30,"S&chließen");
ButtonGadget(#ButProfile,585,95,115,30,"&Profile");
ButtonGadget(#ButExtras,585,132,115,30,"S&onderfunktionen");
ButtonGadget(#ButFilter,585,180,115,30,"Ergebnisliste &filtern",#PB_Button_Toggle);
;
BindEvent(#PB_Event_SizeWindow,@Events(),#WinID);
;
SetActiveWindow(#WinID);
SetActiveGadget(#StrName);
HideWindow(#WinID,#Null);
EndProcedure;
Init()
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow