Effacé une partie d'un string

Signaler
Messages postés
29
Date d'inscription
jeudi 6 janvier 2011
Statut
Membre
Dernière intervention
4 août 2019
-
Messages postés
15648
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 mars 2021
-
Bonjour,

j'ai un fichier texte comme suit :

name:address ip1 serv
debut

long
VRRP2-1
VRRP2-2
.
.
VRRP-100
FIN


name:address ip2 serv
debut

long
VRRP-1
VRRP-2
.
.
VRRP-65
FIN

je cherche a extraire seulement les nombre puis je le met dans un memo :

j'utilise ce code est il marche bien pour la première partie uniquement :
           N := Pos('VRRP2-', s);
             if N<> 0 then
              begin
              Delete(S, 1, 6); 

           N := Pos('VRRP-', s);
             if N<> 0 then
              begin
              Delete(S, 1, 5); 

memo1 affiche :
1
2
jusqu'à 100

mais je cherche à avoir ceci :

1
2
.
.
100
1
2
.
.
65.

merci pour votre aide est suggestion .

EDIT: Ajout de la coloration syntaxique.

--

4 réponses

Messages postés
15648
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 mars 2021
516
Bonjour regarde du coté des Regex
Messages postés
675
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
13
Salut
Ton code est bizarre
vois avec cela

if Pos('VRRP2-', s)<> 0
then Delete(S, 1, 6)
else if Pos('VRRP-', s)<> 0
then Delete(S, 1, 5)
else continue;
Messages postés
29
Date d'inscription
jeudi 6 janvier 2011
Statut
Membre
Dernière intervention
4 août 2019

salut:

mille merci , ça marche bien .

juste une dernière question :

les nombres reçu du fichier texte après traitement , je vais les mettre dans un listbox1 et je veux à chaque 22 je ferai division et

j'affiche le résultat dans listbox2:

procedure TForm1.Button1Click(Sender: TObject);               

var

i,Nr: integer;

begin

ListBox2.Clear;

Nr:=0;
for i := 0 to 22 do ListBox1.Items[ListBox1.ItemIndex];
Nr := StrToIntDef(ListBox1.Items[ListBox1.ItemIndex], 0);
Nr := Trunc(Nr/22);
ListBox2.Items.Add(IntToStr(Nr));
end;


mon code me donne un seul nombre dans listbox2:

par exemple:

du 1 au 22 j'ai 0
du 22 au44 j'ai1
jusqu'à cent j'aurai 4.

je cherche quand je click sur button1 :

il m'affiche le tout à la fois :
0
1
2
3
4


merci dubois77 pour votre aide et suggestion .







--
Messages postés
675
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
13
Je ne comprends pas bien ce que tu veux faire
en plus le bout de code que tu donne n'est pas correct :
[ for i := 0 to 22 do ListBox1.Items[ListBox1.ItemIndex]; ]
cela ne veux rien dire

Donne plutôt toute la procédure du clic bouton
Messages postés
29
Date d'inscription
jeudi 6 janvier 2011
Statut
Membre
Dernière intervention
4 août 2019

Bonjour dubois77:

Merci beaucoup pour vos remarques, je vais clôturer cette discussion puisque la première question a été résolus et ouvrir une autre qui sera synchroniser deux listbox.

1000 merci


--
Messages postés
15648
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 mars 2021
516
je vais clôturer cette discussion
merci de cliquer sur le lien "Marquer comme résolu" sous le titre de la discussion