UPD: Put more formats in MultiRename date/time menu, change some descriptions.

This commit is contained in:
cobines 2011-04-01 11:15:17 +00:00
commit 7d40bb3de1
3 changed files with 171 additions and 92 deletions

View file

@ -563,21 +563,20 @@ object frmMultiRename: TfrmMultiRename
end
object ppNameMenu: TPopupMenu
AutoPopup = False
OnPopup = ppNameMenuPopup
left = 784
top = 168
object miNextName: TMenuItem
Caption = 'Name...'
object miName: TMenuItem
Caption = '[N]ame'
Caption = '[N] Name'
OnClick = NameClick
end
object miNameX: TMenuItem
Caption = '[Nx]ame'
Caption = '[Nx] Character at position x'
OnClick = NameXClick
end
object miNameXX: TMenuItem
Caption = '[Nx:x]ame'
Caption = '[Nx:y] Characters from position x to y'
OnClick = NameXXClick
end
end
@ -587,15 +586,15 @@ object frmMultiRename: TfrmMultiRename
object miNextExtension: TMenuItem
Caption = 'Extension...'
object Extension: TMenuItem
Caption = '[E]xtension'
Caption = '[E] Extension'
OnClick = ExtensionClick
end
object miExtensionX: TMenuItem
Caption = '[Ex]xtension'
Caption = '[Ex] Character at position x'
OnClick = ExtensionXClick
end
object miExtensionXX: TMenuItem
Caption = '[Ex:x]xtension'
Caption = '[Ex:y] Characters from position x to y'
OnClick = ExtensionXXClick
end
end
@ -603,7 +602,7 @@ object frmMultiRename: TfrmMultiRename
Caption = '-'
end
object miCounter: TMenuItem
Caption = '[C]ounter'
Caption = '[C] Counter'
OnClick = CounterClick
end
object N3: TMenuItem
@ -612,32 +611,72 @@ object frmMultiRename: TfrmMultiRename
object miNext: TMenuItem
Caption = 'Time...'
object miYear: TMenuItem
Caption = '[Y]ear'
Caption = '[Y] Year (2 digits)'
OnClick = miYearClick
end
object miYear1: TMenuItem
Caption = '[YYYY] Year (4 digits)'
OnClick = miYear1Click
end
object miMonth: TMenuItem
Caption = '[M]onth'
Caption = '[M] Month'
OnClick = miMonthClick
end
object miMonth1: TMenuItem
Caption = '[MM] Month (2 digits)'
OnClick = miMonth1Click
end
object miMonth2: TMenuItem
Caption = '[MMM] Month name (short, e.g., "jan")'
OnClick = miMonth2Click
end
object miMonth3: TMenuItem
Caption = '[MMMM] Month name (long, e.g. "january")'
OnClick = miMonth3Click
end
object miDay: TMenuItem
Caption = '[D]ay'
Caption = '[D] Day'
OnClick = miDayClick
end
object miDay1: TMenuItem
Caption = '[DD] Day (2 digits)'
OnClick = miDay1Click
end
object miDay2: TMenuItem
Caption = '[DDD] Day of the week (short, e.g., "mon")'
OnClick = miDay2Click
end
object miDay3: TMenuItem
Caption = '[DDDD] Day of the week (long, e.g., "monday")'
OnClick = miDay3Click
end
object N4: TMenuItem
Caption = '-'
end
object miHour: TMenuItem
Caption = '[h]our'
Caption = '[h] Hour'
OnClick = miHourClick
end
object miHour1: TMenuItem
Caption = '[hh] Hour (2 digits)'
OnClick = miHour1Click
end
object miMinute: TMenuItem
Caption = 'Mi[n]ute'
Caption = '[n] Minute'
OnClick = miMinuteClick
end
object miMinute1: TMenuItem
Caption = '[nn] Minute (2 digits)'
OnClick = miMinute1Click
end
object miSecond: TMenuItem
Caption = '[s]econd'
Caption = '[s] Second'
OnClick = miSecondClick
end
object miSecond1: TMenuItem
Caption = '[ss] Second (2 digits)'
OnClick = miSecond1Click
end
end
end
end

View file

@ -21,30 +21,40 @@ TFRMMULTIRENAME.BTNCLOSE.CAPTION=&Close
TFRMMULTIRENAME.GBLOG.CAPTION=Log Result
TFRMMULTIRENAME.CBLOG.CAPTION=Enable
TFRMMULTIRENAME.BTNRESTORE.CAPTION=Reset all
TFRMMULTIRENAME.LSVWFILE.COLUMNS.CAPTION=Old File Name
TFRMMULTIRENAME.LSVWFILE.COLUMNS.CAPTION=New File Name
TFRMMULTIRENAME.LSVWFILE.COLUMNS.CAPTION=File Path
TFRMMULTIRENAME.LSVWFILE.COLUMNS[0].CAPTION=Old File Name
TFRMMULTIRENAME.LSVWFILE.COLUMNS[1].CAPTION=New File Name
TFRMMULTIRENAME.LSVWFILE.COLUMNS[2].CAPTION=File Path
TFRMMULTIRENAME.GBPRESETS.CAPTION=Presets
TFRMMULTIRENAME.BTNLOADPRESET.CAPTION=&Load
TFRMMULTIRENAME.BTNSAVEPRESET.CAPTION=&Save
TFRMMULTIRENAME.BTNDELETEPRESET.CAPTION=&Delete
TFRMMULTIRENAME.MINEXTNAME.CAPTION=Name...
TFRMMULTIRENAME.MINAME.CAPTION=[N]ame
TFRMMULTIRENAME.MINAMEX.CAPTION=[Nx]ame
TFRMMULTIRENAME.MINAMEXX.CAPTION=[Nx:x]ame
TFRMMULTIRENAME.MINAME.CAPTION=[N] Name
TFRMMULTIRENAME.MINAMEX.CAPTION=[Nx] Character at position x
TFRMMULTIRENAME.MINAMEXX.CAPTION=[Nx:y] Characters from position x to y
TFRMMULTIRENAME.N1.CAPTION=-
TFRMMULTIRENAME.MINEXTEXTENSION.CAPTION=Extension...
TFRMMULTIRENAME.EXTENSION.CAPTION=[E]xtension
TFRMMULTIRENAME.MIEXTENSIONX.CAPTION=[Ex]xtension
TFRMMULTIRENAME.MIEXTENSIONXX.CAPTION=[Ex:x]xtension
TFRMMULTIRENAME.EXTENSION.CAPTION=[E] Extension
TFRMMULTIRENAME.MIEXTENSIONX.CAPTION=[Ex] Character at position x
TFRMMULTIRENAME.MIEXTENSIONXX.CAPTION=[Ex:y] Characters from position x to y
TFRMMULTIRENAME.N2.CAPTION=-
TFRMMULTIRENAME.MICOUNTER.CAPTION=[C]ounter
TFRMMULTIRENAME.MICOUNTER.CAPTION=[C] Counter
TFRMMULTIRENAME.N3.CAPTION=-
TFRMMULTIRENAME.MINEXT.CAPTION=Time...
TFRMMULTIRENAME.MIYEAR.CAPTION=[Y]ear
TFRMMULTIRENAME.MIMONTH.CAPTION=[M]onth
TFRMMULTIRENAME.MIDAY.CAPTION=[D]ay
TFRMMULTIRENAME.MIYEAR.CAPTION=[Y] Year (2 digits)
TFRMMULTIRENAME.MIYEAR1.CAPTION=[YYYY] Year (4 digits)
TFRMMULTIRENAME.MIMONTH.CAPTION=[M] Month
TFRMMULTIRENAME.MIMONTH1.CAPTION=[MM] Month (2 digits)
TFRMMULTIRENAME.MIMONTH2.CAPTION=[MMM] Month name (short, e.g., "jan")
TFRMMULTIRENAME.MIMONTH3.CAPTION=[MMMM] Month name (long, e.g. "january")
TFRMMULTIRENAME.MIDAY.CAPTION=[D] Day
TFRMMULTIRENAME.MIDAY1.CAPTION=[DD] Day (2 digits)
TFRMMULTIRENAME.MIDAY2.CAPTION=[DDD] Day of the week (short, e.g., "mon")
TFRMMULTIRENAME.MIDAY3.CAPTION=[DDDD] Day of the week (long, e.g., "monday")
TFRMMULTIRENAME.N4.CAPTION=-
TFRMMULTIRENAME.MIHOUR.CAPTION=[h]our
TFRMMULTIRENAME.MIMINUTE.CAPTION=Mi[n]ute
TFRMMULTIRENAME.MISECOND.CAPTION=[s]econd
TFRMMULTIRENAME.MIHOUR.CAPTION=[h] Hour
TFRMMULTIRENAME.MIHOUR1.CAPTION=[hh] Hour (2 digits)
TFRMMULTIRENAME.MIMINUTE.CAPTION=[n] Minute
TFRMMULTIRENAME.MIMINUTE1.CAPTION=[nn] Minute (2 digits)
TFRMMULTIRENAME.MISECOND.CAPTION=[s] Second
TFRMMULTIRENAME.MISECOND1.CAPTION=[ss] Second (2 digits)

