Конвертация

B.Boy

Member
Joined
Jul 20, 2005
Messages
65
Reaction score
0
Age
37
Location
Пенза-City
Website
www.politex.pnz.ru
Как конвертировать значение булевой переменной (в дельфи) в строку?
ПРобовал BoolToStr, но она возвращает -1 вместо false. Как это сделать?:confused:
 

JCDenton

Member
Joined
Feb 15, 2013
Messages
158
Reaction score
40
У BoolToStr есть второй параметр, указывающий, надо ли конвертировать в число или в строку. Например, BoolToStr(False, False) = '0', BoolToStr(False, True) = 'False', BoolToStr(True, True) = 'True'.
 

fsloredo

New member
Joined
Dec 23, 2009
Messages
4
Reaction score
8
Age
42
Anyway you could do something like

function myBoolToStr(v: boolean): string;
begin
Result := ifthen(v, 'true', 'false');
end;

In this example you could change true and false to whatever you want to.
 

j1981

Member
Joined
Sep 4, 2008
Messages
9
Reaction score
2
Age
53
function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string;
description
Returns a string from a boolean value.
When UseBoolStrs is True then if b equals True, the function returns the first string in TrueBoolStrs; if b equals False, the function returns the first string in FalseBoolStrs. Where FalseBoolStrs and TrueBoolStrs are global Delphi variables (dynamic string arrays) you can set and use when converting a boolean variable to string and back.

example
var b : boolean;

b:=True;

{ first example }
//BoolToStr(b) = '-1' (* true *)
//BoolToStr(NOT b) = '0' (* false *)

{ second example }
SetLength(TrueBoolStrs,1);
SetLength(FalseBoolStrs,1);

TrueBoolStrs[0]:='YES';
FalseBoolStrs[0]:='NO';

ShowMessage(BoolToStr(True, True));
//this will result in 'YES'

ShowMessage(BoolToStr(False, True));
//this will result in 'NO'
 
Top