jak posegregować stringi na takie grupy:
1 -zawierają tylko cyfry
2- cała reszta
Napisze schematycznie..
Jeżeli masz je wpakowane do TStringList to lecisz po kolejnych stringach i w każdym robisz pętle, czy każdy znak to cyfra (najprościej przez "ORD") - jeśli tak, to kopiujesz string do danej listy osobnej) i z tej usuwasz. Na końcu, na drugiej będą tylko z cyframi, a na aktualnej - pozostałe. Najprościej sprawdzać od końca, jeśli ma miejsce usuwanie stringów.
Mógłbyś napisać coś wiecej o funkcji Ord
Chyba łatwiej sprawdzać poprzez np. StrToInt() + try except.
function IsInt(S: String): Boolean;
begin
try
StrToInt(S);
Result := True;
except
Result := False;
end;
end;
Potem tylko pętelka:
{...}
if IsInt('string') then // to jest liczba
{...}
Chyba łatwiej sprawdzać poprzez np. StrToInt() + try except.
To jest powód, dlaczego należy od Pascala zaczynać, a nie od Delphi (choć przyznaję, że sam zaczynałem).
Zamiast takiej kombinacji stosuj Val. StrToInt jedynie wywołuje Val i jeżeli nastąpi błąd to wywoła wyjątek. Stosując Val omijamy wywołanie StrToInt i co najważniejsze try..except. Jeżeli spojrzałbyś do skompilowanego kodu, wiedziałbyś, dlaczego należy używać try..except tylko wtedy, gdy inaczej zastąpić się nie da lub byłoby to trudne albo zwiększało znacznie złożoność programu.