Ich habe mir mal die v0.06a angesehen.
Als erstes ist mir negativ aufgefallen, dass teilweise nichts eingerückt wird.
Dann finden sich zwei Verzweigungen zu Frame_Rate:
Delphi-Quellcode:
if pos(uppercase('Frame_Rate'),uppercase(memo.lines[i])) > 0 then
begin
temp:=stringreplace(uppercase(memo.lines[i]),uppercase('Frame_Rate='),'',[rfReplaceAll]);
temp:=stringreplace(uppercase(temp),uppercase('/'),' ',[rfReplaceAll]);
temp:=stringreplace(uppercase(temp),uppercase('('),' ',[rfReplaceAll]);
temp:=stringreplace(uppercase(temp),uppercase(')'),' ',[rfReplaceAll]);
text:=GetTok(temp, 2, ' ');
value:=GetTok(temp, 3, ' ');
Edit11.text:=formatfloat('0.00',strtofloat(text)/strtofloat(value));
end;
...
if pos(uppercase('Frame_Rate'),uppercase(memo.lines[i])) > 0 then {nothing} else
if pos(uppercase(' '),uppercase(memo.lines[i])) > 0 then
begin
...
Theoretisch könnte man diese zusammenfassen. Allerdings wäre es sinnvoller, die zweite Stelle in
Delphi-Quellcode:
if (pos(uppercase(' '), uppercase(memo.lines[i])) > 0)
and (pos(uppercase(':\'),uppercase(memo.lines[i])) = 0)
then begin
...
zu ändern.
Die function GetTok lieferte mir bei der Frame_Rate nur leere Strings zurück. Warum, habe ich nicht weiter untersucht.