Наши преимущества

Конвертация

B.Boy

Турист
Credits
0
Как конвертировать значение булевой переменной (в дельфи) в строку?
ПРобовал BoolToStr, но она возвращает -1 вместо false. Как это сделать?:confused:
 
Ну нафиг... написал собственную функцию :) Надо было сразу так ;)
 
У BoolToStr есть второй параметр, указывающий, надо ли конвертировать в число или в строку. Например, BoolToStr(False, False) = '0', BoolToStr(False, True) = 'False', BoolToStr(True, True) = 'True'.
 
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.
 
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'
 
Верх