Ich frage mich, wie es dazu kommt, dass ich, wenn ich ein nützliches Tool für jemanden erstelle, der dringend eine Zeichenfolge in einer Datei ersetzen und diese auf eine kostenlose Upload-Site hochladen muss, die kostenlos heruntergeladen werden kann, tatsächlich wieder ein kostenloses Tool, wie es kommt das ich ein spammer werde ???
Ich bin ein sehr angesehener, alter Programmierer in meinem Land, niemand hat mich jetzt als Spammer bezeichnet.
Jetzt muss ich den Quellcode hochladen, um mein Ansehen zu erhalten ...
Jetzt wurde mir klar, dass COMMUNITY ein Roboter ist und das ist in Ordnung für mich ...
Source ist mit FPC kompilierbar.
Program ReplaceString;
var
fs,fd:file of char;
rdchar:char;
cnt1:byte;
ocur:longint;
instr,outstr,tempstr:string;
function fileexists(filename:string):boolean;
var
f:file;
begin
{$I-} assign(f,FileName);reset(f);close(f); {$I+}
fileexists:=(ioresult=0) and (filename<>'');
end;
procedure chkstr;
var
tmp1:char;
numread,cnt2:byte;
begin
numread:=1;
tempstr[1]:=rdchar;
repeat
read(fs,tmp1);
inc(numread);
tempstr[numread]:=tmp1;
until (numread=length(instr)) or (instr[numread]<>tempstr[numread]);
if (numread<length(instr)) or (instr[numread]<>tempstr[numread]) then
for cnt2:=1 to numread do begin
tmp1:=tempstr[cnt2];
write(fd,tmp1);
end else begin
for cnt2:=1 to length(outstr) do begin
tmp1:=outstr[cnt2];
write(fd,tmp1);
end;
inc(ocur);
write('Occurrences: ',ocur);
for cnt2:=1 to 20 do write(chr(8));
end;
end;
begin
writeln('File string replacer v.1.0 for WIN32 by Rares Atodiresei (P)2018');
if paramcount<>3 then begin
writeln('Usage: Repstr32.exe <infile> <target string> <replacement string>');
halt(1);
end;
if not fileexists(paramstr(1)) then begin
writeln('File ',paramstr(1),' does not exist.');
halt(1);
end;
writeln;
ocur:=0;
write('Searching...');
for cnt1:=1 to 15 do write(chr(8));
instr:=paramstr(2);
outstr:=paramstr(3);
assign(fs,paramstr(1));reset(fs);
assign(fd,'_'+paramstr(1));rewrite(fd);
while not eof(fs) do begin
read(fs,rdchar);
if rdchar=instr[1] then chkstr else write(fd,rdchar);
end;
close(fd);close(fs);
if ocur=0 then begin
write('Target string not found.');
for cnt1:=1 to 25 do write(chr(8));
erase(fd);
end else begin
erase(fs);rename(fd,paramstr(1));
end;
writeln;writeln;writeln('Done.');
end.