begin process at 2010 02 09 19:18:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

J'AI BESOIN D'AIDE !!!! :O

 > 

Petit souci avec BoolToStr


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Petit souci avec BoolToStr

jeudi 7 juillet 2005 à 12:25:45 | Petit souci avec BoolToStr

vincentstryckmans

Salut,

Je souhaite convertir un boolean de telle manière que :
       false = '0' en string;
       true = '1' en string;

La fonction BoolToStr(valeur,flag) donne false = 0 et true = -1 si flag est false et donne la première valeur des array TrueBoolStrs et FalseBoolStrs si flag est true, avec par défaut les string  'true' et 'false'.

Ces array ne sont apparement pas directement accessible et il faudrait les créer ce que j'ai fait :
SetLength(TrueBoolStrs,2);
SetLength(FalseBoolStrs,2);

TrueBoolStrs[0] := '1';
trueBoolStrs[1] := 'true';
FalseBoolStrs[0] := '0';
FalseBoolStrs[1] := 'false';


Et bien cela ne marche pas!

booltostr(true,true) donne 'true' et booltostr(false,true) donne 'false'.

Quoi moi y en a pas compris

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.
Vincent Stryckmans.

jeudi 7 juillet 2005 à 13:46:15 | Re : Petit souci avec BoolToStr

roud59

Réponse acceptée !

Bonjour

Curieux en effet. J'ai essayé avec Delphi7 :

SetLength(TrueBoolStrs,2);
SetLength(FalseBoolStrs,2);TrueBoolStrs[0] := '1';

trueBoolStrs[1] := 'true';
FalseBoolStrs[0] := '0';
FalseBoolStrs[1] := 'false';

ShowMessage(booltostr(true,true))

et j'obtiens '1' comme prévu ???

voici ce que trouve dans le sysutil.pas

function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string;
const
  cSimpleBoolStrs: array [boolean] of String = ('0', '-1');
begin
  if UseBoolStrs then
  begin
    VerifyBoolStrArray;
    if B then
      Result := TrueBoolStrs[0]
    else
      Result := FalseBoolStrs[0];
  end
  else
    Result := cSimpleBoolStrs[B];
end;


et

procedure VerifyBoolStrArray;
begin
  if Length(TrueBoolStrs) = 0 then
  begin
    SetLength(TrueBoolStrs, 1);
    TrueBoolStrs[0] := DefaultTrueBoolStr;   //= 'True'
  end;
  if Length(FalseBoolStrs) = 0 then
  begin
    SetLength(FalseBoolStrs, 1);
    FalseBoolStrs[0] := DefaultFalseBoolStr;  //= 'False'

  end;
end;

Si ça peux t'aider ...

Tu peux aussi faire :
const
  BoolStrArray : array[false..true] of string = ('0','1');

et
  ShowMessage(BollStrArray[UnBoolean]);

Roud59

vendredi 8 juillet 2005 à 00:40:03 | Re : Petit souci avec BoolToStr

taye78

Salut, une méthode très simple, si j'ai bien compris la question :
Convertir une variable boolean en une interprétation string:

Ord(True) = 1 & Ord(False) = 0 donc....

var teste: boolean;
begin
teste := true;
showmessage(inttostr(ord(teste)));
end;

sinon on peut faire ça propre fonction qui examinerai le boolean et qui retournerai un string en fonction de celui-ci.

A plus

-wG-  irc.heliosnet.org - #programmation
vendredi 8 juillet 2005 à 00:43:58 | Re : Petit souci avec BoolToStr

taye78

Je tien à rapeller que ce que j'ai dis (ord(true) [...]) n'est valable que pour un type BOOLEAN et non pas pour les types ByteBool, WordBool, LongBool vu qu'eux Ord(True) <> 0 (-1). Donc dans ce cas, une solution simple serait la création d'une fonction minime qui effectue la comparaison.

-wG-  irc.heliosnet.org - #programmation
vendredi 8 juillet 2005 à 08:09:18 | Re : Petit souci avec BoolToStr

vincentstryckmans

J'ai toruvé mon erreur. Merci à toi roud59 de m'avoir aiguillé sur sysutils.pas.

J'avais simplement et bêtement redéclaré TrueBoolStrs et FalseBoolStrs dans mon code

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.
Vincent Stryckmans.



Cette discussion est classée dans : true, false, donne, booltostr, trueboolstrs


Répondre à ce message

Sujets en rapport avec ce message

Basculer l'état True/false simplement [ par thonyboy ] Bonjour,Y'a t'il plus simple que de faire un testSi composant.active = True then composant.active:=False else composant.active:=TrueEn fait comme vous ds 1 dbgrid si registre true icon1 si false icon2 [ par 810mcu ] je voudrais faire afficher icon1 si le registre de la BD est true et icon2 si false L F pb avec la recherce d'une donnée dans une base oracle [ par anilane ] je travaille avec delphi 7 et oracle 9i  voila j'ai une fentre d'acces cad qu'il faux introduire le mot de pass et le nom de l'utilisateur je veux eff Afficchage avec TChart [ par preluk ] Bonjour,J'ai le code suivant, qui génère un signal booléen:procedure TConsert_data;var  i,j : integer;    Code : array [0..254] of boolean;    Frequen Ouvrir MS Word, Excel etc en plein ecran [ par lordrt ] Bonjour à tous, J'ai un app en Delphi qui ouvre des documents OLE, ex. Word, Excel, PDF entre autres, mais le probleme est que si la fenetre du docume image [ par smail002 ] salut tous ya til un petie code source pour se proget j ai trau d image dan mon proget il ya tout model mobile nokia stp donne moi tou simple c Déclenchement d'un service [ par jinkas ] Bonjour, Je suis débutant sous delphi et j'ai donc besoin d'un coup de pouce pour mettre en place un service windows qui se déclenche en fonction des FileExists me retourne toujours FALSE [ par netmichel ] Bonjour, J'ai 2 machines en windows Vista Je partage le disque C d'une machine et de l'autre machine je monte ce disque sur Z Lorsque je fais un Fi base de donne [ par mourouchou ] salut ,j'ai fait mcd de gestion scolarite d'école de formation j 'ai fait tout les tables nécessaire mais le problem que lorsque ajouter un enregiste Indy - gerer erreur [ par jcardon ] [^^mad2]Bonjour, mon programme envoie de nombreux fichiers sur mon site web. Pour ça, j'utilise, pour chaque fichier, Indy avec le code : Connect


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales