RichardIV |
---|
... Затем буду вычлинять код товара и искать его в таблице соответствий. Правда, не знаю как её оформить - через dbf или ini файл.
Какие будут предложения - как лучше сделать требуемое мне? Чтобы скорость обработки была высокая и память не сильно расходовалась. |
Нафик тебе эти dbf. Прямо в коде замену делай. Понадобится расширить или исправить - по-быстрому исправишь, перкомпилишь - и всё.
Вот, очень быстро и вообще ни одного байта памяти не расходуется:
var
fFSrc: TextFile;
fFTrg: TextFile;
fOff1: Integer;
fOff2: Integer;
fOrig: string;
fSrcStr: string;
begin
fOff1 := Length('tovar=') + 1;
AssignFile(fFSrc, 'src.txt');
Reset(fFSrc);
AssignFile(fFTrg, 'trg.txt');
Rewrite(fFTrg);
while not Eof(fFSrc) do begin
Readln(fFSrc, fSrcStr);
fOff2 := PosEx(';', fSrcStr, fOff1);
if fOff2 > fOff1 then begin
fOrig := Copy(fSrcStr, fOff1, fOff2 - fOff1);
if fOrig = 'pmd' then
fSrcStr := StuffString(fSrcStr, fOff1, fOff2 - fOff1, 'пындыром')
else if fOrig = 'ogur' then
fSrcStr := StuffString(fSrcStr, fOff1, fOff2 - fOff1, 'огурец')
else if fOrig = 'arb' then
fSrcStr := StuffString(fSrcStr, fOff1, fOff2 - fOff1, 'арбус')
else if fOrig = 'kolb' then
fSrcStr := StuffString(fSrcStr, fOff1, fOff2 - fOff1, 'колбас')
end;
Writeln(fFTrg, fSrcStr);
end;
CloseFile(fFSrc);
CloseFile(fFTrg);