Funkcja, która zamienia "Wl" na true a "Wyl" na False i na odwrot

0

Witam
Więc tak napisałem sobie takie funkcje:

// konwertuje String > Bool
function SprUst(JakieUstawienie : String) : Boolean;
begin
  if JakieUstawienie = 'Wl' then Result := True;
  if JakieUstawienie = 'Wyl' then Result := False;
end;

// konwertuje Bool > String
function KonwUst(JakieUstawienie : Boolean) : String;
begin
  if JakieUstawienie = True then Result := 'Wl';
  if JakieUstawienie = False then Result := 'Wyl';
end;

No i niestety gdy chcę użyć funkcji konwertującej String > Bool w takim kodzie:

TrybBezpieczny.Checked := SprUst(INI.ReadString('Bezpieczenstwo', 'TrybBezpieczny', False));

To wyskakuje mi error:
[DCC Error] okno_glowne.pas(123): E2010 Incompatible types: 'string' and 'Boolean'

Sprawdziłem również na KonwUst (oczywiście nie specjalnie, pisząc kod po prostu pomyliłem funkcję) i też nie działa. Jakieś pomysły? Bo sprawdzałem na ShowMessage i wszystko działało...

var
zmiennabool : Boolean;
zmiennastring : String;
begin
zmiennabool := True;
if KonwUst(zmiennabool) = 'Wl' then ShowMessage('Dziala KonwUst');
zmiennastring := 'Wyl';
if sprust(zmiennastring) = False then ShowMessage('Dziala SprUst');
end;
1
  1. argument w funkcji INI.ReadString jest typu bool (false), a powinien być string.
0

function SprUst(JakieUstawienie : String) : Boolean;
begin
if JakieUstawienie = 'Wl' then Result := True;
if JakieUstawienie = 'Wyl' then Result := False;
end;

a co jeśli JakieUstawienie będzie 'dupa'?

0
xeo545x39 napisał(a)
  1. argument w funkcji INI.ReadString jest typu bool (false), a powinien być string.

Nie zauważyłem. Dziękuje śliczne.

Co do 'dupa' to nie używam innych ustawień niż 'Wl' i 'Wyl'...

1 użytkowników online, w tym zalogowanych: 0, gości: 1