View file

@ -78,6 +78,12 @@ type
edFile: TEdit;
cbLog: TCheckBox;
btnRestore: TButton;
miDay3: TMenuItem;
miDay1: TMenuItem;
miMonth3: TMenuItem;
miMonth2: TMenuItem;
miMonth1: TMenuItem;
miYear1: TMenuItem;
ppNameMenu: TPopupMenu;
miNextName: TMenuItem;
miName: TMenuItem;
@ -113,11 +119,21 @@ type
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure miDay1Click(Sender: TObject);
procedure miDay2Click(Sender: TObject);
procedure miDay3Click(Sender: TObject);
procedure miDayClick(Sender: TObject);
procedure miHour1Click(Sender: TObject);
procedure miHourClick(Sender: TObject);
procedure miMinute1Click(Sender: TObject);
procedure miMinuteClick(Sender: TObject);
procedure miMonth1Click(Sender: TObject);
procedure miMonth2Click(Sender: TObject);
procedure miMonth3Click(Sender: TObject);
procedure miMonthClick(Sender: TObject);
procedure miSecond1Click(Sender: TObject);
procedure miSecondClick(Sender: TObject);
procedure miYear1Click(Sender: TObject);
procedure miYearClick(Sender: TObject);
procedure NameClick(Sender: TObject);
procedure NameXClick(Sender: TObject);
@ -128,7 +144,6 @@ type
procedure cbLogClick(Sender: TObject);
procedure ExtensionXClick(Sender: TObject);
procedure ExtensionXXClick(Sender: TObject);
procedure ppNameMenuPopup(Sender: TObject);
private
IniPropStorage: TIniPropStorageEx;
FLastPreset: String;
@ -140,10 +155,11 @@ type
function sHandleFormatString(const sFormatStr: string; ItemNr: Integer): string;
{Function sReplace call sReplaceXX with parametres}
function sReplace(sMask: string; ItemNr: Integer): string;
{sReplaceXX doing N, Nx, Nx:x and E, Ex, Ex:x}
{sReplaceXX doing N, Nx, Nx:y and E, Ex, Ex:y}
function sReplaceXX(const sFormatStr, sOrig: string): string;
{InsertMask is for write key symbols from buttons}
procedure InsertMask(Mask:string;edChoose:Tedit);
procedure InsertMask(const Mask:string;edChoose:Tedit);
procedure InsertMask(const Mask:string;editNr:PtrInt);
{Main function for write into lsvwFile}
procedure FreshText;
{Executes the main operation of renaming files}
@ -288,52 +304,84 @@ begin
end;
end;
procedure TfrmMultiRename.miDay1Click(Sender: TObject);
begin
InsertMask('[DD]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.miDay2Click(Sender: TObject);
begin
InsertMask('[DDD]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.miDay3Click(Sender: TObject);
begin
InsertMask('[DDDD]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.miDayClick(Sender: TObject);
begin
if ppNameMenu.Tag=0 then
InsertMask('[D]',edName)
else
InsertMask('[D]',edExt);
InsertMask('[D]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.miHour1Click(Sender: TObject);
begin
InsertMask('[hh]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.miHourClick(Sender: TObject);
begin
if ppNameMenu.Tag=0 then
InsertMask('[h]',edName)
else
InsertMask('[h]',edExt);
InsertMask('[h]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.miMinute1Click(Sender: TObject);
begin
InsertMask('[nn]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.miMinuteClick(Sender: TObject);
begin
if ppNameMenu.Tag=0 then
InsertMask('[n]',edName)
else
InsertMask('[n]',edExt);
InsertMask('[n]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.miMonth1Click(Sender: TObject);
begin
InsertMask('[MM]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.miMonth2Click(Sender: TObject);
begin
InsertMask('[MMM]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.miMonth3Click(Sender: TObject);
begin
InsertMask('[MMMM]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.miMonthClick(Sender: TObject);
begin
if ppNameMenu.Tag=0 then
InsertMask('[M]',edName)
else
InsertMask('[M]',edExt);
InsertMask('[M]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.miSecond1Click(Sender: TObject);
begin
InsertMask('[ss]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.miSecondClick(Sender: TObject);
begin
if ppNameMenu.Tag=0 then
InsertMask('[s]',edName)
else
InsertMask('[s]',edExt);
InsertMask('[s]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.miYear1Click(Sender: TObject);
begin
InsertMask('[YYYY]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.miYearClick(Sender: TObject);
begin
if ppNameMenu.Tag=0 then
InsertMask('[Y]',edName)
else
InsertMask('[Y]',edExt);
InsertMask('[Y]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.FreshText;
@ -475,7 +523,7 @@ begin
FreshText;
end;
procedure TfrmMultiRename.InsertMask(Mask:string;edChoose:Tedit);
procedure TfrmMultiRename.InsertMask(const Mask:string;edChoose:Tedit);
var
sTmp:string;
i:integer;
@ -490,6 +538,14 @@ begin
edChoose.SelStart:=i;
end;
procedure TfrmMultiRename.InsertMask(const Mask:string;editNr:PtrInt);
begin
if editNr = 0 then
InsertMask(Mask, edName)
else
InsertMask(Mask, edExt);
end;
procedure TfrmMultiRename.btnRestoreClick(Sender: TObject);
begin
edName.Text:='[N]';
@ -620,18 +676,12 @@ end;
procedure TfrmMultiRename.NameClick(Sender: TObject);
begin
if ppNameMenu.Tag=0 then
InsertMask('[N]',edName)
else
InsertMask('[N]',edExt);
InsertMask('[N]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.NameXClick(Sender: TObject);
begin
if ppNameMenu.Tag=0 then
InsertMask('[N1]',edName)
else
InsertMask('[N1]',edExt);
InsertMask('[N1]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.NameXXClick(Sender: TObject);
@ -642,26 +692,17 @@ begin
for c:=0 to lsvwFile.Items.Count-1 do
if i<length(ChangeFileExt(lsvwFile.Items[c].Caption,'')) then
i:=length(ChangeFileExt(lsvwFile.Items[c].Caption,''));
if ppNameMenu.Tag=0 then
InsertMask('[N1:'+inttostr(i)+']',edName)
else
InsertMask('[N1:'+inttostr(i)+']',edExt);
InsertMask('[N1:'+inttostr(i)+']',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.ExtensionClick(Sender: TObject);
begin
if ppNameMenu.Tag=0 then
InsertMask('[E]',edName)
else
InsertMask('[E]',edExt);
InsertMask('[E]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.ExtensionXClick(Sender: TObject);
begin
if ppNameMenu.Tag=0 then
InsertMask('[E1]',edName)
else
InsertMask('[E1]',edExt);
InsertMask('[E1]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.ExtensionXXClick(Sender: TObject);
@ -677,23 +718,12 @@ begin
if i<length(sTmp) then
i:=length(sTmp);
end;
if ppNameMenu.Tag=0 then
InsertMask('[E1:'+inttostr(i)+']',edName)
else
InsertMask('[E1:'+inttostr(i)+']',edExt);
end;
procedure TfrmMultiRename.ppNameMenuPopup(Sender: TObject);
begin
InsertMask('[E1:'+inttostr(i)+']',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.CounterClick(Sender: TObject);
begin
if ppNameMenu.Tag=0 then
InsertMask('[C]',edName)
else
InsertMask('[C]',edExt);
InsertMask('[C]',ppNameMenu.Tag);
end;
procedure TfrmMultiRename.cbLogClick(Sender: TObject);
@ -1118,4 +1148,4 @@ begin
end;
end.