📄 creatcmd.dpr.~23~
字号:
program CreatCMD;
{$APPTYPE CONSOLE}
uses
SysUtils, Classes, Unicode;
var
str_nam,str_alb : string;
str_num : array[0..15] of string;
conf,src : TStringList;
fn,srci,output,dest : string;
srcn : widestring;
fc,sc : char;
wc : widechar;
ii,ni,nx,ie,ne,i : integer;
hup, fin : boolean;
begin if(ParamCount>=3)then begin
fn := ExtractFileDir(ParamStr(0))+'\';
if ParamCount>3 then str_alb := ParamStr(4) else str_alb := '';
src := TStringList.Create;
conf := TStringList.Create;
conf.LoadFromFile(fn+ParamStr(1));
if(not fileexists(fn+ParamStr(2)))then begin halt(3);end;
src.LoadFromFile(fn+ParamStr(2));
srci := src.Text;
srcn := src.Text;
str_nam := ParamStr(3);
ii := Pos('[',srci)+1;
ni := Pos('[[',srci)+2;// StrPosW(PWideChar(srcn),'[[');
ie := Pos(']',srci);
ne := Pos(']];',srci);// StrPosW(PWideChar(srcn),']];');
dest := StringReplace(conf.Text, '*n', str_nam, [rfReplaceAll]);
dest := StringReplace(dest, '*a', str_alb, [rfReplaceAll]);
dest := StringReplace(dest, '*f', fn, [rfReplaceAll]);
//srci := StringReplace(srci, ']];', ']],;', [rfReplaceAll]);
if ii=ie then begin writeln(' Err : No Data ! '); halt(1);end;
fc := srci[ii];
while(fc<>']')do begin
if ni=ne then begin writeln(' Err : Out of Range ! '); halt(2);end;
for i:=0 to 15 do str_num[i] := '';
fc := srci[ii];
while((fc<>',')and(fc<>']'))do begin
if(fc in['0'..'9'])then str_num[0] := str_num[0] + fc;
inc(ii);
fc := srci[ii];
end;inc(ii);
//Second Section
nx := 1;
sc := srci[ni];
fin := false;
while((nx<16)and(not fin)and(ni<ne))do begin
hup := false;
while((sc<>','){or(hup)})do begin
if(hup and(sc in ['?','*','/','\','<','>','"','|',':',',','[',']']))then begin
sc := '_';
srci[ni] := sc;
end;
if(sc='"')then hup := not hup else begin
if((sc=']')and(not hup))then fin := true else
if((hup)or(sc<>'['))then str_num[nx] := str_num[nx] + sc;
end;
inc(ni);
sc := srci[ni];
end;
inc(nx);
inc(ni);
sc := srci[ni];
end;inc(ni,2);
output := dest;
for i:=0 to 15 do output :=
StringReplace(output, '*'+inttostr(i), str_num[i], [rfReplaceAll]);
writeln(output);
end;
end;Halt(0);end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -