Zitat von
Klaus01:
Hallo,
ich stelle mit das ungefähr so vor:
Delphi-Quellcode:
i:= 1
found :=false;
s:=LabeledEditklasse.Text;
while (not found) and (i < length(s)) do
begin
if s[i] not in ['0'..'9'] then
begin
found:=true;
Schuelerfeld[i].stufe := StrToInt(copy(s,1,i-1));
Schuelerfeld[i].klasse := copy(s,i,length(s)-i);
end
else
inc(i);
end;
Grüße
Klaus
hab das gerade mal ausprobiert,
delphi versteht die zeile
if s[i] not in ['0'..'9'] then
nicht, und um ehrlich zu sein ich auch nicht
schreiben wir das mal aus ...
if LabeledEditklasse.Text[1] [...]
<- geht das ?
------------------------------
Zitat:
procedure TDemoForm.ButtonClick(Sender: TObject);
var
s: String;
index, value: Integer;
begin
s := '13a';
Val(s, value, index);
s := Trim(Copy(s, index, MaxInt));
ShowMessage(Format('Klasse %d %s', [value, s]));
end;
hab ich auch gerade getestet, sieht schon ganz gut aus, aber wie kann ich %d und %s einzeln abrufen ?
Delphi-Quellcode:
Val(s, value, index);
s := Trim(Copy(s, index, MaxInt));
LabeledEditnachname.Text := (Format('%d', [value, s]));
LabeledEditvorname.Text := (Format('%s', [value, s]));
so hab ichs erstmal versucht, das %d funktioniert, aber bei %s schmeißt der mir nen error