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 :

[D7] Obtenir le premier caractère d'un TField


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 73
    Points
    73
    Par défaut [D7] Obtenir le premier caractère d'un TField
    Bonjour,

    J'ai un petit souci, je recupère depuis un dataset une chaine de caractère. Et je voudrais recupérer le premier caractère de ce string.
    Voila comment je m'y suis pris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (DatasourcePersonnel.DataSet.Fieldbyname('BUREAU').AsString[1] = chr(66))
    Et j'ai le droit à un joli
    Violation d'accès
    J'ai essayé en passant par une variable intermédiaire mais ca n'a rien donné. Je précise tout de meme que quand je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (DatasourcePersonnel.DataSet.Fieldbyname('BUREAU').AsString = chr(66))
    Ca marche tout à fait normalement. Le problème vient donc bien du fait de vouloir récupérer un caractère.

    Si quelqu'un à une idée, elle est la bienvenue.
    Merci d'avance

    Vince

  2. #2
    Membre averti
    Avatar de delphichem
    Inscrit en
    Octobre 2002
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 280
    Points : 338
    Points
    338
    Par défaut
    Le problème vient du fait que si le champ ne contient aucune donnée, il n'existera pas de .AsString[1]

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 73
    Points
    73
    Par défaut
    ouais mais quand j'arrive à cette ligne de code je sais qu'elle est pas vide.
    T'as une idée de comment je pourrais contourner ce problème?

  4. #4
    Membre averti
    Avatar de delphichem
    Inscrit en
    Octobre 2002
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 280
    Points : 338
    Points
    338
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if DatasourcePersonnel.DataSet.Fieldbyname('BUREAU').AsString <> '' then ...

  5. #5
    Membre averti Avatar de Soulama
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 619
    Points : 416
    Points
    416
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Var
       FStr: String ;
       FChar : char ;
    Begin
       Str:= Trim(DataSet.Fieldbyname('BUREAU').AsString);
       FChar:= Str[1];
    end ;

  6. #6
    Membre averti
    Avatar de delphichem
    Inscrit en
    Octobre 2002
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 280
    Points : 338
    Points
    338
    Par défaut
    Oui mais si FStr contient une chaine vide, cala provoquera une exception.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 73
    Points
    73
    Par défaut
    Merci pour vos réponses. en afit j'ai fait un mixt de vos réponses et ca marche.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    PremierCaract     : char;
     
     
    if (DatasourcePersonnel.DataSet.Fieldbyname('BUREAU').AsString <> '') then
       PremierCaract:=DatasourcePersonnel.DataSet.Fieldbyname('BUREAU').AsString[1];
       if (PremierCaract = 'B') then...
    Encore merci et à plus

    Vince

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

Discussions similaires

  1. TJvFileListBox, oublie du premier caractère du premier item
    Par PoOky dans le forum Composants VCL
    Réponses: 10
    Dernier message: 03/11/2005, 17h27
  2. select sur premier caractère non alphabétique
    Par blasted dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 26/10/2005, 11h58
  3. Supprimer le premier caractère d'une chaine de caractères
    Par Droïde Système7 dans le forum Langage
    Réponses: 2
    Dernier message: 30/09/2005, 11h13
  4. Selection des x premiers caractères dans un champ précis
    Par Schulman dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/01/2005, 09h23
  5. Réponses: 2
    Dernier message: 04/09/2004, 10h53

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