Accueil > Forum > > > > Optimiser le code (Eviter une dixaine de Tonnes de Conditions IF)
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
|
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
|
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
Livres en rapport
|
Derniers Blogs
ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|