Конвертация

B.Boy

Турист
Регистрация
21 Июл 2005
Сообщения
65
Реакции
0
Credits
94
Как конвертировать значение булевой переменной (в дельфи) в строку?
ПРобовал BoolToStr, но она возвращает -1 вместо false. Как это сделать?:confused:
 

B.Boy

Турист
Регистрация
21 Июл 2005
Сообщения
65
Реакции
0
Credits
94
Ну нафиг... написал собственную функцию :) Надо было сразу так ;)
 

JCDenton

Местный
Регистрация
15 Фев 2013
Сообщения
15
Реакции
3
Credits
28
У BoolToStr есть второй параметр, указывающий, надо ли конвертировать в число или в строку. Например, BoolToStr(False, False) = '0', BoolToStr(False, True) = 'False', BoolToStr(True, True) = 'True'.
 

fsloredo

Местный
Регистрация
24 Дек 2009
Сообщения
4
Реакции
8
Credits
8
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

Местный
Регистрация
4 Сен 2008
Сообщения
9
Реакции
2
Credits
38
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'