nö, so in etwa...(achtung, jetzt so spontan nach 1 Woche PC-Entzug *zitter* *sabber*
)
guckt ma drüber ob die ganzen namen so stimmen...aber das grundkonzept sollte gehen.
wie gesagt, es KANN schiefgehen. aber je höher Max ist, desto
Delphi-Quellcode:
const
Max: Integer = 20; //Länge der Strings
function Fill(Val:String):String;
var i:Integer;
begin
for i:=1 to Max-Length(Val) do Result:=Result+' ';
Result:=Val+Result;
end;
procedure ReplaceIniInExe(Rep, RepWith: TStringList);
var FS: TFileStream;
Buf: String[Max];
begin
FS:=TFileStream.Create('Bla.Exe',fmShareExclusive or fmReadWrite);
while FS.Position<FS.Size do
begin
FS.Read(Buf,Max);
if Rep.IndexOf(Trim(Buf))>-1 then
begin
FS.Position:=FS.Position-Max;
FS.Write(Fill(RepWith.Strings[Rep.IndexOf(Trim(Bux))]));
end;
end;
FS.Free;
end;