Rechercher : dans
Par :

Fonction substring en vb

Dernière réponse le 15 jun 2007 à 06:06:49 providence, le 13 jun 2007 à 23:46:00 
 Signaler ce message aux modérateurs

Bonjourr,
j'aimerais savoir si la fonction 'SUBSTRING' est bien une fonction de visual basic si oui quel est son principe de fonctionnement.Merci pour votre aide

Configuration: Windows XP
Firefox 2.0.0.4

Meilleures réponses pour « fonction substring en vb » dans :
Faire fonctionner une application Windows sous Linux avec Wine VoirWine est un logiciel permettant de faire fonctionner certaines applications Windows sous Linux. Contrairement à VMWare ou VirtualBox, Wine n'émule pas un PC complet, mais seulement les API Win32 (appels système Windows). L'émulation n'est pas...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
VBScript - Les fonctions de date et de temps VoirLes fonctions de date et de temps Fonction Description Date Retourne la date du système DateAdd(interval, number, date) Ajoute un intervalle de temps (interval) à une...
VBScript - Les fonctions et les procédures VoirLa notion de procédure On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction (ou procédure)...

1

irem, le 14 jun 2007 à 05:18:20
  • +4

Substring est bien une fonction de vb mais uniquement en .net

L'utilisation en est simple

$toto ="123456789"
$toto.substring (2,4) donne "2345", du 2eme caractere 4 caracteres

Dans les anciennes versions, il fallait utiliser mid$ de la formr mid$(toto,2,4) -> "2345"

Irem

Répondre à irem

2

providence, le 14 jun 2007 à 12:00:16

Merci irem pour ta reponse.en fait j'ai un programme à ecrire en vb6 professionnel dans le cadre d'un projet d'ecole.l'enoncé est le suivant:
Dans l'enclypedie des jeux 2007, il a fallu utiliser 2007 fois "1" pour numeroter toutes les pages.
Ecrire un programme VB6 qui puisse nous permettre de determiner le nombre de pages de cette encyclopedie.
Nb: Quand on numerote par exemple de 1 à 20, on utilise 12 fois 1!

Sur le forum j'au eu une esquisse de solution ou intervient la fonction SUBSTRING mais je suis pas très sur kel fonctionne.Je voudrais avoir ton avis la dessus.ci dessous la solution:

Option explicit

dim i as integer
dim chaine as string
dim nb_page as integer

nb_page =0
i=0

While (i<>2007)

chaine=str(i) 'j'ai des doutes quant à la syntaxe de conversion d'un entier en chaine de caractères

'ici tu lis ta chaine de caractères en mettant un if du style

' On parcourt tant qu'il reste des "1" dans la chaine.
j=0
while(substring(j,chaine,"1")>0)
nb_page=nb_page+1
j=substring(j,chaine,"1")
wend
i=i+1 'indispensable pour ne pas avoir de boucle infini!

Wend

Répondre à providence

3

 irem, le 15 jun 2007 à 06:06:49

Salut providence,

ton algorithme est faux, en effet ta boucle compte en fait a priori le nombre de 1 dans 2007 pages et non le nombre de pages pour avoir 2007 "1", il faudrait plutôt écrire

Function test() As Integer
Dim int_I, Int_Pages As Integer
Dim str_Temp As String
int_I = 0
Int_Pages = 0
While int_I < 2007
Int_Pages = Int_Pages + 1
str_Temp = Int_Pages
While InStr(1, str_Temp, "1") > 0
int_I = int_I + 1
str_Temp = Right(str_Temp, Len(str_Temp) - InStr(1, str_Temp, "1"))
Wend
Wend
test = Int_Pages
End Function

et tu obtiens 3169 pages

Irem

Répondre à irem
Collection CommentÇaMarche.net