begin process at 2012 02 17 02:42:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Algorithme

 > 

Compression & Cryptage

 > 

Optimiser le code (Eviter une dixaine de Tonnes de Conditions IF)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Optimiser le code (Eviter une dixaine de Tonnes de Conditions IF)

lundi 25 août 2008 à 12:10:31 | Optimiser le code (Eviter une dixaine de Tonnes de Conditions IF)

reacen

Bonjour.

Je cherche un petit code optimisé,
si on me repond pas, je risque de fair:

if Num = 0 then DATA = "11"
if Num = 1 then DATA = "12"
if Num = 2 then DATA = "13"
if Num = 3 then DATA = "14"
if Num = 4 then DATA = "21"
if Num = 5 then DATA = "22"
if Num = 6 then DATA = "23"
if Num = 7 then DATA = "24"
if Num = 8 then DATA = "31"
(Etc .. sa finiras jamais ..)

J'ai un sorte de :

Const HASH = "1234"

Je cherche une [Public Function Lire(Num)]:


Msgbox lire(0)
'Donne : 11

Msgbox lire(5)
'Donne : 22

ect ..

J'arrive pas a la metre Mathematiquement, enfin .. x')

Si quelqun peu aider svplé ?

 



(Si on a pas bien compris, alors lisez ca: sinon laissez tomber ce qui est bas):

C'est un peu comme le binaire, si je met:

Const HASH = "01"

if Num= 0 then DATA = "00"
if Num = 1 then DATA = "01"
if Num = 2 then DATA = "10"
if Num = 3 then DATA = "11"

.. mais, dans mon code, le HASH c'est pas "01" ou "1234" mais c'est un treees long String (du Base64 pour etre plus precit :)



Technologie Reacen²

lundi 25 août 2008 à 12:41:01 | Re : Optimiser le code (Eviter une dixaine de Tonnes de Conditions IF)

boutemine

C simple, tu dois créer une base de données et tout est réglé

webadmin www.vb4arab.com
lundi 25 août 2008 à 13:05:48 | Re : Optimiser le code (Eviter une dixaine de Tonnes de Conditions IF)

jrivet

Membre Club
Salut,

Une base de données pour ca???? un peu lourd non?

Essaie peu etre:

Public Function Lire(Num As Long) As String
   Lire = CStr((Num \ 4) + 1) & CStr((Num Mod 4) + 1)
End Function
By Renfield


@+: Ju£i€n
Pensez: Réponse acceptée
lundi 25 août 2008 à 13:13:39 | Re : Optimiser le code (Eviter une dixaine de Tonnes de Conditions IF)

jmfmarques

Membre Club
Bonjour,

Un select case ferait mieux l'affaire

Mais j'utiliserais personnelement un Array, du genre (à main levée) :
Toto = Array(11,12,13,14,21,22,23,24,31)
DATA = toto(num)
où num seraitr la valeur en cause ...
lundi 25 août 2008 à 14:35:16 | Re : Optimiser le code (Eviter une dixaine de Tonnes de Conditions IF)

reacen

Heu ... Merci pour tout ca, mais je sais fair des arrays au pire des cas je soré fair le mid(..) mais, je crois que je me suis mal exprimé ..

Remarquez :

const HASH = "abcdefghijklmnopqrstuvwxyz"

sa doit donner:

aa
ab
ac
ad
ae
af
ag
ah
ai
aj
ak
(apres 10ans ...)
ax
ay
az
ba
bb
bc
(apres 10ans encor)
by
bz
ca
cb
cc

ect ..

et je parle pas juste de l'alphabet, c'est en fonction du HASH, donc sa peut etre les abcd .. les numeros et les truc genre : _-*+ ...




Technologie Reacen²
lundi 25 août 2008 à 16:11:16 | Re : Optimiser le code (Eviter une dixaine de Tonnes de Conditions IF)

reacen

