Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Optimiser le code (Eviter une dixaine de Tonnes de Conditions IF) [ Algorithme / Compression & Cryptage ] (reacen)

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é 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 Problème avec une variable après l'avoir utilisée ! [ par therrm ] Bonjour je travail sur un petit scanner de mémoire et j'ai un petit problème avec une variable (la variable data) voici mon code :Dim data As String * VBA Graphe [ par piekehle ] Bonjour,   Je suis sous powerpoint 2000. N'importe quel maniere de faire mon graphe a partir des valeurs A,B,C,D m'interesse. Ce que j'ai essayer c'es vba code err : method or data member not found [ par bergamotte ] bergamotte Lorsque je compile mon code vba il me met le message d'erreur suivant : method or data member not found .Et il me selectionne la fonction le code d'un DATA [ par pi_givinchi ] j'ai petite programe de fin d'étude mais j'ai un débogage ds le bouton chercher et ajouter et mise a jour pour modifier, je veut le code je travail le recherche en datagrid [ par abdouinfomiage ] salut, j ai un pb au niveau de la recherche dans un data grid. je veux que l'utilisateur saisie un code dans un inputbox par exemple,et a partir de ce Problème de boucle If [ par Ledaf ] Bonjour je suis en train de fair la boucle suivante:If Selection = "" Then                ElseIf Selection "" Then        Selection.CopyEnd IfEt aprè Joindre une pièce jointe à un email avec Winsok [ par basamir ] Bonjour,je viens de recuperer un code de vbfrance qui permet d'envoyer des emails grace à winsok et qui marche avec quelques smtp uniquement, j'ai che If App.PrevInstance = True Then [ par kelm_by ] salut tous le monde,comment est ce que je peux lancer une form d'une application deja active If App.PrevInstance = True ThenEndapplication deja active if ? and ? then [ par argentin7 ] bonjour communauté VBfrancej'ai trouvé dans un certain code une condition if  que je n'ai pas compriseif    Murs and MURB thenavec Murs un integerMURB


Nos sponsors

Sondage...

CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.