Wenigstens 1x bis zum ersten nicht-TAB Zeichen rennen und dann mit Substring abschnippeln, das erspart unnötige
'Delete' Operationen.
Delphi-Quellcode:
function LeadingTabs(var AData: string): integer;
var
i: integer;
begin
for i:=1 to length(aData) do
if aData[i] <> #0 then begin
result := i;
aData := Substring(aData,i,maxint);
exit;
end;
result := 0;
End;
Aber wo ist da der Mehrwert zu meiner Funktion? Und den Namen musst Du auch noch rausbekommen.
Übrigens sind beide Funktionen falsch, wenn der String z.B. so aussieht '<TAB>Name<Tab>: Meyer'. Meine Funktion liefert nur den falschen Level, aber deine vergisst den Prefix 'Name' und liefert einen noch falscheren (also nicht nur ein bischen falsch, sondern total falsch falsch) Level.