function TryStrToInt64(const S: string; out Value: Int64): Boolean;
Funkcja sprawdza, czy wartość łańcuchową (określona w parametrze S) można przekonwertować do wartości typu Int64. Jeżeli operacja konwersji zakończy się sukcesem, funkcja zwróci wartość True, a w parametrze Value znajdzie się przekonwertowana wartość.
Wyobraź sobie sytuację, w której należy przekonwertować do postaci typu Int64 liczbę, którą użytkownik wpisze w oknie konsoli. Korzystając z funkcji StrToInt narażamy się ryzyko wykonania nieprawidłowej operacji - użytkownik, specjalnie lub nie - może w konsoli wpisać nieprawidłową wartość (np. zmiennoprzecinkową lub tekstową). Możemy się do tego przygotować obsługując wyjątek:
try
I := StrToInt64(S);
except
Writeln('Podano nieprawidłową wartość');
end;
Możemy też skorzystać z funkcji TryStrToInt64:
program Foo;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
S : String;
I : Int64;
begin
Write('Podaj wartość liczbową, całkowitą: ');
Readln(S);
if not TryStrToInt64(S, I) then
begin
Writeln('Wartość nieprawidłowa!');
end else
begin
Writeln('Wartość: ', Sqr(i));
end;
Readln;
end.
W powyższym przykładzie, jeżeli użytkownik poda prawidłową wartość - otrzymana liczba zostanie podniesiona do potęgi.
Zobacz też: