Convertir un programme du C vers VB

faid007 Messages postés 17 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 5 janvier 2008 - 18 juil. 2007 à 02:56
faid007 Messages postés 17 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 5 janvier 2008 - 19 juil. 2007 à 01:33
Bonjour; j'ai un programme ecrit en C et je l'ai convertie en VB mais il ne donne pas les memes resultats, j'espere que qlq peux m'aider a trouver ou j'ai comis l'erreur.
Merci en avence.

Code en C:#include<stdio.h><?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

#include<conio.h>

#include<math.h>

 

main()

      {

     

      // FINITE ELEMENT PROGRAM FOR TRANSIENT FLOW USING              //RECTANGULAR ELEMENTS

      // RESERVOIR EXAMPLE

      float NS[25],NX[25],NY[25];

      float HOLD[25],HNEW[25],G[25][25],P[25][25],B[25],X[25],Y[25];

      float S =0.002,T= 0.02;

      float XSI[4]={-0.57735,0.57735,0.57735,-0.57735};

      float ETA[4]={-0.57735,-0.57735,0.57735,0.57735};
      // BLOCK 1.  GENERATE NODAL COORDINATES & INITIAL &
   //BOUNDARY CONDITIONS.

       int NNODE=22;

       int NELEM=10;

       int L,JJ;

       for(L=1;L<=NNODE;L=L+2)

        {

          X[L]=(L-1)*5;

          X[L+1]=X[L];

          Y[L]=10;

          Y[L+1]=0;

        }

       

        for(L=1;L<=NNODE;L++)

        {

          HOLD[L]=16;

          HNEW[L]=16;

        

            for(JJ=1;JJ<=NNODE;JJ++)

            {

              G[L][JJ]=0;

              P[L][JJ]=0;

            }

        }

        for(L=21;L<=22;L++)

        {

         HOLD[L]=11;

         HNEW[L]=11;

        }

       

        // BLOCK 2. CONSTRUCT CONDUCTANCE AND STORAGE MATRICES.

       int K,J,I,N,M,KK,IQ;

        int NODE[25];

        float AA,BB;

        for(K =1;K<= NELEM;K++)

        {

         // GENERATE NODE NUMBERS OF ELEMENTS K.

         I =2*K;

         J= I+2;

         M=I+1;

         N=I-1;

         NODE[1]=I;

         NODE[2]=J;

         NODE[3]=M;

         NODE[4]=N;

         AA=fabs(X[J]-X[I])/2;

         BB=fabs(Y[N]-Y[I])/2;

 

         for(KK=1;KK<=4;KK++)

         { L=NODE[KK];  

             // GAUSSIAN QUADRATURE.

             for(IQ=0;IQ<4;IQ++)

             {

             // NS ARE INTERPOLATION FUNCTIONS. NX AND NY ARE SPATIAL DERIVATIVES

             NS[1]=0.25*(1-XSI[IQ])*(1-ETA[IQ]);

             NS[2]=0.25*(1+XSI[IQ])*(1-ETA[IQ]);

             NS[3]=0.25*(1+XSI[IQ])*(1+ETA[IQ]);

             NS[4]=0.25*(1-XSI[IQ])*(1+ETA[IQ]);

             NX[1]=-0.25*(1-ETA[IQ])/AA;

             NX[2]=0.25*(1-ETA[IQ])/AA;

             NX[3]=0.25*(1+ETA[IQ])/AA;

             NX[4]=-0.25*(1+ETA[IQ])/AA;

             NY[1]=-0.25*(1-XSI[IQ])/BB;

             NY[2]=-0.25*(1+XSI[IQ])/BB;

             NY[3]=0.25*(1+XSI[IQ])/BB;

             NY[4]=0.25*(1-XSI[IQ])/BB;

             G[L][I]=G[L][I]+(NX[1]*NX[KK]+NY[1]*NY[KK])*AA*BB;

             G[L][J]=G[L][J]+(NX[2]*NX[KK]+NY[2]*NY[KK])*AA*BB;

             G[L][M]=G[L][M]+(NX[3]*NX[KK]+NY[3]*NY[KK])*AA*BB;

             G[L][N]=G[L][N]+(NX[4]*NX[KK]+NY[4]*NY[KK])*AA*BB;

             P[L][I]=P[L][I]+NS[1]*NS[KK]*AA*BB*S/T;

             P[L][J]=P[L][J]+NS[2]*NS[KK]*AA*BB*S/T;

             P[L][M]=P[L][M]+NS[3]*NS[KK]*AA*BB*S/T;

             P[L][N]=P[L][N]+NS[1]*NS[KK]*AA*BB*S/T;

            

             }

             

         }

        

        }

      

      

         

      // BLOCK 3. STEP THROUGTH TIME .

           int NSTEP,DT,KOUNT,KPRINT,TIME;

           DT =5;

           KOUNT= 1;

           KPRINT=2;

           TIME=DT;

           for(NSTEP=1;NSTEP<100;NSTEP++)

           {

           // CONSTRUCT B-MATRIX FOR EACH TIME STEP.

            for(L =1;L<= NNODE;L++)

                {

                 B[L]=0;

                      for(JJ=1;JJ<=NNODE;JJ++){

                      B[L]=B[L]+P[L][JJ]*HOLD[JJ]/DT;

                      }

             

                }

             

           // SOLVE SYSTEM OF EQUATIONS BY ITERATION.

           float AMAX;

           float OLDVAL,SUM,ERR;

           AMAX =0;

               

                  for(L= 1;L<=NNODE;L++)

                  {

                   // EXCLUSE FIXED BOUNDARY HEADS FROM ITERATION;

                    if ((L == 1)||(L==2)||(L==21)||(L==22)) continue;

                    OLDVAL=HNEW[L];

                    SUM=0;

                         for(JJ=1;JJ<=NNODE;JJ++)

                          {

                             if(JJ==L) continue;

                             SUM=SUM+(G[L][JJ]+P[L][JJ]/DT)*HNEW[JJ];

                            

                          }

                    HNEW[L]=(-SUM+B[L])/(G[L][L]+P[L][L]/DT);

                    ERR=fabs(OLDVAL-HNEW[L]);

                    if (ERR>AMAX) AMAX=ERR;

                   

                   }

          

      // PUTS HNEW VALUES INTO HOLD ARRAY FOR NEXT TIME STEP.

        for(L =1;L<= NNODE;L++) HOLD[L]=HNEW[L];

      // PRINT RESULTS FOR EVERY OTHER TIME STEP.

    

            

             TIME =TIME+DT;

             KOUNT=KOUNT+1;

             

           for(I=2;I<=NNODE;I=I+2)  printf("%2.2f  ",HOLD[I]);

         

           printf("%d",TIME);

           printf("\n");  

      }   

      

      getch();

}

Code en VB:
NB: pour l'affichage des resultats j'ai utilise une msflexgride nommee Grid1
     
      '// FINITE ELEMENT PROGRAM FOR TRANSIENT FLOW USING               //RECTANGULAR ELEMENTS
      '// RESERVOIR EXAMPLE
     
Dim NS(25), NX(25), NY(25) As Double
Dim HOLD(25), HNEW(25), G(25, 25), P(25, 25), B(25), X(25), Y(25) As Double
Dim S, T As Double
Dim XSI(4) As Double
Dim ETA(4) As Double
     
      '// BLOCK 1.  GENERATE NODAL COORDINATES & INITIAL & //BOUNDARY CONDITIONS.
      
Dim NNODE As Integer
Dim NELEM As Integer
Dim L, JJ As Integer

S = 0.002
T = 0.02
      
XSI(0) = -0.57735
XSI(1) = 0.57735
XSI(2) = 0.57735
XSI(3) = -0.57735

ETA(0) = -0.57735
ETA(1) = -0.57735
ETA(2) = 0.57735
ETA(3) = 0.57735

NNODE = 22
NELEM = 10

For L = 1 To NNODE Step 2
       
          X(L) = (L - 1) * 5
          X(L + 1) = X(L)
          Y(L) = 10
          Y(L + 1) = 0
Next L
       
       
       
For L = 1 To NNODE
    HOLD(L) = 16
    HNEW(L) = 16
    For JJ = 1 To NNODE
        G(L, JJ) = 0
        P(L, JJ) = 0
    Next JJ
Next L

HOLD(21) = 11
HNEW(21) = 11
HOLD(22) = 11
HNEW(22) = 11
       
       
      '  // BLOCK 2. CONSTRUCT CONDUCTANCE AND STORAGE MATRICES.
 
Dim K, J, I, N, M, KK, IQ As Integer
Dim NODE(25) As Integer
Dim AA, BB As Double

For K = 1 To NELEM
         '// GENERATE NODE NUMBERS OF ELEMENTS K.
I = 2 * K
J = I + 2
M = I + 1
N = I - 1
NODE(1) = I
NODE(2) = J
NODE(3) = M
NODE(4) = N

'AA = (X(J) - X(I)) / 2
'BB = (Y(N) - Y(I)) / 2
AA = 5
BB = 5
'MsgBox (AA)
'MsgBox (BB)
    For KK = 1 To 4
        L = NODE(KK)
             '// GAUSSIAN QUADRATURE.
            For IQ = 0 To 3
             '// NS ARE INTERPOLATION FUNCTIONS. NX AND NY ARE SPATIAL DERIVATIVES
            
                NS(1) = 0.25 * (1 - XSI(IQ)) * (1 - ETA(IQ))
                NS(2) = 0.25 * (1 + XSI(IQ)) * (1 - ETA(IQ))
                NS(3) = 0.25 * (1 + XSI(IQ)) * (1 + ETA(IQ))
                NS(4) = 0.25 * (1 - XSI(IQ)) * (1 + ETA(IQ))
                NX(1) = -0.25 * (1 - ETA(IQ)) / AA
                NX(2) = 0.25 * (1 - ETA(IQ)) / AA
                NX(3) = 0.25 * (1 + ETA(IQ)) / AA
                NX(4) = -0.25 * (1 + ETA(IQ)) / AA
                NY(1) = -0.25 * (1 - XSI(IQ)) / BB
                NY(2) = -0.25 * (1 + XSI(IQ)) / BB
                NY(3) = 0.25 * (1 + XSI(IQ)) / BB
                NY(4) = 0.25 * (1 - XSI(IQ)) / BB
                G(L, I) = G(L, I) + (NX(1) * NX(KK) + NY(1) * NY(KK)) * AA * BB
                G(L, J) = G(L, J) + (NX(2) * NX(KK) + NY(2) * NY(KK)) * AA * BB
                G(L, M) = G(L, M) + (NX(3) * NX(KK) + NY(3) * NY(KK)) * AA * BB
                G(L, N) = G(L, N) + (NX(4) * NX(KK) + NY(4) * NY(KK)) * AA * BB
                P(L, I) = P(L, I) + NS(1) * NS(KK) * AA * BB * S / T
                P(L, J) = P(L, J) + NS(2) * NS(KK) * AA * BB * S / T
                P(L, M) = P(L, M) + NS(3) * NS(KK) * AA * BB * S / T
                P(L, N) = P(L, N) + NS(1) * NS(KK) * AA * BB * S / T
            
            Next IQ
    Next KK
Next K
      
         
     ' // BLOCK 3. STEP THROUGTH TIME .
Dim NSTEP, DT, KOUNT, KPRINT, TtIME As Single
          
DT = 5
KOUNT = 1
KPRINT = 2
TtIME = DT
          

For NSTEP = 1 To 99
               '// CONSTRUCT B-MATRIX FOR EACH TIME STEP.
    For L = 1 To NNODE
        B(L) = 0
            For JJ = 1 To NNODE
                B(L) = B(L) + P(L, JJ) * HOLD(JJ) / DT
            Next JJ
    Next L

             
         '  // SOLVE SYSTEM OF EQUATIONS BY ITERATION.
Dim AMAX As Double
Dim OLDVAL, SUM, ERR As Double
          
AMAX = 0
               
For L = 1 To NNODE
                  '{
                  ' // EXCLUSE FIXED BOUNDARY HEADS FROM ITERATION;If ((L 1) Or (L 2) Or (L = 21) Or (L = 22)) Then
    L = L + 1
Else
    OLDVAL = HNEW(L)
    SUM = 0
        For JJ = 1 To NNODE
            If (JJ = L) Then
                JJ = JJ + 1
            Else
                SUM = SUM + (G(L, JJ) + P(L, JJ) / DT) * HNEW(JJ)
            End If
        Next JJ
    HNEW(L) = (-SUM + B(L)) / (G(L, L) + P(L, L) / DT)
    ERR = Abs(OLDVAL - HNEW(L))
    If (ERR > AMAX) Then AMAX = ERR
End If
Next L

          
     ' // PUTS HNEW VALUES INTO HOLD ARRAY FOR NEXT TIME STEP.

For L = 1 To NNODE
    HOLD(L) = HNEW(L)
Next L
    '  // PRINT RESULTS FOR EVERY OTHER TIME STEP.
    
            
TtIME = TtIME + DT
KOUNT = KOUNT + 1
             
icol = 1
For I = 2 To NNODE Step 2
    Grid1.Col = icol
    Grid1.Row = NSTEP
    Grid1.Text = Int(HOLD(I) * 100) / 100
    icol = icol + 1
Next I
    Grid1.Col = icol
    Grid1.Row = NSTEP
    Grid1.Text = Int(TtIME * 100) / 100
Next NSTEP
      

12 réponses

cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
18 juil. 2007 à 08:47
Si j'osais je dirais... ben apprend le vb et le c deja :p

Naaan je deconne mais c'est vrai qu'il y a moulte (j'aime bien ce mot en ce moment) erreur de transcription aller hop je donne la premiere :

Quand tu fais :

Dim NS(25), NX(25), NY(25) As Double

NS() et NX() sont du type Variant et NY() en double si tu n'as pas definit de type par defaut. Ecrit toujours le type des variable cela evite de ce tromper :


Dim NS(25) As Single
Dim NX(25) As Single
Dim NY(25) As Single


A oui autre chose renseigne toi sur la correnspondance de type entre C et vb. rapidement et pour info :

Short = Integer
Int = Long
Float = Single
Double = Double

etc...

Bonne pr@g

E.B.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 juil. 2007 à 09:34
Dim NS(25) As Single
réserve 26 flottants de l'index 0 à 25 INCLUS.
En C il n'y a pas de philo:
float NS[25], c'est bien 25 et non 26.


Comme dit EB faudra d'abord apprendre le C.
J'ajoute que ça te permettrait de bien choisir tes exemples car ceci est un code écrit avec ses mains sans intervention du moindre neurone:
NNODE n'est jamais recalculé, on mettra donc:
#define NNODE 22
La 1ere boucle:
for(L = 1; L <= NNODE; L = L+2) {
  X[L] = (L-1)*5;
  X[L+1] = X[L];
  Y[L] = 10;
  Y[L+1] = 0;
}
L n'a pas besoin de controle au 1er poassage, deviendrait donc:
float ftmp;
L = 1;
ftmp = 0.0f;
do {
  X[L] = X[L+1] = ftmp;
  Y[L] = 10.0f;
  Y[L+1] = 0.0f;
  ftmp += 10.0f
} while((L += 2) <= NNODE);


etc, etc...

ciao...
BruNews, MVP VC++
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
18 juil. 2007 à 09:37
clair qu'il ya a des choses sympa, dans ton code...

j'ai fait un portage bête et méchant en VB.

j'ignore si c'est conforme a tes attentes, j'ignore les resultats que tu souhaites obtenir.

ca donne ça :

Private Sub Form_Load()
   '// FINITE ELEMENT PROGRAM FOR TRANSIENT FLOW USING
   '//RECTANGULAR ELEMENTS

   '// RESERVOIR EXAMPLE
   Dim NS(1 To 4) As Single
   Dim NX(1 To 4) As Single
   Dim NY(1 To 4) As Single
   Dim HOLD(1 To 22) As Single
   Dim HNEW(1 To 22) As Single
   Dim G(1 To 22, 1 To 22) As Single
   Dim P(1 To 22, 1 To 22) As Single
   Dim B(1 To 22) As Single
   Dim X(1 To 22) As Single
   Dim Y(1 To 22) As Single

   Const S As Single = 0.002
   Const T As Single = 0.02

   Dim XSI(3) As Single
   XSI(0) = -0.57735
   XSI(1) = 0.57735
   XSI(2) = 0.57735
   XSI(3) = -0.57735

   Dim ETA(3) As Single
   ETA(0) = -0.57735
   ETA(1) = -0.57735
   ETA(2) = 0.57735
   ETA(3) = 0.57735
   
   '// BLOCK 1.  GENERATE NODAL COORDINATES & INITIAL &
   '//BOUNDARY CONDITIONS.

   Const NNODE As Long = 22
   Const NELEM As Long = 10

   Dim L As Long
   Dim JJ As Long

   For L = 1 To NNODE Step 2
       X(L) = (L - 1) * 5
       X(L + 1) = X(L)
       Y(L) = 10
       Y(L + 1) = 0
   Next L

   For L = 1 To NNODE
       HOLD(L) = 16
       HNEW(L) = 16
   Next L

   HOLD(21) = 11
   HNEW(21) = 11
   HOLD(22) = 11
   HNEW(22) = 11
   
   '// BLOCK 2. CONSTRUCT CONDUCTANCE AND STORAGE MATRICES.

   Dim K As Long
   Dim J As Long
   Dim I As Long
   Dim N As Long
   Dim M As Long
   Dim KK As Long
   Dim IQ As Long
   
   Dim NODE(1 To 22) As Long

   Dim AA As Single
   Dim BB As Single

   For K = 1 To NELEM
        '// GENERATE NODE NUMBERS OF ELEMENTS K.
        I = 2 * K
        J = I + 2
        M = I + 1
        N = I - 1
        NODE(1) = I
        NODE(2) = J
        NODE(3) = M
        NODE(4) = N
        AA = Abs(X(J) - X(I)) / 2
        BB = Abs(Y(N) - Y(I)) / 2

        For KK = 1 To 4
           L = NODE(KK)

           '// GAUSSIAN QUADRATURE.
           For IQ = 0 To 3
               '// NS ARE INTERPOLATION FUNCTIONS. NX AND NY ARE SPATIAL DERIVATIVES
               NS(1) = 0.25 * (1 - XSI(IQ)) * (1 - ETA(IQ))
               NS(2) = 0.25 * (1 + XSI(IQ)) * (1 - ETA(IQ))
               NS(3) = 0.25 * (1 + XSI(IQ)) * (1 + ETA(IQ))
               NS(4) = 0.25 * (1 - XSI(IQ)) * (1 + ETA(IQ))
               NX(1) = -0.25 * (1 - ETA(IQ)) / AA
               NX(2) = 0.25 * (1 - ETA(IQ)) / AA
               NX(3) = 0.25 * (1 + ETA(IQ)) / AA
               NX(4) = -0.25 * (1 + ETA(IQ)) / AA
               NY(1) = -0.25 * (1 - XSI(IQ)) / BB
               NY(2) = -0.25 * (1 + XSI(IQ)) / BB
               NY(3) = 0.25 * (1 + XSI(IQ)) / BB
               NY(4) = 0.25 * (1 - XSI(IQ)) / BB
               G(L, I) = G(L, I) + (NX(1) * NX(KK) + NY(1) * NY(KK)) * AA * BB
               G(L, J) = G(L, J) + (NX(2) * NX(KK) + NY(2) * NY(KK)) * AA * BB
               G(L, M) = G(L, M) + (NX(3) * NX(KK) + NY(3) * NY(KK)) * AA * BB
               G(L, N) = G(L, N) + (NX(4) * NX(KK) + NY(4) * NY(KK)) * AA * BB
               P(L, I) = P(L, I) + NS(1) * NS(KK) * AA * BB * S / T
               P(L, J) = P(L, J) + NS(2) * NS(KK) * AA * BB * S / T
               P(L, M) = P(L, M) + NS(3) * NS(KK) * AA * BB * S / T
               P(L, N) = P(L, N) + NS(1) * NS(KK) * AA * BB * S / T
           Next IQ
       Next KK
   Next K
         

   '// BLOCK 3. STEP THROUGTH TIME .
   Dim NSTEP As Long
   Const DT As Long = 5
   Dim KOUNT As Long: KOUNT = 1
   Dim TIME As Long: TIME = DT

   For NSTEP = 1 To 99
       '// CONSTRUCT B-MATRIX FOR EACH TIME STEP.
       For L = 1 To NNODE
           B(L) = 0
           For JJ = 1 To NNODE
               B(L) = B(L) + P(L, JJ) * HOLD(JJ) / DT
           Next JJ
       Next L

       '// SOLVE SYSTEM OF EQUATIONS BY ITERATION.
       Dim Sum As Single

       For L = 1 To NNODE
           '// EXCLUSE FIXED BOUNDARY HEADS FROM ITERATION
           If L <> 1 And L <> 2 And L <> 21 And L <> 22 Then
               Sum = 0
               For JJ = 1 To NNODE
                   If JJ <> L Then
                       Sum = Sum + (G(L, JJ) + P(L, JJ) / DT) * HNEW(JJ)
                   End If
               Next JJ

               HNEW(L) = (-Sum + B(L)) / (G(L, L) + P(L, L) / DT)
           End If
       Next L
         
       '// PUTS HNEW VALUES INTO HOLD ARRAY FOR NEXT TIME STEP.
       For L = 1 To NNODE
           HOLD(L) = HNEW(L)
       Next L

       '// PRINT RESULTS FOR EVERY OTHER TIME STEP.
       TIME = TIME + DT
       KOUNT = KOUNT + 1
       
       For I = 2 To NNODE Step 2
           Debug.Print I, FormatNumber(HOLD(I), 2)
       Next I
       Debug.Print "---------"
       Debug.Print TIME, KOUNT
   Next NSTEP
End Sub , ----
By Renfield

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
18 juil. 2007 à 19:01
Trop sympa le CowBoy :p

E.B.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
faid007 Messages postés 17 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 5 janvier 2008
18 juil. 2007 à 19:10
Merci pour vos Remarque EBArtSoft & BruNews, vraiment il faut ke je revoir le C! (depuis 2004 j'ais pas utilisé se langage!). pour  le programme propose par Renfield, malheursement il ne donne pas les resultats correcte.
voici les resultats qui donne le prog en C. et si c'est possible de le corriger car moi chui Blocké!
Merci infiniment
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
18 juil. 2007 à 21:40
on ne voit pas les resultats...

pour du calcul, comme c'est le cas.... pourquoi ne pas placer ton code dans une dll, exploitée depuis VB

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Ferdy007 Messages postés 3 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 19 juillet 2007
18 juil. 2007 à 21:48
comment ça??? peux tu m'expliquer?
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
18 juil. 2007 à 22:02
Bonsoir,

Renfield t'invite à faire une DLL en C (en utilisant ton code actuel C) et :


1) à déclarer dans ton appli VB la/les fonction(s) deque contiendrait cette dll et que tu veux utiliser


2) à appeler cette/ces fonction(s) depuis ton code VB
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
18 juil. 2007 à 22:46
Oula je la sent mal l'histoire de la dll

Si deja il s'en sort pas avec juste le code C ça risque pas trop de l'aider
sauf si un gentil lutin lui compile sa dll

:p

@+

E.B.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
18 juil. 2007 à 23:04
Bonsoir  EBArtSoft,

Je devine... je devine...
Mais voyons :
Il dit :
1) qu'il a écrit ce code C
2) que ce code s'exécute à sa pleine satisfaction...

Je le crois donc (tout comme RenField), ma foi...
Et le développement dans un langage, c'est comme la bicyclette... quand on a su, on sait.
2007-2004 = à peine 3 ans (et des raisons indépendantes de ma volonté m'ont empêché de même approcher un clavier pendant un peu plus de 4 ans, sans que j'en aie réellement "souffert" à la reprise ...)
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
19 juil. 2007 à 00:44
En même temps si mes souvenirs sont bon... en 12 ans de programmation je n'ai jamais utilisé de forum pour resoudre mes problemes. Bien que l'internet soit une source d'inspiration debordante un bon livre fera toujours l'affaire.

Il est beaucoup plus facile de s'en remettre a autruie.

Bref je vais pas pourrir sa question avec mes considerations phylosophiques cela dit je lui conseil fortement d'en savoir un peu plus sur le "pourquoi cela ne marche t'il pas" plutot que de chercher une solution toute faite car il ce peut qu'il soit de nouveau confronté au probleme dans l'avenir et que le forum n'est pas la solution miracle du devellopeur professionel.

Il faut ce poser les bonnes questions avant de tenter de resoudre et parfois même ce remettre en question.

1 - J'ai un probleme ==> je vais demander a quelqu'un de m'aider
2 - J'ai a nouveau le probleme => je vais a nouveau demander

ou bien

1 - J'ai un probleme ==> pourquoi je n'arrive pas a la resoudre ==> comment puis je aquerir les connaissance necessaire pour le reoudre
2 - J'ai a nouveau le probleme ==> mais j'ai aqui les connaisances et je vais parvenir a le reoudre

bon je sais c'est completement utopique d'ecrire ça sur un forum de dev mais bon... il est tard je vais aller me coucher et demain tout ira mieu :-p


Aller les petits loups bonne [mailto:pr@g pr@g]

E.B.
0
faid007 Messages postés 17 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 5 janvier 2008
19 juil. 2007 à 01:33
Merci  615490 jmfmarques et =15669 EBArtSoft pour les conseilles; a vrais dire moi je me suis dévier  de la programmation pour des raisons professionnelle, pour se petit exercice je le fait a la demande d’un ami ‘c’est pas moi qui a écrit le code en C’ moi j’ai écrit juste le code en VB. Et je ne sais même pas l’intérêt du programme. !!  et avant de poster mon problème dans se forum, j’ai récrit le code plus de 5 fois, et j’ai pas arrivé a détecter l’erreur. Merci une autre fois et bonne nuit !








 
0
Rejoignez-nous