http://micropic.free.fr
La programmation en Delphi
vous trouverez sur cette page quelques fichiers sources et quelques astuces en Delphi



  1. Création dynamique d'un bouton
  2. Vérifier qu'il y a une disquette dans le lecteur
  3. Autoriser ou interdire le alt+tab et ctrl+alt+suppr
  4. supprimer la barre de tache pendant le déroulement d'un programme
  5. optimisation du code
  6. Récupérer le numéro de série d'une disquette
  7. Supprimer le beep dans un Tedit quand on appuie sur enter
  8. Récupérer les coordonnées du curseur dans un mémo
  9. Lancer un fichier avec son programme par défaut
  10. Lancer une URL
  11. Envoyer un e-mail
  12. Connaitre la version de windows
  13. Envoyer des données sur le port série
  14. Connaitre la mémoire libre disponible
  15. Connaitre le répertoire temporaire par défaut de windows
  16. Codes des touches
  17. Voir le texte qui est dans le clipboard
  18. Mettre le focus sur le composant suivant
  19. Changer la vitesse d'affichage du curseur texte
  20. Positionner le pointeur sourie
  21. Faire scroller un richedit
  22. Lancer l'économiseur d'écran
  23. Cacher un programme de la barre de tache
  24. Teste si le Caps Lock est actif
  25. Faire un pause
  26. Lancement de la fenêtre de config de l'heure
  27. Lancement de la fenêtre propriétés systeme
  28. Lancement de la fenêtre propriétés de mots de passe
  29. Changer la résolution de l'écran sans rebooter
  30. Controler l'alimentation du moniteur
  31. Controler le tiroir du lecteur de CDROM
  32. Connaitre la résolution de l'écran
  33. Faire un copier/coller vertical dans l'éditeur de Delphi
  34. Changer le papier peint de windows
  35. Ecrire en diagonale sur le canvas de la form
  36. Effacer de façon simple un bitmap
  37. Faire que son programme soit compatible avec le menu Pop-up 'Envoyer vers'
  38. Gerer le port série

  1. Exemple : Créer une fenêtre en forme d'étoile
  2. Exemple : Txt to html
  3. Exemple : Serializer
  4. Exemple : Potentiomètre et vu-mètre
  5. Exemple : Retrouver la date de dernier accés à un fichier
  6. Exemple : Extraction d'icones
  7. Exemple : Sauvegarde des messages d'un groupe de News
  8. Exemple : Utilisation de l'avicap32.dll pour la gestion d'une carte d'acquisition vidéo
  9. Exemple : Convertion de caractères accentués de fichier HTML
  10. Exemple : Capture de tous les textes passant par le clipbboard
  11. Exemple : Un jeu de lumière sur votre clavier
  12. Exemple : Connaitre le nombre d'octets transmis par le modem
  13. Exemple : Transferer tous les favoris dans un fichier HTML
  14. Exemple : Créer automatiquement une page html avec un tableau d'images
  15. Exemple : Programme d'aide pour trier des images JPG
  16. Exemple : un éditeur de page web
  17. Exemple : contrôle du volume de la carte son

  1. composant Tvidéo pour carte d'aquisition vidéo ( avec source )








  1. Création dynamique d'un bouton

    procedure creerbouton;
    Var
      MonBouton  :  TButton;
    BEGIN
      MonBouton := TButton.Create(Form1);
      with MonBouton do begin
      Parent := MyForm;
      height := 20;
      width := 2000;
      caption := 'nouveau bouton';
      left := 20;
      top := 20;
      end;
    END;
    




  2. Vérifier qu'il y a une disquette dans le lecteur

    function Diskpret: Boolean;
    var
      mode  : Word;
    begin
      result := false;
      mode := SetErrorMode(SEM_FAILCRITICALERRORS);
      if DiskSize(1)<>-1 then result := true;
      SetErrorMode(mode);
    end;
    




  3. Autoriser ou interdire le alt+tab et ctrl+alt+suppr

    
    // interdire
    procedure TForm1.Button1Click(Sender: TObject);
    var
      oldVal : LongInt;
    begin
      SystemParametersInfo (97, Word (True), @OldVal, 0);
    end;
    
    // autoriser
    procedure TForm1.Button2Click(Sender: TObject);
    var
    OldVal : LongInt;
    begin
      SystemParametersInfo (97, Word (False), @OldVal, 0);
    end;
    




  4. supprimer la barre de tache pendant le déroulement d'un programme

    definir barretache : HWND; dans les declarations de variable de la forme et rajouter les deux evenements suivant dans la forme :
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      barretache := FindWindow('Shell_TrayWnd', nil);
      ShowWindow(barretache, SW_HIDE);
    end;
    
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      ShowWindow(barretache, SW_SHOW);
    end;
    




  5. optimisation du code

    on peut ecrire plus simplement le code suivant :
      Label1.Caption := Chaine[1];
      Label2.Caption := Chaine[2];
      Label3.Caption := Chaine[3];
      Label4.Caption := Chaine[4];
      Label5.Caption := Chaine[5];
    
    

    il suffit d'écrire :
      for i:=1 to 5 do  (Form1.FindComponent('Label'+IntToStr(i)) as TLabel).Caption:=Chaine[i];
    




  6. Récuperer le numero de série d'une disquette

    function litnumser:string;
    var
      NumSerie  : DWORD;
      MaxComp, SySflags : integer;
    begin
      GetVolumeInformation('A:', nil, 0,@NumSerie,MaxComp, SysFlags,nil, 0);
      result:=NumSerie;
    end;
    




  7. Supprimer le beep dans un Tedit quand on appuie sur enter

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if Key = Chr(VK_RETURN) then key:= #0;
    end;
    




  8. Récupérer les coordonnées du curseur dans un mémo

    procedure TForm1.Memo1KeyUp(Sender: TObject; var Key: Word;Shift: TShiftState);
    var
      line,col :integer;
    begin
      line:=sendMessage(memo1.Handle,EM_LineFromChar,memo1.SelStart,0);
      col:=memo1.Selstart-sendMessage(memo1.Handle,EM_LineIndex,line,0)+1;
      edit1.text:='Ligne n#176;: '+inttostr(line+1)+'    Colonne n#176;: '+inttostr(col);
    end;
    


    note : cela fonctionne aussi avec un richedit




  9. Lancer un fichier avec son programme par défaut

    uses WinTypes, ShellAPI;
    begin
      ShellExecute( 0, Nil, PChar('c:\my_docs\report.txt'),Nil, Nil, SW_NORMAL );
    end.
    
    on peut aussi executer un programme avec un fichier en paramêtre :
    uses WinTypes, ShellAPI;
    begin
      ShellExecute( 0,'open',pchar('d:\utils\I_VIEW32.EXE'),pchar('d:\img.jpg'), Nil, SW_NORMAL );
    end;
    




  10. Lancer une URL

    ( toujours avec la commande ShellExecute ! )
    
    uses WinTypes, ShellAPI;
    
    begin
      ShellExecute( 0, Nil, PChar('http://multimania.com/offset'),Nil, Nil, SW_NORMAL );
    end;
    




  11. Envoyer un e-mail

    ( et encore la commande ShellExecute ! )
    
    Uses WinTypes, ShellAPI;
    
    begin
      ShellExecute( 0, Nil, PChar('mailto:offset@multimania.com'),Nil, Nil, SW_NORMAL );
    end;
    




  12. Connaitre la version de windows

    Var
      versions: TOSVERSIONINFO;
      ver:integer;
    begin
      versions.dwOSVersionInfoSize:=sizeof(versions);
      GetVersionEx(versions);
      ver:=versions.dwPlatformId;
      if ver=VER_PLATFORM_WIN32s      then label1.caption:='Windows 3.1 avec Win32s';
      if ver=VER_PLATFORM_WIN32_WINDOWS then label1.caption:='Windows 95';
      if ver=VER_PLATFORM_WIN32_NT then label1.caption:='Windows NT';
      label1.caption:=label1.caption+' ('+inttostr(versions.dwMajorVersion)+
                               '.'+inttostr(versions.dwMinorVersion)+' )';
    end;
    




  13. Envoyer des données sur le port série

    procedure sendtoserial(data:string);
    var
      serial:textfile;
    begin
      assignefile(serial,'com1');
      rewrite(serial);
      write(serial,data);
      // ou read pour lire
      closefile(serial);
    end;
    




  14. Connaitre la mémoire libre disponible

    procedure TForm1.Button1Click(Sender: TObject);
    var
      Memory : tMemoryStatus;
    begin
        memory.dwLength := sizeof(memory);
        GlobalMemoryStatus(memory);
        label1.caption:='memoire totale : '+inttostr(memory.dwTotalPhys)+' octets';
        label2.caption:='memoire libre  : '+inttostr(memory.dwAvailPhys)+' octets';
    end;
    




  15. Connaitre le répertoire temporaire par défaut de windows

    procedure TForm1.Button1Click(Sender: TObject);
    var
      b: array[0..512] of Char;
    begin
      GetTempPath(511,b);
      label1.caption:=b;
    end;
    




  16. Codes des touches

    VK_LBUTTON ($01) : bouton Gauche Souris
    VK_RBUTTON ($02) : bouton Droite Souris
    VK_CANCEL ($03) : Arrêt Exec. programme
    VK_MBUTTON ($04) : bouton Central Souris
    VK_BACK ($08) : Retour Arrière
    VK_TAB ($09) : Tabulation
    VK_RETURN ($0D) : Entrée
    VK_SHIFT ($10) : Touche de contrôle MAJ
    VK_CONTROL ($11) : Touche de contrôle CTRL
    VK_MENU ($12) : Touche de contrôle ALT
    VK_PAUSE ($13) : Pause
    VK_CAPITAL ($14) : Verrouillage majuscules
    VK_ESCAPE ($1B) : Echappement
    VK_SPACE ($20) : Barre d'espacement
    VK_PRIOR ($21) : Page Haut
    VK_NEXT ($22) : Page Bas
    VK_END ($23) : Fin
    VK_HOME ($24) : Début
    VK_LEFT ($25) : Flèche gauche
    VK_UP ($26) : Flèche haut
    VK_RIGHT ($27) : Flèche droite
    VK_DOWN ($28) : Flèche bas
    vk_Select($29):??
    vk_Print($2A):??
    vk_Execute($2B);
    VK_SNAPSHOT ($2C) : Impression d'écran
    VK_INSERT ($2D) : Insérer
    VK_DELETE ($2E) : Supprimer
    VK_HELP ($2F) : Aide
    VK_NUMPAD0 ($60) : Touche pavé numérique 0
    VK_NUMPAD1 ($61) : Touche pavé numérique 1
    VK_NUMPAD2 ($62) : Touche pavé numérique 2
    VK_NUMPAD3 ($63) : Touche pavé numérique 3
    VK_NUMPAD4 ($64) : Touche pavé numérique 4
    VK_NUMPAD5 ($65) : Touche pavé numérique 5
    VK_NUMPAD6 ($66) : Touche pavé numérique 6
    VK_NUMPAD7 ($67) : Touche pavé numérique 7
    VK_NUMPAD8 ($68) : Touche pavé numérique 8
    VK_NUMPAD9 ($69) : Touche pavé numérique 9
    VK_MULTIPLY ($6A) : Touche pavé numérique *
    VK_ADD ($6B) : Touche pavé numérique + 
    VK_SEPARATOR ($6C) : Touche pavé numérique Entrée
    VK_SUBTRACT ($6D) : Touche pavé numérique -
    VK_DECIMAL ($6E) : Touche pavé numérique . (décimal)
    VK_DIVIDE ($6F) : Touche pavé numérique /
    VK_F1 ($70) : Touches de fonction F1
    VK_F2 ($71) : Touches de fonction F2
    VK_F3 ($72) : Touches de fonction F3
    VK_F4 ($73) : Touches de fonction F4
    VK_F5 ($74) : Touches de fonction F5
    VK_F6 ($75) : Touches de fonction F6
    VK_F7 ($76) : Touches de fonction F7
    VK_F8 ($77) : Touches de fonction F8
    VK_F9 ($78) : Touches de fonction F9
    VK_F10 ($79) : Touches de fonction F10
    VK_F11 ($7A) : Touches de fonction F11
    VK_F12 ($7B) : Touches de fonction F12
    VK_F13 ($7C) : Touches de fonction F13
    VK_F14 ($7D) : Touches de fonction F14
    VK_F15 ($7E) : Touches de fonction F15
    VK_F16 ($7F) : Touches de fonction F16
    VK_F17 ($80) : Touches de fonction F17
    VK_F18 ($81) : Touches de fonction F18
    VK_F19 ($82) : Touches de fonction F19
    VK_F20 ($83) : Touches de fonction F20
    VK_F21 ($84) : Touches de fonction F21
    VK_F22 ($85) : Touches de fonction F22
    VK_F23 ($86) : Touches de fonction F23
    VK_F24 ($87) : Touches de fonction F24
    VK_NUMLOCK ($90) : Verrouillage pavé numérique
    VK_SCROLL ($91) : Verrouillage scrolling
    VK_A à VK_Z sont équivalents à 'A' à 'Z'
    VK_0 à VK_9 sont équivalents à '0' à '9'
    




  17. Voir le texte qui est dans le clipboard

    function litclipboard:string;
    begin
      if (Clipboard.HasFormat(CF_TEXT))  then result:=Clipboard.astext;
    end;
    




  18. Mettre le focus sur le composant suivant

    SendMessage(Form1.Handle, WM_NEXTDLGCTL, 0, 0);
    
    pour mettre le focus sur un composant précis , utiliser la méthode SetFocus du composant :
    Button1.SetFocus;
    




  19. Changer la vitesse d'affichage du curseur texte

    Appeler la procédure windows suivante ( temps en milliseconde ) :
    
    SetCaretBlinkTime(250);
    




  20. Positionner le pointeur sourie

    Appeler la procédure windows suivante :
    
    SetCursorPos(100,100);
    




  21. Faire scroller un richedit

    Appeler la procédure windows suivante :
    
    sendmessage(richedit1.handle,WM_VScroll,SB_LINEDOWN,0);
    
    Pour faire scroller vers le haut , utiliser SB_LINEUP
    




  22. Lancer l'économiseur d'écran

    Appeler la procédure windows suivante :
      
    PostMessage(GetDesktopWindow, WM_SYSCOMMAND, SC_SCREENSAVE, 0);
    




  23. Cacher un programme de la barre de tache

    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      ShowWindow (Form1.Handle, SW_Hide);
      showwindow(Application.handle,Sw_hide);
    end;
    
    
    rajouter la ligne suivante pour cacher la Form
    
      Application.ShowMainForm:=False;
    
    




  24. Teste si le Caps Lock est actif

    
    function IsCapsLockOn : boolean;
    begin
      Result := 0 <> (GetKeyState(VK_CAPITAL) and $01);
    end;
    




  25. Faire un pause

    2 solution : la fonction sleep ( qui bloque le programme pendant x millisecondes )
      Sleep( 1000 );
    
    ou la procédure suivante qui traite les messages de la fenetre :
    procedure delay(t:integer); // t en secondes
      var NowTime : TDateTime;
    begin
     NowTime:=Now;
     repeat
      Application.ProcessMessages;
     until NowTime + t / (24 * 3600) < Now;
    end;
    




  26. Lancement de la fenetre de config de l'heure

    rajouter Shellapi dans la clause USES
    WinExec('rundll32.exe shell32.dll,Control_RunDLL timedate.cpl',SW_SHOWNORMAL);
    




  27. Lancement de la fenetre proprietes systeme

    rajouter Shellapi dans la clause USES
    WinExec('rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl',SW_SHOWNORMAL);
    




  28. Lancement de la fenetre proprietes de mots de passe

    rajouter Shellapi dans la clause USES
    WinExec('rundll32.exe shell32.dll,Control_RunDLL password.cpl',SW_SHOWNORMAL);
    




  29. Changer la résolution de l'écran sans rebooter

    // change la resolution en 640*480
    procedure changeres;
    var
      mode:TDeviceMode;
      i:integer;
    begin
      mode.dmSize := sizeof (MODE);
      mode.dmPelsWidth := 640;
      mode.dmPelsHeight := 480;
      mode.dmBitsPerPel := 16;
      mode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or DM_BITSPERPEL;
      i := ChangeDisplaySettings(mode, CDS_TEST);
      if i=DISP_CHANGE_SUCCESSFUL then ChangeDisplaySettings(mode, 0)
    end;
    




  30. Controler l'alimentation du moniteur

    Cette commande permet de mettre le moniteur en veille
    SendMessage(Application.Handle, WM_SYSCOMMAND,SC_MONITORPOWER,0)
    
    ou de le remettre en fonctionnement
    SendMessage(Application.Handle, WM_SYSCOMMAND,SC_MONITORPOWER,-1);
    




  31. Controler le tiroir du lecteur de CDROM

    rajouter mmsystem dans la clause USES

    Cette commande permet d'ouvrir le tiroir
    mciSendString('Set cdaudio door open wait', nil, 0, 0);
    
    ou de le fermer
    mciSendString('Set cdaudio door closed wait', nil, 0, 0);
    




  32. Connaitre la résolution de l'écran

    procedure TForm1.Button1Click(Sender: TObject);
    var
      hh:hdc;
      larg,haut:integer;
    begin
      hh:=getdc(GetDesktopWindow);
      larg:=getdevicecaps(hh,HORZRES);
      haut:=getdevicecaps(hh,VERTRES);
    end;
    




  33. Faire un copier/coller vertical dans l'éditeur de Delphi

    Au clavier , faire ALT+SHIFT+les touches de directions
    A la sourie , faire ALT+bouton gauche
    Pour revenir au copier coller standard , refaire un selection normale à la sourie
    




  34. Changer le papier peint de windows

     SystemParametersInfo(SPI_SETDESKWALLPAPER,0,PChar('C:\Div33.bmp'),SPIF_SENDWININICHANGE);
    




  35. Ecrire en diagonale sur le canvas de la form

    procedure TForm1.Button1Click(Sender: TObject);
    var
      LgFnt : TLogFont;
      Fnt   : TFont;
    begin
      Form1.Canvas.Font.Name := 'Arial';
      Form1.Canvas.Font.Size := 18;
      Fnt := TFont.Create;
      Fnt.Assign(Form1.Canvas.Font);
      GetObject(Fnt.Handle, sizeof(LgFnt), @LgFnt);
      LgFnt.lfEscapement := 180;
      LgFnt.lfOrientation := 180;
      Fnt.Handle := CreateFontIndirect(LgFnt);
      Form1.Canvas.Font.Assign(Fnt);
      Form1.Canvas.Font.color:=clNavy;
      Fnt.Free;
      Form1.Canvas.TextOut(30,60,'Super!');
    end;
    




  36. Effacer de façon simple un bitmap

    with bitmap.canvas do FillRect(ClipRect);
    




  37. Faire que son programme soit compatible avec le menu Pop-up 'Envoyer vers'

    La partie programmation : récupérer le nom du fichier
    var
      fichier:string
    begin
      if paramcount>0 then fichier:=ParamStr(1);
    end;
    
    La partie windows : mettre un raccourci pointant vers l'éxécutable dans le répèrtoire "C:\WINDOWS\SendTo"




  38. Gerer le port série

    La gestion du port série nécessite l'utilisation d'un composant : Comdrv32.zip
    Voici le parametrage pour une utilisation en 4800 bauds , 8 bits , pas de parité et 1 bit de stop :
    var
      connected:boolean;                              // true = port connecté
      b:byte;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      CommPortDriver1.ComPort := TComPortNumber(1);  //0=com1 1=com2
      CommPortDriver1.ComPortDataBits:=db8BITS;      // 8 bits ( 5 à 8 bits )
      CommPortDriver1.ComPortHwHandshaking := hhNone;
      CommPortDriver1.ComPortSwHandshaking := shNone;
      CommPortDriver1.ComPortParity:=ptNone;
      CommPortDriver1.ComPortSpeed :=TComPortBaudRate(5); // 5 pour 4800 Bds
    end;
    
    // bouton connecter
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      connected:=CommPortDriver1.Connected;
      if CommPortDriver1.Connect then begin
         StatusBar1.SimpleText := 'Connecté';
         end
      else // Error !
         begin
         StatusBar1.SimpleText := 'Erreur: Impossible de se connecter. ' +
                                 ' (erreur = ' + IntToStr(GetLastError) + ')';
         MessageBeep( 0 );
         end;
    end;
    
    // bouton deconnecter
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      StatusBar1.SimpleText := 'Déconnecté';
      CommPortDriver1.Disconnect;
    end;
    
    // envoyer un octet sur le port serie
    procedure TForm1.Button3Click(Sender: TObject);
    begin
      b:=5;                                          // octet à envoyer
      CommPortDriver1.SendData( @b, 1 );
    end;
    
    // procedure de reception des octets en provenance du port serie
    procedure TForm1.CommPortDriver1ReceiveData(Sender: TObject;  DataPtr: Pointer; DataSize: Integer);
    var p: ^byte;
        b:byte;
        s:string;
    begin
      p := DataPtr;
      while DataSize > 0 do begin
            b:=p^;
            s:=s+inttostr(b);
            dec(DataSize);
            inc(p);
      end;
    end;
    
    
    








Les exemples suivants sont compressés avec WinZip 7.0 que vous trouverez sur le Web ou dans n'importe quel CD-ROM de revue












  1. Exemple :Créer une fenêtre en forme d'étoile

    charger le programme (86ko)
    charger le source




  2. Exemple : txt to html

    petit programme permettant de lire un fichier .txt et de le sauvegarder avec l'extension .html en rajoutant l'extension de fin de ligne BR html
    charger le programme (102Ko)
    charger le source




  3. Exemple : Serializer

    petit programme permettant de renommer plusieurs fichiers en générant un nom fixe suivi d'un numéro
    ex : image1.jpeg image2.jpg image3.jpg
    nouvelle version avec nouvelle interface graphique et possiblité de rajouter une ou plusieurs lettres au nom original
    charger le programme (109Ko)
    charger le source




  4. Exemple : Potentiometre et vu-metre

    Exemple de réalisation d'un potentiometre ( bouton rotatif ) et d'un vu-metre
    charger le programme (98Ko)
    charger le source




  5. Exemple : retrouver la date de dernier acces a un fichier

    petit programme permettant de retrouver la dernière date à laquelle a été accédé un fichier
    charger le programme (91Ko)
    charger le source




  6. Exemple : extraction d'icones

    petit programme permettant d'extraire des icones contenues dans des dll , exe ...
    charger le programme (109Ko)
    charger le source




  7. Exemple : Sauvegarde des messages d'un groupe de News

    exemple de programme qui récupere les messages postés sur un newsgroup et les sauvegarde dans des fichiers textes.
    nécessite la rxtools et les composants internet de F.Piette pour etre recompilé.
    cette nouvelle version corrige un bug qui apparaissait lorsque le message n'était plus disponible sur le serveur
    charger le programme (194Ko)
    charger le source




  8. Exemple : Utilisation de l'avicap32.dll pour la gestion d'une carte d'acquisition vidéo

    exemple de programme qui permet de faire des enregistrement AVI ou d'images BMP a partir d'une carte d'acquisition vidéo.
    charger le programme (90Ko)
    charger le source




  9. Exemple : Convertion de caractères accentués de fichier HTML

    exemple de programme qui permet de convertir les caractères accentué d'un fichier HTML suivart les spécification de la norme HTML 3.2
    charger le programme (92Ko)
    charger le source




  10. Exemple : Capture de tous les textes passant par le clipbboard

    Ce programme permet de mémoriser ( et de sauvegarder ) tous les textes qui passent dans le clipboard ( quand on fait un copier )
    très utile quand on surf sur le web et que l'on veut récupérer quelques informations sans avoir à chaque fois à copier dans un bloc-note
    charger le programme (130Ko)
    charger le source




  11. Exemple : Un jeu de lumière sur votre clavier

    Ce programme permet de faire clignoter alternativement les 3 leds du clavier
    charger le programme (89Ko)
    charger le source




  12. Exemple : Connaitre le nombre d'octets transmis par le modem

    Ce programme permet de connaitre le nombre d'octets envoyés et reçus par le modem lors d'une connection internet
    ( ainsi que la vitesse de transmission du modem )
    charger le programme (87Ko)
    charger le source




  13. Exemple : Transferer tous les favoris dans un fichier HTML

    Ce programme permet de transferer tous les liens contenus dans les favoris de windows dans un fichier HTML
    charger le programme (108Ko)
    charger le source




  14. Exemple : Créer automatiquement une page html avec un tableau d'images

    Ce programme permet de créer automatiquement une page html avec un tableau d'images préselectionnées
    charger le programme (122Ko)
    charger le source




  15. Exemple : Programme d'aide pour trier des images JPG

    Ce programme permet de trier des images JPEG en affichant un préview de l'image et en la transférant , d'un simple click de souris , dans l'un des 12 répertoires présélectionnés.
    grab d'écran du programme
    charger le programme (233Ko)
    charger le source
    charger le composant JPEG (108Ko)




  16. Exemple : un éditeur de page web


    c'est ce programme que j'utilise pour mon site web
    charger le programme (192Ko)
    charger le source ( pas encore prêt )




  17. Exemple : contrôle du volume de la carte son


    un exemple de contrôle du volume de la carte son ( utile pour ceux qui , comme moi , ont une carte son sans contrôle du volume de l'entrée son )
    inclus un composant TVolumeControle
    charger le programme (89Ko)
    charger le source





  1. composant Tvidéo pour carte d'aquisition vidéo

    mon premier composant : un composant Tvidéo qui permet de visualiser l'image d'une carte d'aquisition vidéo
    Il permet la visualisation de l'image , avec sélection de la source , du format vidéo , du format de compression
    ainsi que l'enregistrement d'un séquence AVI ou d'une image BMP
    voir le fichier 'manuel.doc' pour les explications
    ce composant est , comme le reste de cette page , entièrement gratuit
    nota : la petite pub qui est sur le composant ne s'affiche qu'en mode conception ;-)
    charger le composant (8Ko)
    charger le programme source de démonstration
    charger le souce du composant



© 1999-2004 Philippe Brégea