LeKamé
-
6 août 2001 à 17:10
khalidlyon
Messages postés28Date d'inscriptionmardi 17 juin 2003StatutMembreDernière intervention14 août 2007
-
4 juil. 2003 à 16:07
salut !!
j'ai un big mega probleme !!
le voici :
je suis en train de créer un jeu, et je suis bloqué à un truc:
Nn fichier texte (.txt), nommé, "config.txt".
Voici exactement ce que contient le fichier texte:
theme="foret"
#
Vous devez retrouver les potions magique:
-dans un arbre
#
vous devez battre le boss
-dans la clairiere
#
Vous devez vendre vos potion magiques
-aux nains
#
SVP !!! dites moi comment faire pour que ca affiche au hasard dans un textBox, le texte qui se trouve entre deux caracteres comme celui ci: #
Je sais que pour le hasard ca sera la fonction Randomize. Ca c'est clair !!
Mais je ne sais pas comment faire pour que ca sélectionne le texte qui se trouve entre deux #
SVP !! aidez moi !!!!!!!!!
je vous en pris !!!!!!
Ne me demandez pas pourquoi je veux faire cela !! ca serais trop long a expliquer !!!
Mais j'aimerais savoir comment faire cette manip !!
Si vous savez faire dites le moi !!
je suis désespéré !!
ex (en admettant que tu mettes ton texte dans un Text1):
'Voilà la position du premier caractère "#" dans ta chaîne
Dim Found As Variant
Found = InStr(Text1.Text, "#")
If Found <> 0 Then
'Si le caractère a été trouvé dans Text1.Text...
...
End If
'Ca, c'est pour découper ta chaîne
'Tu la prends de la position du "#"+1, ensuite c'est la
'longueur de ce que tu veux récupérer, le fait de mettre
'len(Text1.Text) t'assure d'avoir le reste de ta chaîne.
Mid(Text1.Text, Found + 1, len(Text1.Text))
'Tu pourras ainsi tester le reste de ta chaîne.
Au fait, certains peuvent trouver ça un peu barbare comme programmation mais ça marche ( c déjà ça ), enfin, faut voir comment réagit la fonction quand elle rencontre les retours à la ligne mais je ne pense pas que ça gène.
Voilà !
cs_JCDjcd
Messages postés1138Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention25 janvier 20094 4 juil. 2003 à 12:59
Cela merite quelque explication non ?
Quel est ce nombre magique 0x6D6964 ?
64 : 'd'
69 : 'i'
6D : 'm'
je crois ? (enfin ca correspond au niveau des offset !)
mais il n'y a pas de probleme si je fais "dimHIHI"
ne va-t-il pas dire que oui cette chaine est bien "dim" ?
car dans le fichier, il y a une \n a la fin !
je sais pas moi, c'est juste une question !
moi je propose une chose plus lisible :
(('d') | ('i' << 8) | ('m' << 16))
comme ca (personnellement) c'est plus lisible,
question rapidite, le compilateur peut optimiser
tout cela car iln'y a que des contantes en 0x6D6964.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 4 juil. 2003 à 13:07
non aucun risque d'erreur car la comparaison est de 4 octets en remplacement de strcmp:
((DWORD*) ligne) == donc 0 final est bien teste a la suite de 'dim'.
BruNews, ciao...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 4 juil. 2003 à 13:34
je n'en connais aucune qui le fait, pour cela le & 0xFFFFFF.
Moi j'avais isole sur un exemple a part, si ce sont des lignes ira encore + vite:
if(((DWORD*) ligne) == 0xD6D6964) est bien "dim\n".
BruNews, ciao...
khalidlyon
Messages postés28Date d'inscriptionmardi 17 juin 2003StatutMembreDernière intervention14 août 2007 4 juil. 2003 à 16:07
ensemble pour la scienceEnsemble pour la science
Re bonjour, Alors dites moi SVP ce que je dois mettre de plus a ce code, pour que je commence a lire apres "dim", car j'ai pas bien compris votre réponse: