Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

extraction chaine de caracteres

6 réponses
Avatar
lou
bonjour
besoin d'aide pour un bout de code
dans un form j "ai un champ multilignes qui s' appelle
" POIDS "
les données dans ce champ sont reçues via le port comm et sont formatées sur
deux colonnes de cette façon:
(les données de la colonne 2 sont variables)

GROSS 1.000Kg
TARE 0.500Kg
NET 0.500Kg
PCS 100
TICKET NR. 2
11:42 08-01-02

je voudrais récupérer la donnée qui se trouve sur la 2eme ligne colonne 2
c'est à dire 0.500Kg et la metre dans un autre champ qui s'appelle "
TARE2 "

merci de votre aide

6 réponses

Avatar
X
Bonjour,

Si je reprends ton exemple, la seconde données se positionne au minimum
à 36 espaces du début (sauf caractères spéciaux invisibles, faut préciser),
et a une longueur maximum de 7 signes, alors en extrayant chaque chaque
ligne:

dim champ2 as string
dim ligne as string
dim i as long
for i = 1 to nombre_lignes
champ2 = mid(ligne(X), 36, 7)
' principe: TARE2 = Champs2...
next i

Là je te réponds purement "code sur fichier une ligne de texte", je ne
sais pas si une table bénéficie d'autres commandes pour ce faire? Voir ce
qu'en diront les spécialistes...

--
ECRIRE
http://irolog.free.fr/ecrire/index.htm

LOGICIELS
http://irolog.free.fr

SITE
http://irolog.free.fr/joe/index.htm

FAQ VB
http://faq.vb.free.fr

PRINCIPE D'UTILISATION DES NEWSGROUPS MICROSOFT
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
********************************************************



"lou" a écrit dans le message de news:
432bb3a8$0$29278$
bonjour
besoin d'aide pour un bout de code
dans un form j "ai un champ multilignes qui s' appelle
" POIDS "
les données dans ce champ sont reçues via le port comm et sont formatées
sur
deux colonnes de cette façon:
(les données de la colonne 2 sont variables)

GROSS 1.000Kg
TARE 0.500Kg
NET 0.500Kg
PCS 100
TICKET NR. 2
11:42 08-01-02

je voudrais récupérer la donnée qui se trouve sur la 2eme ligne colonne 2
c'est à dire 0.500Kg et la metre dans un autre champ qui s'appelle "
TARE2 "

merci de votre aide




Avatar
Jean-Marc
"lou" a écrit dans le message de
news:432bb3a8$0$29278$
bonjour
besoin d'aide pour un bout de code
dans un form j "ai un champ multilignes qui s' appelle
" POIDS "
les données dans ce champ sont reçues via le port comm et sont formatées


sur
deux colonnes de cette façon:
(les données de la colonne 2 sont variables)

GROSS 1.000Kg
TARE 0.500Kg
NET 0.500Kg
PCS 100
TICKET NR. 2
11:42 08-01-02

je voudrais récupérer la donnée qui se trouve sur la 2eme ligne colonne 2
c'est à dire 0.500Kg et la metre dans un autre champ qui s'appelle "
TARE2 "



Hello,

je suppose que ton champ "Poids" multiligne est un
controle Textbox, et que le nouveau champ
"Tare2" est aussi un TextBox.

Dans ce cas, voici comment faire.

dim p as long
dim s as string

p=instr(Poids.Text,"TARE")
s=mid$(Poids.Text, p+4)
p=instr(s, vbcrlf)
s=mid$(s, 1, p-1)
s=trim$(s)

Tare2.Text = s


--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
Fred
Dans : news:432bc65a$0$23543$,
Jean-Marc disait :

Dans ce cas, voici comment faire.

dim p as long
dim s as string

p=instr(Poids.Text,"TARE")
s=mid$(Poids.Text, p+4)
p=instr(s, vbcrlf)
s=mid$(s, 1, p-1)
s=trim$(s)

Tare2.Text = s



Salut Jean-Marc,
J'ajoute une petite indication pour lou. En effet, il faut se méfier de
ce genre d'équipements qui ne renvoient pas tous le LF (on ne s'en rend
pas toujours compte car VB l'ajoute automatiquement si on fait un print
par exemple).
Donc je propose Chr$(13) à la place de vbcrlf si cela ne fonctionne pas
directement.
(Et si cela ne fonctionne pas non plus, alors Chr$(10), mais là je n'y
crois pas trop).
À part cela rien à dire bien entendu :-)

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Avatar
Jean-Marc
"Fred" a écrit dans le message de
news:
Dans : news:432bc65a$0$23543$,
Jean-Marc disait :
>
> Dans ce cas, voici comment faire.
>
> dim p as long
> dim s as string
>
> p=instr(Poids.Text,"TARE")
> s=mid$(Poids.Text, p+4)
> p=instr(s, vbcrlf)
> s=mid$(s, 1, p-1)
> s=trim$(s)
>
> Tare2.Text = s

Salut Jean-Marc,
J'ajoute une petite indication pour lou. En effet, il faut se méfier de
ce genre d'équipements qui ne renvoient pas tous le LF (on ne s'en rend
pas toujours compte car VB l'ajoute automatiquement si on fait un print
par exemple).
Donc je propose Chr$(13) à la place de vbcrlf si cela ne fonctionne pas
directement.
(Et si cela ne fonctionne pas non plus, alors Chr$(10), mais là je n'y
crois pas trop).



Hello,

oui c'est très juste, merci de le signaler :-)

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
Picalausa François
"Fred" a écrit dans le message de news:

Donc je propose Chr$(13) à la place de vbcrlf si cela ne fonctionne pas
directement.
(Et si cela ne fonctionne pas non plus, alors Chr$(10), mais là je n'y
crois pas trop).



Hello,

Tant qu'a utiliser des constantes:
Chr$(10) = vbLf
Chr$(13) = vbCr

--
Picalausa François
Avatar
lou
UN GRAND MERCI A TOUS

"Picalausa François" a écrit dans le message de news:
#
"Fred" a écrit dans le message de news:

> Donc je propose Chr$(13) à la place de vbcrlf si cela ne fonctionne pas
> directement.
> (Et si cela ne fonctionne pas non plus, alors Chr$(10), mais là je n'y
> crois pas trop).

Hello,

Tant qu'a utiliser des constantes:
Chr$(10) = vbLf
Chr$(13) = vbCr

--
Picalausa François