j'aimerai avoir quelque conseil a propos de la programmation

j'aimerai avoir quelque conseil a propos de la programmation - Delphi/Pascal - Programmation

Marsh Posté le 24-07-2007 à 06:18:36    

j'aimerai débuté la programmation, on m'as conseillé "Pascal et Delphi".
 
je voudrai faire une sorte de logiciel qui ressemble un peu a "Speedfan",
(je précise que j'ai aucune connaissance dans ce domaine)
me dite surtout pas de laissé tombé svp  :non:  
 
en gros j'aimerai bien savoir quoi utilisé pour débuté mon ti bafouillage merci a tous  :)
et puis si vous avez quelque site qui explique un peu la programmation, je suis preneur :)
 
merci ;)


Message édité par didewaza le 24-07-2007 à 06:23:53
Reply

Marsh Posté le 24-07-2007 à 06:18:36   

Reply

Marsh Posté le 24-07-2007 à 10:11:19    

Mon conseil: oublie pascal et Delphi. C'est sans doute un  vétéran de la programmation qui t'a conseillé ça, ce langage est en totale perte de vitesse.
 
Penche toi plutot sur du C++, du java, ou du C#, selon tes envies d'intéropérabilité.
 
Pour ce qui est de comment développer, regarde les FAQ de developpez.com, assez exhaustives, et reviens demander ici ce que tu n'y auras pas trouvé :)

Reply

Marsh Posté le 24-07-2007 à 17:13:15    

cool, merci beaucoup derkheim ;)

Reply

Marsh Posté le 25-07-2007 à 15:31:29    

Pour info Speedfan est fait en Delphi :o

Reply

Marsh Posté le 25-07-2007 à 15:34:23    

Laisse tomber le troll, j'en ai fait 3 ans, c'est pas ce qu'il faut pour un débutant aujourdh'ui.

Reply

Marsh Posté le 25-07-2007 à 15:54:12    

:heink: j'ai pas dit qu'il devait faire du Delphi ni débuter par Delphi, je dis juste que Speedfan est fait en Delphi, ce qui explique peut-être pourquoi on lui a dit de faire du Delphi pour un soft "genre Speedfan", même si ce n'est pas nécessaire vu qu'on peut faire de tout avec la plupart des langages.
(puis avec le coup de la vétéran de la prog, on voit en effet que t'as de bonnes bases de troll - à moins que tu parles d'avoir fait 3 ans de Delphi et non 3 ans de troll ? [:dawa])


Message édité par antp le 25-07-2007 à 15:55:22
Reply

Marsh Posté le 25-07-2007 à 15:55:51    

10 ans de troll derrière moi, jeune padawan.

Reply

Marsh Posté le 14-08-2007 à 01:17:54    

Ne vous chamaillez pas a cause de moi non plus ^^, Merci pour les conseil quand même, j'éssai un peu le C++ pour le moment, je rame un peu, mais j'éssaierai de m'améliorer.
 
Je vous tien au courant ;)

Reply

Marsh Posté le 14-08-2007 à 16:15:33    

didewaza a écrit :

Ne vous chamaillez pas a cause de moi non plus ^^, Merci pour les conseil quand même, j'éssai un peu le C++ pour le moment, je rame un peu, mais j'éssaierai de m'améliorer.
 
Je vous tien au courant ;)


laisse tomber le C++, et met toi plutot au Python, certainement un des meilleurs langages pour débuter

Reply

Marsh Posté le 14-08-2007 à 16:18:21    

Tentes plutot l'ADA ou l'ASM X86 ca c'est des langages de roxor  :D

Reply

Marsh Posté le 14-08-2007 à 16:18:21   

Reply

Marsh Posté le 17-08-2007 à 16:08:01    

Pour du monitoring faut un langage bas niveau donc en gros en plateforme Win32 il n'y a pas grand chose : C++ et Delphi :D


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
Reply

Marsh Posté le 17-08-2007 à 16:54:48    

L'ASM c'est bien plus bas niveau :o

Reply

Marsh Posté le 17-08-2007 à 16:56:33    

Euh on ecrit comment une application Win32 en ASM ? :o


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
Reply

Marsh Posté le 17-08-2007 à 16:57:57    

