120

Ah non g plus simple, attends
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

121

Voilà, dans un de mes programmes j'ai ça, et ça marche :

Loop
0»l_key
p_disply(l_liste)
While l_key=0
getKey()»l_key
EndWhile
If l_key=267:Goto message // 267 est le code de la touche ON
l_key»l_liste[dim(l_liste)+1]
EndLoop


Et voilà le sous-programme p_disply(l_liste) :

Define p_disply(l_liste)=Prgm
ClrIO
Disp "Entrez la combinaison de","deverouillage...","ON » Valider","",string(l_liste)&" ("&string(dim(l_liste))&")"
vertel("set_brek")
EndPrgm


Et quand on appuie sur ON ça ne break pas.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

122

dans ce cas ca m' in terresse mais g un doute....doom
ce serait pas en asm par hasard?

123

c en quelle langue?roll

124

(je suis tjrs un newbies)
fallait bien que je le demande un jour!

125

ah je commence a comprendre les caractères...

126

c koi p_disply et define p_disply liste

127

LOL non c pas de l'asm rotfl
On dit que mes codes sont illisibles mais là quand même roll

Désolé, j'avais pas expliqué...

Define p_display()=prgm
...
endprgm

sert à définir un sous programme. Ensuite, à chaque fois que je tape p_display() dans mon programme ça execute tout ce qu'il contient. C'est utile si t'as besoin de réécrire pas mal de fois les mêmes instructions, tu crée un sous programme comme ça.

Alors la le sous-programme c'est p_display(l_liste), parcequ'en plus le programme prends un argument (l_liste) et il travaillera avec. En fait ce programme sert à afficher la l_liste en question sur l'écran, puis réactiver le breakoff puisque j'ai utilisé string() ce qui l'a désactivé.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

128

