Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/04/2007, 16h17   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 37
Points : 10
Points : 10
Par défaut chaine de caractères : enlever dernier caractère

Bonjour,

j'ai donc un problème en asp:
j'ai une suite de boucle if, qui me renvoie (ou pas) un chiffre...
Moi je veux récupérer l'ensemble de mes chiffres sous la forme suivante:

chiffre1;chiffre2;chiffre3;chiffre4

Chaque chiffre est donc séparé du suivant par un ";"

j'ai donc fait ceci:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
chaine_ms = ""
	i = "0"
 
	'case28
	if request.form("case28") <> "" then
		chaine_ms = (chaine_ms) &("1619") &";"
		i = i + 1
	end if
 
	'case29
	if request.form("case29") <> "" then
		chaine_ms = (chaine_ms) &("1620") &";"
		i = i + 1
	end if
 
	'case30
	if request.form("case30") <> "" then
		chaine_ms = (chaine_ms) &("1623") &";"
		i = i + 1
	end if
 
	'case31
	if request.form("case31") <> "" then
		chaine_ms = (chaine_ms) &("1624") &";"
		i = i + 1
	end if
 
	'case32
	if request.form("case32") <> "" then
		chaine_ms = (chaine_ms) &("1622") &";"
		i = i + 1
	end if
 
	'case33
	if request.form("case33") <> "" then
		chaine_ms = (chaine_ms) &("1625") &";"
		i = i + 1
	end if
Lorsque tout mes boucles if sont parcourues j'obtient donc:
Citation:
61619;1620;1623;1624;1622;1625;
Mon problème est donc qu'il y a un ";" en trop: celui après le dernier chiffre...
J'ai donc donc mis une variable "i" qui me permet de savoir combien de boucles if sont parcourues, donc combien de ";" sont présents dans ma chaines finale et donc quelle est la position du dernier que je souhaite virer...

Mais je ne sais pas comment faire pour l'enlever....


Merci d'avance.
jadorelescss38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 16h37   #2
Membre du Club
 
Avatar de vever88
 
Étudiant
Inscription : avril 2007
Messages : 114
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 114
Points : 46
Points : 46
Salut,

Si ton code termine réellement comme cela :
Code :
1
2
3
4
5
'case33
	if request.form("case33") <> "" then
		chaine_ms = (chaine_ms) &("1625") &";"
		i = i + 1
	end if
Il suffit d'enlever ton point virgule et rien d'autre, non
vever88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 16h48   #3
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 37
Points : 10
Points : 10
Non...

Car mon programme ne rentre pas forcément dans toutes les boucles if...
Je ne sais donc pas dans combien de boucles il va rentrer et quelle sera la dernière....
jadorelescss38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 16h58   #4
Inactif
 
Inscription : mars 2002
Messages : 1 295
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : mars 2002
Messages : 1 295
Points : 1 345
Points : 1 345
Si tu as systématiquement un ; de trop, utilie len() et left() pour tronquer ce caractère parasite :

Code :
chaine_ms = left(chaine_ms,len(chaine_ms)-1)
Florian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 17h02   #5
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 37
Points : 10
Points : 10
C'est parfait !!
Merci beaucoup pour ton aide
jadorelescss38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h32.


 
 
 
 
Partenaires

Hébergement Web