Avec de l'huile de coude et de la patience, padawan.

Reply

Marsh Posté le 17-08-2007 à 17:00:43    

MEI : masm32 ça fonctionne très bien

Reply

Marsh Posté le 17-08-2007 à 18:07:13    

J'vois mal comment on peut faire des interface graphique mais bon... :o
 
Enfin je me trompe peut etre, y'a peut etre les includes pour l'assembleur dans le Platform SDK de Microsoft. :D


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
Reply

Marsh Posté le 17-08-2007 à 18:10:06    

Ben tu fais des fenêtres en appellant les fonctions directement des dll, et ça prend 4 lignes d'asm à afficher une fenêtre.

Reply

Marsh Posté le 17-08-2007 à 18:16:05    

MEI a écrit :

J'vois mal comment on peut faire des interface graphique mais bon... :o
 
Enfin je me trompe peut etre, y'a peut etre les includes pour l'assembleur dans le Platform SDK de Microsoft. :D


 
Bof, faut aimer et être patient
 
exemple :
 

Code :
  1. .386
  2. .model flat,stdcall
  3. option casemap:none
  4. include \masm32\include\windows.inc
  5. include \masm32\include\user32.inc
  6. includelib \masm32\lib\user32.lib            ; Fait appel à des fonctions dans user32.lib et kernel32.lib
  7. include \masm32\include\kernel32.inc
  8. includelib \masm32\lib\kernel32.lib
  9. WinMain proto :DWORD,:DWORD,:DWORD,:DWORD
  10. .DATA                     ; Initialise les DATA (ceux qui font déjà parti du programme)
  11. ClassName db "SimpleWinClass",0        ; le nom de Class de votre fenêtre
  12. AppName db "Our First Window",0        ; Le nom de votre fenêtre (c'est son titre)
  13. .DATA?                ; Initialise les DATA (ceux qui ne font pas encores parti du programme. EX: les futures saisies au clavier).
  14. hInstance HINSTANCE ?        ; l'Instance handle de votre programme
  15. CommandLine LPSTR ?
  16. .CODE                ; C'est ici que commence votre code.
  17. start:
  18. invoke GetModuleHandle, NULL            ; Récupère l'Instance handle de votre programme.
  19.                                                                        ; Sous Win32, hmodule==hinstance mov hInstance,eax
  20. mov hInstance,eax
  21. invoke GetCommandLine                        ; Obtient la command line. vous n'avez besoin d'appeler cette fonction QUE SI
  22.                                                                        ; votre programme n'a pas encore de command line.
  23. mov CommandLine,eax
  24. invoke WinMain, hInstance,NULL,CommandLine, SW_SHOWDEFAULT        ; Appelle la fonction principale
  25. invoke ExitProcess, eax                           ; Sort de votre programme. Le code de sortie est retourné dans eax.
  26. WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD
  27.     LOCAL wc:WNDCLASSEX                                            ; Créez des variables locales sur la pile
  28.     LOCAL msg:MSG
  29.     LOCAL hwnd:HWND
  30.     mov   wc.cbSize,SIZEOF WNDCLASSEX                   ; Place les valeurs dans les membres de wc
  31.     mov   wc.style, CS_HREDRAW or CS_VREDRAW
  32.     mov   wc.lpfnWndProc, OFFSET WndProc
  33.     mov   wc.cbClsExtra,NULL
  34.     mov   wc.cbWndExtra,NULL
  35.     push  hInstance
  36.     pop   wc.hInstance
  37.     mov   wc.hbrBackground,COLOR_WINDOW+1
  38.     mov   wc.lpszMenuName,NULL
  39.     mov   wc.lpszClassName,OFFSET ClassName
  40.     invoke LoadIcon,NULL,IDI_APPLICATION
  41.     mov   wc.hIcon,eax
  42.     mov   wc.hIconSm,eax
  43.     invoke LoadCursor,NULL,IDC_ARROW
  44.     mov   wc.hCursor,eax
  45.     invoke RegisterClassEx, addr wc                       ; Enregistre notre 'Window Class', ainsi elle est définit
  46.     invoke CreateWindowEx,NULL,\
  47.                 ADDR ClassName,\
  48.                 ADDR AppName,\
  49.                 WS_OVERLAPPEDWINDOW,\
  50.                 CW_USEDEFAULT,\
  51.                 CW_USEDEFAULT,\
  52.                 CW_USEDEFAULT,\
  53.                 CW_USEDEFAULT,\
  54.                 NULL,\
  55.                 NULL,\
  56.                 hInst,\
  57.                 NULL
  58.     mov   hwnd,eax
  59.     invoke ShowWindow, hwnd,CmdShow               ; Affiche notre fenêtre sur le bureau
  60.     invoke UpdateWindow, hwnd                                 ; Régénérez le client area
  61.     .WHILE TRUE                                                         ; Création d'une boucle pour traiter les messages qui arrivent.
  62.                 invoke GetMessage, ADDR msg,NULL,0,0          (comme détection du déplacement de la souris)
  63.                 .BREAK .IF (!eax)
  64.                 invoke TranslateMessage, ADDR msg
  65.                 invoke DispatchMessage, ADDR msg
  66.    .ENDW
  67.     mov     eax,msg.wParam                                            ; Retoune le code de sortie dans eax
  68.     ret
  69. WinMain endp
  70. WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
  71.     .IF uMsg==WM_DESTROY                           ; si l'utilisateur ferme notre fenêtre (parce qu'on vient de recevoir un message WM_DESTROY)...alors
  72.         invoke PostQuitMessage,NULL             ; on quitte notre application
  73.     .ELSE
  74.         invoke DefWindowProc,hWnd,uMsg,wParam,lParam     ; Traitement par défaut de tous les autres messages qui ne nous intéressent pas.
  75.         ret
  76.     .ENDIF
  77.     xor eax,eax
  78.     ret
  79. WndProc endp
  80. end start



