French Petite question sur la conversion d'un code VB6 en Basic4ppc

Discussion in 'French Forum' started by GallyHC, May 26, 2008.

  1. GallyHC

    GallyHC Member

    Bonjour,

    - Pouvez vous m'aidez sur la consersion d'un code que je n'arrive pas a adpter.

    ::: La partie Globale :
    Sub Globals
    dblPi = 3.14159265358979
    Dim tabCos(-360 To 360) As Single
    Dim tabSin(-360 To 360) As Single
    End Sub

    ::: La fonction de création :
    Sub setInitEngine()
    '
    For i=-360 To 360 Step 1
    tabCos(i) = Sin((i/180) * dblPi)
    tabSin(i) = Cos((i/180) * dblPi)
    Next i

    End Sub

    Visiblement tabCos(-360 To 360) cela ne fonctionne pas. Alors comment faire pour obtenir une plage de -360 à 360.


    - J'aurais une autre question sur les tableaux.

    je declare dans les variable globale ( Dim Type (x,y,z) tabPlots(0) ), je me demande comment dynamiquement augmenter la taille du tableau cela veu dire que tabPlots() augmente en fonction de mes besoins (en fonction du nombre de point dans un fichier).

    merci d'avance
    GallyHC
     
  2. EdQas

    EdQas Member Licensed User

    vb6 vers b4ppc

    Bonjour,
    Toute question est toujours la bienvenue comme les réponses d'ailleurs.
    Cependant, la partie française de ce forum est bien calme.
    Je vous conseille de rédiger votre question en anglais et de la poster dans le forum général. Réponse assurée !
    Par ailleurs, mes connaissances ne me permettent pas de vous aider :sign0013:
    Bon courage pour la progr.
    Ed
     
  3. colin9876

    colin9876 Active Member Licensed User

    vous ne pouvew pas avoir le numero negatif dans le dim

    aussi sin et cos repeter; par example sin (-45) est la meme que sin(-45+360) alors 0-360 est tout que on a bensoin de

    dim tabsin(360) as Single
    dim tabcos(360) as Single

    for i=0 to 359
    tabsin(i)=sin(dblPI*i/180)
    tabcos(i)=cos(dblPI*i/180)
    next

    etc

    puis si vous cherchez une angle moins de 0, add 360 etc
     
    Last edited: May 26, 2008
  4. GallyHC

    GallyHC Member

    ok merci pour l'information, j'espere avoir rapidement fait la convertion pour faire le test ;)
     
  5. colin9876

    colin9876 Active Member Licensed User

    ?

    Aussi je suis curious porquoi tu veux store dans un array le sin et cos en advance

    c est plus facilile de calculate as required n est pas?


    excuse mon francais je ne sais pas les mots STORE et AS REQUIRED, disez moi s il vous plait?
     
  6. GallyHC

    GallyHC Member

    Hello,

    no problem for your English and my english is bad ;-)

    this code is just a precalcule the cos and sin not to overload the processor and win some time machine.

    This is to test a small engine 3d
     
  7. klaus

    klaus Expert Licensed User

    Je vois que pour la 1ère question il y a déjà pas mal de réponses.
    Je m'étais aussi posé la question pourquoi un tableau de -360 à +360 ?
    J'ai effectué un petit test, l'appel à une valeur du tableau est environ 3 fois plus rapide que le calcul d'un sinus (compilé).

    Concernant la 2ème question, j'ai essayé de répéter l'instruction
    Dim Type (x,y,z) tabPlots(0)
    une deuxième fois dans une routine. Mais ça ne fonctionne pas.
    Une structure ne peut être déclarée qu'une fois dans Global.

    Je vous propose de poser la question sur le forum anglais. Erel, le concepteur du logiciel, pourra mieux vous indiquer ce qui est faisable ou non.

    Salutations.
     
  8. alea46

    alea46 Member Licensed User

    petite traduction pour un expert anglophone

    pour colin9876:

    Store = stocker= mémoriser dans ce cas précis.

    As required = comme demander = comme exigé,
     
  9. GallyHC

    GallyHC Member

    Bonsoir,

    klaus> je supposais que les tableaux été plus rapide vu que cela est juste le fait de reprendre une valeur stocker en mémoire et non faire un calcul ;-)

    Bonne continuation
     
  10. klaus

    klaus Expert Licensed User

    Bonsoir,
    C'est bien le cas !
    J'ai bien indiqué que l'appel à une valeur dans le tableau est 3 fois plus rapide que le calcul.
    Donc le calcul est plus lent !
     
  11. GallyHC

    GallyHC Member

    j'avais bien compris le post que vous aviez ecrit, je disais cela pour indiquez mon choix de base et que ce vous aviez dit confirmer ce choix.

    merci
     
  12. klaus

    klaus Expert Licensed User

    Désolé j'avais mal lu et mal interprété votre message.

    Je me souviens avoir utilisé le même principe il y a pas mal d'années quand les ordinateurs étaient nettement plus lents qu'aujoud'hui.

    Le seul désavantage est que dans votre cas la résolution n'est 'que' de 1 degré, mais ce n'est qu'une question de taille de la table.

    Salutations.
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice