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 :

Trim Array ?


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 168
    Points : 120
    Points
    120
    Par défaut Trim Array ?
    Bonjours est-il possible de faire un trim dans un array pour vider les caractères NULL du début ou fin ?

    Mon Array ressemble à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     textbuf : Array[0..buflen] Of Char;
    Merci !

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    707
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 707
    Points : 777
    Points
    777
    Par défaut
    Avec Copy peut-être ?

  3. #3
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 168
    Points : 120
    Points
    120
    Par défaut
    Copy ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Copy(MonBuf,pos(#0,MonBuf),Length(MonBuf));
    Tu penses que c'est possible ?

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    ça ne serait pas plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Copy(MonBuf,0,pos(#0,MonBuf)-1);
    Sinon, dans quel utilisation tu en as besoin, Delphi gère les array of char quasiment comme des string et dans certains cas, c'est plus pénible.
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 168
    Points : 120
    Points
    120
    Par défaut
    C'est compliquer a expliquer,
    Quand je fait tourner mon application Client Server entre deux machines réel tout se passe bien , la réception de fichiers se passe normalement.
    Mais si je fait tourner le Server sur une machine réel et le Client sur une machine virtuelle , la il y a problème , les transfert ne fonctionne pas
    quand je write je buffer reçus , j'ai regardé sa de plus prêt dans le fichiers
    et j'ai remarquer que la premier ligne du fichier été composant d'une liste énorme de caractères NULL , en gros j'aimerai bien enlever ses caractères null si il y en a ...

    mais ce que je comprend pas , c'est pourquoi il y a t'il des carracteres NULL que quand je contrôle ma machine sous XP sur VMWare :s.

    En gros le fichier ressemble a sa après le download ( imaginons c'est un fichiers texte que j'ai telecharger )

    #0 = Carracteres NULL

    #0#0#0#0#0#0#0##0#0#0#0#0#0#0#...
    Bonjours,
    voici un document texte télécharge a distance
    sous les machines réel c'est super mais pas sur les machine
    virtuel , du moins la mienne :/
    Merci de votre aide,
    a dernièrement , pour vider le buffer entre chaque réception j'utilise ZeroMemory,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ZeroMemory(@monbuffer,sizeof(monbuffer));
    Je pense pas que le problème soit de la ,

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Je t'avoue, je n'ai pas encore testé de la communication avec un WMWare, moi j'ai par exemple cassé le gestionnaire de partage, du coup, je passe par le réseau windows pour accéder à mon ordi

    Tu utilises quel composant ?
    Vérifies-tu la quantité de donnée à lire ?

    ZeroMemory, c'est bien surtout pour une utilisation avec les API Windows,
    Ce qui est important c'est de savoir si il y a bien de la donnée à lire
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  7. #7
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 168
    Points : 120
    Points
    120
    Par défaut
    Bonjours et merci pour votre réponse,
    J'utilise aucun composant pour la communication Client Server
    j'utilise l'unité Winsock.pas ( toujours dans un objectif de faire une application purement multithread )

    Je comprend toujours pas d'où ses caractères NULL viennent , surtout que ce soit uniquement sous VMWare , et encore pas sur tout les VMWare , c'est d'autant plus bizarre :ss

    c'est pour sa que si je pouvais Trim un Array of Char je suis sur que sa pourrai réglé le problème.

  8. #8
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    as-tu essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    textbuf :=Trim(MonBuf);
    sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    textbuf :=Trim(string(MonBuf));

  9. #9
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 168
    Points : 120
    Points
    120
    Par défaut
    Merci !!
    Mais la partie gauche n'est pas du meme type
    le Trim renvoi un string et non pas un array of char :s

  10. #10
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Citation Envoyé par 0x44-0x43-0x53-0x43 Voir le message
    j'utilise l'unité Winsock.pas ( toujours dans un objectif de faire une application purement multithread )
    Pour avoir utilisé TServerSocket sans fenêtre (il y a une WndProc pour gérer les messages) et TTCPServer en pur thread, tu n'as vraiment pas besoin des API windows pour le multi-thread sauf si c'est pour la figure de style

    je ne connais pas assez les API, as-tu une méthode, vérifie combien d'octet renvoie recv et vérifie si select renvoi un nombre positif indiquant qu'il y a de la donné à lire !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. fonction trim sur les array de array
    Par billyrose dans le forum Langage
    Réponses: 2
    Dernier message: 14/07/2009, 12h24
  2. Erreur "size array"
    Par boobob dans le forum C
    Réponses: 3
    Dernier message: 06/08/2003, 10h18
  3. TStringList en array of string
    Par JediKerian dans le forum Langage
    Réponses: 2
    Dernier message: 20/03/2003, 15h37
  4. Réponses: 2
    Dernier message: 23/02/2003, 00h49
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

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