---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
Reply

Marsh Posté le 17-08-2007 à 18:16:43    

durkheim a écrit :

Ben tu fais des fenêtres en appellant les fonctions directement des dll, et ça prend 4 lignes d'asm à afficher une fenêtre.


 
 
Heuuu.. 4 Lignes, fô pas déconner non plus :D


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
Reply

Marsh Posté le 17-08-2007 à 18:24:57    

MEI a écrit :

Euh on ecrit comment une application Win32 en ASM ? :o


http://win32assembly.online.fr/

Reply

Marsh Posté le 17-08-2007 à 18:25:27    

MEI a écrit :

J'vois mal comment on peut faire des interface graphique mais bon... :o

 

Enfin je me trompe peut etre, y'a peut etre les includes pour l'assembleur dans le Platform SDK de Microsoft. :D


un convertisseur euro que j'avais codé en assembleur y'a quelque temps :

 
Code :
  1. .386
  2. .model flat,stdcall
  3. option casemap:none
  4.  
  5. include Euroasm.inc
  6.  
  7. .code
  8.  
  9. start:
  10.  
  11.     invoke     GetModuleHandle,NULL
  12.     mov        hInstance,eax
  13.     invoke    DialogBoxParam,hInstance,ADDR DlgName,NULL,ADDR DlgProc,NULL
  14.     invoke     ExitProcess,eax
  15.  
  16. DlgProc proc hWnd:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM
  17.     mov        eax,uMsg
  18.     push    hWnd
  19.     pop        hDlg
  20.     
  21.     .IF eax==WM_INITDIALOG
  22.         invoke    GetDlgItem,hWnd,IDC_TXTEURO
  23.         mov        hEditEuro,eax
  24.         invoke     GetDlgItem,hWnd,IDC_BTCONV
  25.         mov        hBouton,eax
  26.         invoke    GetDlgItem,hWnd,IDC_TXTFRF
  27.         mov        hEdit,eax
  28.         invoke     SetFocus,eax
  29.         invoke    SetWindowLong,hBouton,GWL_WNDPROC,ADDR BtnWndProc
  30.         mov        BtnProc,eax
  31.         invoke    SetWindowLong,hEdit,GWL_WNDPROC,ADDR EdtWndProc
  32.         mov        EditProc,eax
  33.     .ELSEIF eax==WM_COMMAND
  34.         mov eax,wParam
  35.         .IF ax==IDC_BTCONV
  36.             shr    eax,16
  37.             .IF ax==BN_CLICKED
  38.                 invoke     SendMessage,hEdit,WM_GETTEXT,64,ADDR Buffer
  39.                 invoke    ConvEuro,ADDR Buffer
  40.                 invoke     SendMessage,hEditEuro,WM_SETTEXT,NULL,ADDR FPBuffer
  41.             .ENDIF
  42.         .ENDIF
  43.     .ELSEIF eax==WM_CLOSE
  44.         invoke     EndDialog,hWnd,NULL
  45.     .ENDIF
  46.     
  47.     xor    eax,eax
  48.     ret
  49. DlgProc endp
  50.  
  51. ConvEuro proc Text:DWORD
  52.     invoke     StrToFloat,Text,ADDR FPNumber
  53.     fld        FPNumber
  54.     fdiv    Taux
  55.     fstp    FPNumber
  56.     invoke     FloatToStr,FPNumber,ADDR FPBuffer
  57.     ret
  58. ConvEuro endp
  59.  
  60. BtnWndProc proc hBtn:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM
  61.     .IF uMsg==WM_MOUSEMOVE
  62.         invoke     MessageBox,NULL,ADDR msg,ADDR titre,MB_OK
  63.     .ENDIF
  64.     invoke    CallWindowProc,BtnProc,hBtn,uMsg,wParam,lParam
  65.     xor    eax,eax
  66.     ret
  67. BtnWndProc    endp
  68.  
  69. EdtWndProc    proc hEdt:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM
  70.     .IF uMsg==WM_CHAR
  71.         mov    eax,wParam
  72.         .IF (al>;="0" && al<="9" ) || al=="." || al==VK_BACK
  73.             invoke    CallWindowProc,EditProc,hEdt,uMsg,wParam,lParam
  74.             ret
  75.         .ENDIF
  76.     .ELSEIF uMsg==WM_KEYDOWN
  77.         mov    ax,BN_CLICKED
  78.         shl    eax,16
  79.         mov    ax,IDC_BTCONV
  80.         invoke    PostMessage,hDlg,WM_COMMAND,eax,hEdt
  81.     .ELSE
  82.         invoke    CallWindowProc,EditProc,hEdt,uMsg,wParam,lParam
  83.         ret
  84.     .ENDIF
  85.     xor    eax,eax
  86.     ret
  87. EdtWndProc endp
  88.  
  89. end start
 

edit: jocebug dans le parsing ligne 72 [:joce]
(al>="0" )


Message édité par Harkonnen le 17-08-2007 à 18:27:13
Reply

Marsh Posté le 17-08-2007 à 18:27:10    

Ouai enfin le vieux "faux" asm avec des gros IF a la syntaxe C++ :lol: C'est deja plus haut niveau que le x86 de base quoi.

Message cité 1 fois
Message édité par MEI le 17-08-2007 à 18:28:39

---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
Reply

Marsh Posté le 17-08-2007 à 18:29:19    

ixemul a écrit :


 
 
Heuuu.. 4 Lignes, fô pas déconner non plus :D


Si 4 lignes. 4. Je l'ai fait.

Reply

Marsh Posté le 17-08-2007 à 18:30:04    

durkheim a écrit :


Si 4 lignes. 4. Je l'ai fait.


 
Ha bha vas-y poste ! :D


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
Reply

Marsh Posté le 17-08-2007 à 18:30:57    

Je ferai ça lundi, laisse moi le temps de déterrer ce vieil exemple.

Reply

Marsh Posté le 17-08-2007 à 18:31:07    

MEI a écrit :

Ouai enfin le vieux "faux" asm avec des gros IF a la syntaxe C++ :lol: C'est deja plus haut niveau que le x86 de base quoi.


ce sont des macros, rien ne t'oblige à les utiliser :o
 

durkheim a écrit :


Si 4 lignes. 4. Je l'ai fait.


je te grille, je le fait en une ligne dans mon code au dessus [:kbchris]
(ligne 13)

Reply

Marsh Posté le 18-08-2007 à 13:11:52    

J'ai codé une calculatrice en ASM 16 lors de ma première année d'IUT : 800 lignes de code sans interface graphique
 
Des copains l'ont fait en Masm32 avec interface graphique : 100 lignes de code

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed