Potrzebuję wykryć pierwszą cyfrę wpisaną w pole Edit1.Text
Pierwsza procedura wydaje się być prostsza ale nie działa.
Druga jest dość długa ale działa.
Może można coś poprawić w pierwszej i załatwić sprawę prościej?
procedure TForm1.BT1Click(Sender: TObject);
Label Koniec;
type
SetLiczby = set of '1'..'9';
var
i, k: Integer;
Liczby : SetLiczby;
S: String;
begin
S:=E1.Text;
For i:=1 to Length(S) do
begin
if (Copy(S,i,1) in Liczby) then // Incompatybile types 'string' and 'char'
begin
k:=i;
Goto Koniec;
end;
end;
Koniec:
Label1.Caption:=Copy(S,k,Length(S)-k+1);
end;
procedure TForm2.BT1Click(Sender: TObject);
Label Koniec;
var
i, j, k: Integer;
S: String;
begin
S:=E1.Text;
For i:=1 to Length(S) do
begin
For j:=1 to 9 do
begin
if (Copy(S,i,1)=IntToStr(j)) then
begin
k:=i;
Goto Koniec;
end;
end;
end;
Koniec:
Label1.Caption:=Copy(S,k,Length(S)-k+1);
end;