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 :

Problème avec la fonction Copy


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Problème avec la fonction Copy
    Bonsoir :

    j'ai un petit problème que je n'arrive pas à le résoudre :

    j'ai le code suivant :

    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
    var:                                                                                              
     
    s , port :string ;                                                                                
    i,l:integer ;                                                                                     
    data_tmp: TStringlist;                                                                            
     
    procedure traitemamnt;                                                                            
     
    for i:=data_tmp.count-1 downto 1  do begin                                                        
     
    port:='port/al=';                                                                                 
    s:=data_tmp[i];                                                                                   
    l:=pos(' ', S)                                                                                     
    if l > 0                                                                                          
    port :=port/AL+ copy(S,1,i-1);
    qaund les données de mon fichier texte ont la structure suivante ça ma marche :

    Port
    1
    2
    3

    mais quant les données change à droite c.a.d un vide qui précede les nombres ça marche pas

    Port
    1
    2
    3

    je cherche à écrire :

    port:port/al=1
    port:port/al=2
    port:port/al=3

    NB: veuillez voir le fichier joint il est plus explicite.

    merci pour votre aide et suggestion
    Fichiers attachés Fichiers attachés

  2. #2
    Membre chevronné

    Homme Profil pro
    au repos
    Inscrit en
    Février 2014
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2014
    Messages : 429
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonsoir,

    La fonction Copy a comme paramètres : <S> <indice de départ> <nombre de caractères>

    Donc, si espace avant le chiffre, Pos renvoie 1, l'indice de départ est 2.
    port :=port/AL+ copy(S, l+1, 1);

    Remarque: pourquoi ne pas utiliser la fonction Trim qui supprime les espaces avant et après : s:= Trim(data_tmp[i]);

    Cordialement
    Thierry

  3. #3
    Membre averti

    Homme Profil pro
    ingénieur, retraité
    Inscrit en
    Février 2007
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur, retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 230
    Points : 332
    Points
    332
    Par défaut
    Bonjour

    Si s et port sont des chaines la solution est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    port := 'port/al=';                                                                                 
    s := data_tmp[i];  
    port := port + Trim(s);
    Bonne Année

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Problème avec la fonction Copy
    Salut :

    Merci pour vos réponses, j'ai procéder avec la première solution :

    S: = Trim (data_tmp[i]);


    Solution accepté.

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

Discussions similaires

  1. problème avec la fonction copie
    Par meylanie dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 23/03/2010, 18h02
  2. Réponses: 16
    Dernier message: 21/02/2005, 17h20
  3. [Requete SQL en VBA] Problème avec la fonction FLOOR
    Par zubral dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/07/2004, 13h24
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

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