j'esper qu'on me comprend (aller PCPT, c'est le moment .. =/ ) ..

Si HASH= "abcdefghijklmnopqrstuvwxyz"

alors Normalement, la fonction Lire que je cherche doit etre un peu commsa

msgbox lire(0)
' Donne "a"

autres Exemples:

Lire(0) Doit donner "a"
Lire(1) Doit donner "b"
Lire(2) Doit donner "c"
Lire(3) Doit donner "d"
Lire(4) Doit donner "e"
Lire(5) Doit donner "f"
Lire(6) Doit donner "g"

(Quand sa arrive o "z", et puis sa demande un autre + donc, 2caractere)


Lire(Un numero plus haut que Z) Doit donner "aa"
Lire(Un numero plus haut que Z+1) Doit donner "aa"
Lire(Un numero plus haut que Z+2) Doit donner "ab"
Lire(Un numero plus haut que Z+3) Doit donner "ac"
Lire(Un numero plus haut que Z+4) Doit donner "ad"

Apres avoir fini le "z" encor

Doit donner "ba"
Doit donner "bb"
Doit donner "bc"

(apres 50ans)

Doit donner "aaa"
Doit donner "aab"
Doit donner "aac"


Ect, vous comprenez hein ? Rassurez moi, car a mon nivo, je crois que sa etre troop non optimisé mon code ..

Merci de m'aider, ps: EN Fonction du hash, donc c'est pas juste du abcd... je change le hash celon divers entrées, entré par l'itulisateur ..
Merci d'avance.


Technologie Reacen²

lundi 25 août 2008 à 19:38:34 | Re : Optimiser le code (Eviter une dixaine de Tonnes de Conditions IF)

LIBRE_MAX

et dans cent cinquante ans ...

Beh si selon, t' es obligé de tout évaluer.
Je sais bien que je t' apprend rien; vu qu' il semble que tu es au courant de tout.

     

[*] Ce qui va sans dire. va mieux en le disant.

lundi 25 août 2008 à 20:04:25 | Re : Optimiser le code (Eviter une dixaine de Tonnes de Conditions IF)

reacen

dans cent cinquante ans je seré encor en train de chercher l'optimisation si en m'aide pas mannant (sof si j'ai finalement decider de fair une centaines de If Num = x Then..)

Ollé, merci de m'aider, chui sur qu'il y a une solution, sinon y a surement une source sur le site qui traite ce sujet, sof que .. je met quoi comme mots clé ?

(source, vb6, moi, vouloir, fonction, tres, simple, qui, me, feras, eviter, beaucoup, de, conditions, allez, moteur, de, recherche, vb6, courage, et, trouve, la, moi)

Fin, je sais pas quoi fair, si on me donne un indice ?
Ca s'apelle quoi ce que je cherche ? :')

(sa si personne n'arrive a me donner un petit code)

Technologie Reacen²

lundi 25 août 2008 à 21:58:33 | Re : Optimiser le code (Eviter une dixaine de Tonnes de Conditions IF)

reacen

Réponse acceptée !

C'est bon, plus la peine, j'ai presque trouver ..

const HASH = "abcdefghijklmnopqrstuvwxyzABCDEFGH....."

Dim M, NUM As Long


For x = 1 To Len(HASH)
M = Mid(HASH, x, 1)
For i = 1 To Len(HASH)

Text1.Text = Text1.Text & "If Num = " & NUM - 1 & " Then Data = " & M & Mid(HASH, i, 1) & vbCrLf
NUM = NUM + 1

Next i
Next x
Beep



Sa donne dans le Texte1 Ce que je doit metre dans la fonction Lire xD
C'est la plus grande fonction que Vb a pu connaitre dans sa vie ..

(+ de 2691 Lignes jsute dans la fonction  mais ca va ...)

C'est mieu que de croiser les bras et attendre (cent cinquante ans ) ..

Merci en tous cas ..

(J'ai trouver la solution moi mem, donc Problem Resolu par moi , des points CS de plus ? Hmmm ...)

Technologie Reacen²



Cette discussion est classée dans : code, data, num, if, then


Répondre à ce message

Sujets en rapport avec ce message

Textbox sur VB6 [ par mazert ] Bonjour, Je voudrai modifier/améliorer le code ci dessous (qui permet de changer de texxte à chaque fois que je clique sur un boutn).Static a As Integ Winsock Error [ par sniceper ] Bonjour, je suis actuellement en train de coder un mini jeux client serveur en VB6 à 1 serveur et 1 à 4 clients. Desireux de gérer les coupures de con Raccourcir un code [ par cruise1406 ] Est-ce que quelqu'un saurait comment rendre plus lisible et surtout plus court mon morceaux de code car je dois répété ceci pour chaque chk :Private S Recherche dans la base en boucle [ par Sinsitrus ] Salut ! J'essais en fait de rechercher dans ma table si un champ est égale à un autre et le signaler. J'ai utilisé ce bout de code : [code=vb]With appel d'une fonction [ par Mathioustone ] Bonjour à tous, j'ai un appel de fonction qui est le suivant: [code=vb]If Secteur = 1 Then chiffre = calcul(cumac) ElseIf Empêcher le formulaire d'interpréter flèches [ par ifelix ] Bonjour ! Je débute en VB... J'ai fait un petit code tout simple qui réagissait très bien en fonction des flèches du clavier. Mais voilà depuis que j Comment dit-on "ou" en VB.net [ par rare49 ] Bonjour, Je pense que tout est dans le titre mais je donne plus d'indications. Je veux écrire : [code=vb]If Label1.Text = "a" Then Labe effacer un textbox [ par ocejade ] bonjour a tous je vient vers vous car je me pose la question suivante comment coder pour que le contenue de mon textbox s efface une fois que mon f pb variable comparaison nom prénom [ par Mathioustone ] Bonjour à tous, J'ai un soucis de type, d'argument ou d'objet lorsque je souhaite utiliser cette fonction. J'ai deux colonnes H et I qui définissent r Pouvez vous m'aider à corriger mon erreur svp [ par BitterSweetLife ] j'ai fais un erreur mais j'arrive pas à la corriger Sub jeu() Dim x As Integer Dim y As String Dim s As Integer x = Int(Rnd() * 0) + 2 s = InputBox


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales