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

Langage Delphi Discussion :

Convertir le type variant Null en OleStr


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 59
    Points : 19
    Points
    19
    Par défaut Convertir le type variant Null en OleStr
    Bonjour !


    Je suis désolée de venir poster régulièrement comme ça, mais quand je ne trouve vraiment pas de solutions, je n'aime pas rester coincée...

    J'ai un nouveau petit problème dans mon programme DELPHI.

    Au départ, j'utilisais une base de données avec SQL d'une table de deux champs qui ne contenaient que 12 enregistrements.
    Trouvant cela très peu pratique, j'ai décidé de remplacer ma base par un TListView.

    Après plusieurs recherches sur internet, j'ai réussi à le remplir correctement avec deux colonnes (qui représentent les champs de ma base) et, je voudrais qu'au clic d'un bouton, je puisse récupérer les valeurs de l'élément sélectionné dans des variables.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ...
    var
     variable1 : string;
     variable2 : string;
    ...
     
    procedure Tpage_accueil.MonBoutonClick(Sender: TObject);
    begin
       variable1   := MaListeView.Items[MaListeView.ItemIndex].Caption; // récupère l'élément de la colonne 1 de la ligne sélectionnée
       variable2 := MaListeView.Items[MaListeView.ItemIndex].SubItems[1]; // récupère l'élément de la colonne 2 de la ligne sélectionnée
       Label1.Caption := variable1 ;
    end;
    A l'exécution, je sélectionne donc un enregistrement, et au clic du bouton, j'ai cette erreur qui apparaît...

    Impossible de convertir le variant de type (Null) en type (OleStr)
    Je penses bien que c'est un problème avec la déclaration de mes variables, mais je ne parviens pas à trouver (sur internet et dans l'aide) comment je dois faire pour les déclarer correctement.

    Si quelqu'un avait un indice, merci d'avance

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    sur quelle ligne exactement ?

  3. #3
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 59
    Points : 19
    Points
    19
    Par défaut
    Il ne donne aucune ligne d'erreur, c'est bien le souci.

    J'ai essayé d'exécuter le mode débogage en mettant un point d'arrêt après la récupération des variables.

    Et...J'ai à présent une autre erreur (après sélection et appui sur le bouton) :

    Index de Liste hors limites [1]

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    les dcus de debogage sont bien inclus dans les options de projet ?

  5. #5
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 59
    Points : 19
    Points
    19
    Par défaut
    C'est à dire ?

  6. #6
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 59
    Points : 19
    Points
    19
    Par défaut
    Alors là, je ne comprend pas ce qu'il s'est passé dans mon histoire.

    J'ai supprimé définitivement toute ligne de code liée à SQL et la première erreur s'est arrêtée.

    Puis, j'ai changé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    variable2 := MaListeView.Items[MaListeView.ItemIndex].SubItems[1 0];
    Et l'erreur d'index s'est arrêtée également.

  7. #7
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    Si ton problème est résolu, c'est le principal.

    Petite question quand même : pourquoi le TListview ?
    Tu pourrais utiliser avantageusement un tclientdataset qui peut enregistrer/charger structure et données depuis un fichier xml.
    Ensuite, tu affiches ça dans un tdbgrid.


    Pour les dcus de débogage, c'est une case à cocher dans les options de projet , onglet Compiler : Utiliser les dcus de débogage. Ca permet de s'arreter sur les points d'arrèt.

  8. #8
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 59
    Points : 19
    Points
    19
    Par défaut
    J'ai choisi une TListView parce que chacune des recherches "Delphi : Liste à plusieurs colonnes", m'a redirigée sur l'utilisation d'une TListView.
    Je cherchais comment gérer le multicolonnes sur une ListBox toute simple et en fait, tous les sujets que j'ai lu disaient d'utiliser une ListView.

    C'est pour ça..

    Et pour le debogage, oui, c'est bon, c'est coché.

    Merci de ton aide, de nouveau

  9. #9
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999

  10. #10
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 59
    Points : 19
    Points
    19
    Par défaut
    Je vais étudié ça, merci beaucoup !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/03/2014, 10h04
  2. convertir un type null en string (re)
    Par pierrot67 dans le forum Bases de données
    Réponses: 8
    Dernier message: 01/01/2007, 19h27
  3. [LG]Convertir le type double en string
    Par @tom@ dans le forum Langage
    Réponses: 8
    Dernier message: 18/01/2004, 19h20
  4. Convertir un type de donnée sous SQL Server
    Par Fleep dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/08/2003, 15h15
  5. Convertion de type VARIANT à type CString
    Par j_grue dans le forum MFC
    Réponses: 2
    Dernier message: 07/11/2002, 14h18

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