begin process at 2012 02 10 04:27:36
  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 DBGrid [ par inform2010 ] bonjour, l'ai créer une table qui contient un champ boolean initialiser à false comment peut on afficher le contenu de ce champ dans un DBGrid de faco Problème de code = erreur "opération de pointeur incorrecte" [ par ODLCITEINFO ] Bonjour, j'ai un problème qui me pose problème, je ne trouve pas le problème et sa me turlupine beaucoup. Voici mon code dans lequel le problème survi selection d'un elément d'une dbgrid a une autre dbgrid [ par Luigi1205 ] Salut, j'effectue un programme scolaire avec delphi7, et j'utilise une base de donne access. [img]file:///C:/Users/Micusoft/Desktop/image.png[/img] Probleme de connexion avec une bdd ms sql server 2005 dans un reseau local [ par maminos_ead ] Bsr a tous; J'ai creer une petite base de donnée avec ms sql server 2005 et je veux l'exploiter a travers un reseau local en utilisant delphi 7 et y p


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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,421 sec (3)

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