Convertir un ensemble en string

nazim - 1 janv. 2014 à 11:50
korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 - 1 janv. 2014 à 17:56
Bonjour,
voila une partie concernée :
type
date= record
jj:set of 1..31;
mm:set of 1..12;
aa:integer;
end;
employer= record
prenom,nom:string;
datedenaissance:date;
datedemboche:date;
sexe: set of (masculin,feminin);
numsecurite:integer;
situation:set of (marie,divorce,veuf,celibataire)
end;
alors la question c'est que je sait pas comment faire pour afficher le "sexe" et la" situation familiale" qui sont de type ensemble dans une stringgrid parce que ça s'affecte pas directement .
merci d'avance pour votre aide .
A voir également:

1 réponse

korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 17
1 janv. 2014 à 14:44
Salut,
Tu peux utiliser des array of string et la fonction Ord pour la position dans les ensembles, comme ceci :

const
  sSituation: array[0..3] of string = ('marié','divorcé','veuf','célibataire');
  sSexe: array[0..1] of string = ('masculin','féminin');
var
  situation: set of (marie,divorce,veuf,celibataire);
  sexe: set of (masculin,feminin);
  LaSituation, LeSexe: string;
begin
  LaSituation := sSituation[Ord(divorce)];
  LeSexe := sSexe[Ord(feminin)];
  // affichage dans un memo pour vérifier que c'est OK
  Memo1.Clear;
  with Memo1.Lines do
  begin
    Append(LaSituation);
    Append(LeSexe);
  end;
end;

0
merci beaucoup pour ton aide mais c'est pas exactement ce que je cherche
je cherche a mettre dans une stringgrid un résultat qui a déjà était sélectionné par l'utilisateur comme :
type
sexe: set of (masculin,feminin);
var Ssexe:sexe;
begin
if radiobutton1.checked then stringgrid2.Cells[3,1]:=sSexe;
mais en fesent ça il ecrit en bas type incompatible set string
0
korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 17
1 janv. 2014 à 17:56
Si c'est juste pour faire ça, tu n'as pas besoin d'un set.
Il suffit de faire (c'est un exemple) :

const
  sSexe: array[Boolean] of string = ('masculin','féminin');

begin
  StringGrid2.Cells[3,1] := sSexe[not(RadioButton1.Checked)];
end;


Si tu as 2 RadioButton sur ta fiche et que tu les relies à l'évènement OnClic du premier, tu verras que "masculin" ou "féminin" s'affiche dans la StringGrid selon que l'un ou l'autre est coché.
0
Rejoignez-nous