ah ok très bien merci j aurais du deviner/
j ai dit asm avant d' avoir vuembarrassedn a envoyer en meme temps
(ouais parcque quand meme, chui un newbies, m' enfin j' arrive a différencier un basic et un asm!)
et l' argument c quoi ca marche comment confus?
(ouais parcque bien que cf ligne 3, je suis bien un newbies, quoi que j' en dise....)
grin

129

y a eu un embarrassed involontaire dans le message!

130

De toute façon s' est pas grave un jour je me referais un login!
grin

131

Bah les arguments c simple :

prog(a,b)
disp a
disp b
endprgm


Après si tu lance prog(20,89) ça va afficher 20 puis 89.
Tu peux évidement faire des trucs un peu plus poussés...

Je v te donner un exemple de programme que j'ai fait ce matin, tu lui entre en argument n°1 une très longue chaine de caractères, et en argument n°2 un nombre X. Il découpe ta chaine en plusieurs parties d'un maximum de X caractères.

decoupe(s_lgn,s_cpt)
Func
Local l_tmp,s_lgn,l_dim,l_txt,l_cur,l_cnt,l_mid
dim(s_lgn)»l_dim
{}»l_txt
1»l_cur
While l_curœl_dim
s_cpt»l_cnt
mid(s_lgn,l_cur,l_cnt)»l_mid
inString(l_mid,"¨")»l_tmp
If l_tmp>0 Then
l_tmp-1»l_cnt
Else
mid(s_lgn,l_cur+l_cnt,1)»l_tmp
While l_tmp?" " and l_tmp?""
l_cnt-1»l_cnt
If l_cnt>0 Then
mid(s_lgn,l_cur+l_cnt,1)»l_tmp
Else
""»l_tmp
EndIf
EndWhile
EndIf
mid(s_lgn,l_cur,l_cnt)»l_txt[dim(l_txt)+1]
l_cur+l_cnt+1»l_cur
EndWhile
Return l_txt
EndFunc


Voilà... Et si tu lance decoupe("cette chaine va être découpée",8), il va te ressortir :
{"cette","chaine","va être","découpée"}

Et voilà wink
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

132

Putaineek, y a pas que t'es nom de variables, qui sont pas optimisertonguerotflgrinrotfl
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

133

Mes noms de variables ils sont très bien tongue

Sinon tu ve optimiser quoi ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

134

Ben... réduire t'as 20-aines de ligne en une douzainesmile
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

135

Je t'en prie, ne te gene surtout pas si tu as plus rapide (et qui fasse la même chose bien entendu wink)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

136

Si tu tiens absolument à ce que je te file le code, il faudrat que t'attendes un peu, je l'ai perdu, et je doit donc le reprogrammerwink
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

137

Mouais... enfin la t'étais chaud pour optimiser le mien, ça veut dire que t'as vu qq chose de non-optimisé dedant (enfin je pense...). Ct koi ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

138

J'ai même pas cherché à regarder ton code. Je sais juste que j'avais déjas fait un code de ce type (à la différence que le nbr de caractère était fixe), et qu'il était beaucoup plus petit. Bon, je te le filerais vendredi (je peut pas avantsad), pour que tu vois.
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

139

Mouais...
Heu dans mon mien, le nbr de caractères n'est pas fixe, on a la possibilité de mettre le caractère © qui provoque le saut de ligne immédiatement, et surtout il coupe pas les mots au milieu !
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

140

Y avait pas de saut de ligne (mais c'est qu'un petit détail, il suffit de rajouter un or a la boucle If), et il coupait pas les mots au milieu non plus. Et il supprimait l'espace en début de ligne
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

141

Moi aussi il vire l'espace en début de ligne...

Et puis non, il ne suffit pas de rajouter un or :
il faut detecter les © dans le bout de ligne capturé (instring), puis couper ce bout de string et faire en sorte que le bout restant soit compté pour la prochaine ligne.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

142

Comme pour le dernier espace en bout de ligneroll+
Donc, un or suffitwink
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

143

Voilà l'algo sans la detection de © :

decoupe(s_lgn,s_cpt)
Func
Local l_tmp,s_lgn,l_dim,l_txt,l_cur,l_cnt,l_mid
dim(s_lgn)»l_dim
{}»l_txt
1»l_cur
While l_curœl_dim
s_cpt»l_cnt
mid(s_lgn,l_cur+l_cnt,1)»l_tmp
While l_tmp?" " and l_tmp?""
l_cnt-1»l_cnt
If l_cnt>0 Then
mid(s_lgn,l_cur+l_cnt,1)»l_tmp
Else
""»l_tmp
EndIf
EndWhile
mid(s_lgn,l_cur,l_cnt)»l_txt[dim(l_txt)+1]
l_cur+l_cnt+1»l_cur
EndWhile
Return l_txt
EndFunc
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

144

Je me souviens pas d'avoir utiliser deux Whilehum
C'est con que j'ai perdu ce foutus prog (c'est un prog de chat que j'avais fait, l'été dernier, le seul que j'avais complètement terminer à 100%, optimiser à bloc, fichier d'aide inclus, version 92 ET 89...).

De mémoire, le code faisait 7 ou 8 ligne, mais je pense plutôt qu'il y en avait plus (une douzaine).
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

145

Je vais essayer de te trouver le code ce soir, en définitif wink
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

146

Heu t'as raison la pkoi j'ai mit 2 while ???
Attends je comprends même plus mon prog, j'ai fait ça ce matin en physique...

v voir...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

147

Ah si c bon...
Un while pour voir si on est arrivé au bout de la grande chaine, et un autre pour ne pas trancher les mots.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

148

Quand je te disais 8 lignes (10 avec les remise à zero des variables), ma mémoire me trompait pasgrin
Sans If, sans inString, 1 While, 1 For, mais sans retour à la ligne :
:chaine(str,nbr)
:Prgm
:0->p
:{}->lst
While dim(str)>nbr
For t,1,nbr
When(mid(str,t,1)=" ",t,p)->p
EndFor
left(str,p-1)->lst[dim(lst)+1]
right(str,dim(str)-p)->str
EndWhile
str->lst[dim(str)+1]
EndPrgm
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

149

Ouais... T gentil...
Mais je viens de les tester pour 2 chaines identiques, résulat :

- La tienne : 2sec 48'', et elle s'est planté elle a coupé trop tot.
- La mienne : 1sec 96'', et c'est un sans faute grin

Et encore, la chaine était plutot courte. Donc la même est 126,5% plus rapide tonguetonguetongue
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

150

Ah oui j'oubliais...
J'avais laissé l'option de mettre un '©' dans les chaines, ça fait qq tests de plus grin

Ta fonction à a revoir mon chez MacIntoc bang

D'un autre coté ça m'aurais fait chier que tu me sorte une fonction plus petite et plus rapide que la mienne roll

Edit : merde c #bang# pas #pang# le smiley...
[edit]Edité par Bob 64 le 13-03-2002 à 20:46:42[/edit]
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)