TryStrToInt

Adam Boduch
TryStrToInt
Moduł: SysUtils
```delphi function TryStrToInt(const S: string; out Value: Integer): Boolean; ``` [[Delphi/Funkcje|Funkcja]] sprawdza, czy wartość łańcuchową (określona w parametrze S) można przekonwertować do wartości typu [[Delphi/Integer]]. Jeżeli operacja konwersji zakończy się sukcesem, funkcja zwróci wartość [[Delphi/True]], a w parametrze Value znajdzie się przekonwertowana wartość.

Wyobraź sobie sytuację, w której należy przekonwertować do postaci typu Integer 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 := StrToInt(S);
except
  Writeln('Podano nieprawidłową wartość');
end;

Możemy też skorzystać z funkcji TryStrToInt:

program Foo;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  S : String;
  I : Integer;
begin
  Write('Podaj wartość liczbową, całkowitą: ');
  Readln(S);

  if not TryStrToInt(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ż:

0 komentarzy