Łańcuchy » Konwersje

TryStrToInt

  • 2010-10-31 18:27
  • 0 komentarzy
  • 254 odsłony
  • Oceń ten tekst jako pierwszy
TryStrToInt
Moduł: SysUtils

function TryStrToInt(const S: string; out Value: Integer): Boolean;

Funkcja sprawdza, czy wartość łańcuchową (określona w parametrze S) można przekonwertować do wartości typu Integer. 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 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ż: