IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

[D5] Transtypage qui pose problème


Sujet :

Delphi

  1. #1
    Membre habitué Avatar de MelkInarian
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 144
    Points
    144
    Par défaut [D5] Transtypage qui pose problème
    Bonjour!
    Dans le code suivant, je charge, dans un fichier texte, une valeur intervalle : Par exemple : P=[80..114] et je souhaite, à l’aide de la totalité des entiers compris entre les 2 bornes de mon intervalle (ici : 80 et 114) remplir les Items d’un combobox.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PNJTaille.Items.Add(IntToStr(I));
    Mais je ne connais pas la commande de transtypage adéquate (ligne en rouge) .
    Quelqu’un peut-il m’aider ?
    Merci !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Var
      F            : Textfile;
      ListInfo : TStrings;
      FInfo        : TFileName;     // Nom du fichier texte contenant les infos
      ErreurFichier : Boolean;
      Valeur        : String;
      I : Byte;
      X: array of byte;
    begin
    …..
          if not ErreurFichier then begin
            try                       // Contrôler la disponibilité du fichier
              RInfo.Lines.LoadFromFile(FInfo);
    
              ListInfo        := Tstringlist.Create;
              ListInfo.LoadFromFile(FInfo);                     // Charge depuis le fichier
    …..
              TailleModCA.Text    := ListInfo.Values['ModTailleCA']; // Modificateur de Taille à la CA
              TailleModAtt.Text   := ListInfo.Values['ModTailleAtt']; // Modificateur de Taille aux jets d'attaque
              TaillePdsPrtble.Text:= ListInfo.Values['ModTaillePdsPorté']; // Modificateur de Taille au poids transportable
            Finally
              ListInfo.Clear;
            end;
            FInfo := PathTables + 'TAILLES.TXT';  // Chemin\Fichier
            try                       // Contrôler la disponibilité du fichier
    …
              RInfo.Lines.LoadFromFile(FInfo);
              ListInfo        := Tstringlist.Create;
              ListInfo.LoadFromFile(FInfo);                 // Charge depuis le fichier
              Valeur := ListInfo.Values[RaceCat_Taille.Text]; // Catégorie de Taille
              X := StrToInt(Valeur);
              for I := low(X) to High(X) do
                 PNJTaille.Items.Add(IntToStr(I));
            Finally
              ListInfo.Clear;
            end;

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    X est un array of byte.
    Donc il te faut une instruction du genre:
    Je n'ai pas regardé ton code dans le détail.

    @+

  3. #3
    Membre habitué Avatar de MelkInarian
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 144
    Points
    144
    Par défaut
    Citation Envoyé par Cl@udius
    Salut
    X est un array of byte.
    Donc il te faut une instruction du genre:
    Je n'ai pas regardé ton code dans le détail.
    @+
    En fait j'ai fait plusieurs essais avant de poster et array of byte est l'un de ces essais qui ne fonctionnent pas.
    Dans l'absolu ces le transtypage d'intervalle à entier qui m'intéresse pour faire fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     for I := low(X) to High(X) do
                 PNJTaille.Items.Add(IntToStr(I));
    sachant que le contenu de X provient d'un fichier texte sous la forme clé=valeur

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    Var
      F            : Textfile;
      ListInfo : TStrings;
      FInfo        : TFileName;     // Nom du fichier texte contenant les infos
      ErreurFichier : Boolean;
      Valeur        : String;
      iDebut , iFin : Integer;
      I : Byte;
      X: array of byte;
    begin
    …..
          if not ErreurFichier then begin
            try                       // Contrôler la disponibilité du fichier
              RInfo.Lines.LoadFromFile(FInfo);
     
              ListInfo        := Tstringlist.Create;
              ListInfo.LoadFromFile(FInfo);                     // Charge depuis le fichier
    …..
              TailleModCA.Text    := ListInfo.Values['ModTailleCA']; // Modificateur de Taille à la CA
              TailleModAtt.Text   := ListInfo.Values['ModTailleAtt']; // Modificateur de Taille aux jets d'attaque
              TaillePdsPrtble.Text:= ListInfo.Values['ModTaillePdsPorté']; // Modificateur de Taille au poids transportable
            Finally
              ListInfo.Clear;
            end;
            FInfo := PathTables + 'TAILLES.TXT';  // Chemin\Fichier
            try                       // Contrôler la disponibilité du fichier
    …
              RInfo.Lines.LoadFromFile(FInfo);
              ListInfo        := Tstringlist.Create;
              ListInfo.LoadFromFile(FInfo);                 // Charge depuis le fichier
              Valeur := ListInfo.Values[RaceCat_Taille.Text]; // Catégorie de Taille
     
              i := Pos('..',Valeur);
              iDebut := StrToIntDef(Copy(Valeur,1,i -1),0);
              ifin := StrTOIntDef(Copy(Valeur,i+2, Length(Valeur) - i - 2),0);
     
              for I := iDebut to iFin do
                 PNJTaille.Items.Add(IntToStr(I));
            Finally
              ListInfo.Clear;
            end;
    Je verrais plutot le code dans ce style.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  5. #5
    Membre habitué Avatar de MelkInarian
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 144
    Points
    144
    Par défaut
    Merci Malatar, le résultat de ton code correspond parfaitement à ce que je souhaite faire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. insert select qui pose problème
    Par vgaudin dans le forum SQL
    Réponses: 3
    Dernier message: 21/09/2007, 09h07
  2. [VBA]: Nom de champ qui pose problème
    Par Amitom dans le forum Access
    Réponses: 4
    Dernier message: 07/06/2007, 09h26
  3. requete update qui pose problème
    Par kirian dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/02/2007, 11h20
  4. code qui pose problème
    Par onePersonne dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/10/2006, 14h27
  5. Un cast de SmartPointer qui pose probléme
    Par Higestromm dans le forum C++
    Réponses: 3
    Dernier message: 13/10/2005, 10h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo