Transtyper (caster) ensemble (set of)

Résolu
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 - 9 sept. 2008 à 18:43
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 - 21 sept. 2008 à 13:17
Salut tout le monde,
une petite question me trotte dans la tete.
Est il possible de transtyper un set of QuelqueChose en entier ?
Parce que je me dis qu'il est bien possible que le compilateur stock ca sous forme de bits
Si j'ai
TX = (x1, x2, x3);
TXs = set of TX;
il fait surement :
[x1, x2] : 011
[x1, x3] : 101
[x1, x2, x3] : 111
[] : 000

qu'en pensez vous?

10 réponses

cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
21 sept. 2008 à 10:26
Salut, m'y revoilà !




type

  TSetInt = (s1, s2, s3);
  TSetInts = set of TSetInt;

procedure TForm1.FormCreate(Sender: TObject);
var
  T: TSetInts;
  resu: byte; // ou Word ou DWord
begin
  T : = [s1];
  resu := byte(T) ;  // pas d'erreur du compilateur
  T : = [s2];
  resu := byte(T);
  T := [s3];
  resu := byte(T);
  T := [s1, s2];
  resu := byte([s1]); // là : erreur de transtypage !
end ;






(avec D7)

Ken@vo




<hr size ="2" width="100%" />



Code, Code, Codec !
3