logo
  Delphi
  TER
  Linux
  Liens
  L'auteur
Delphi







Hit-Parade


Delphi > Liste d'astuces (1-10)


  1. Comment obtenir la representation (string) d'un code d'erreur
  2. Comment utiliser la boite de dialogue de recherche d'un fichier
  3. Comment effacer une console windows
  4. Comment écrire de deux couleurs différentes dans une barre d'état
  5. Comment détruire un répertoire ainsi que tous les fichiers qu'il contient
  6. Comment obtenir le numéro de série d'un cd audio
  7. Comment utiliser un curseur animé
  8. Comment connaitre la liste des polices installées
  9. Comment determiner la taille de la barre des taches
  10. Comment rafraichir le bureau de Windows
  11. Comment afficher l'icone associée a un type de fichier
  12. Comment utiliser Microsoft Help Workshop
  13. Comment détecter qu'un utilisateur appuie sur une touche du clavier
  14. Comment lancer une application et attendre qu'elle se termine
  15. Comment associer une extension de fichier avec une application Delphi
  16. Comment connaitre le répertoire temporaire ou le répertoire courant
  17. Comment utiliser la corbeille
  18. Comment savoir si la touche Caps Lock est active
  19. Comment afficher l'aide d'une barre d'outils dans une barre de statut
  20. Comment modifier le pointeur de la souris
  21. Comment laisser la main a windows pendant une certaine durée
  22. Comment connaitre la résolution de l'écran
  23. Comment determiner la liste des applications en cours
  24. Comment vérifier si une disquette se trouve dans le lecteur
  25. Comment regler le volume du son d'un composant TMediaplayer
  26. Comment personnalisé l'image d'un composant
  27. Comment glisser des fichiers
  28. Comment creer un Bouton dynamiquement
  29. Comment mettre un papier peint dans une fiche
  30. Comment réaliser des boutons ayant une forme ovale
  31. Comment utiliser une image jpeg avec delphi
  32. Comment optenir la version du systeme d'exploitation
  33. Comment installer un nouveau composant
  34. Comment modifier le menu systeme d'une fiche
  35. Comment obliger l'utilisateur a ne saisir que des chiffres dans un composant Tedit
  36. Comment réaliser une application console
  37. Comment limiter la taille du code d'une application
  38. Comment afficher l'état de progression de compilation comme avec C++ Builder
  39. Comment afficher un écran de démarrage
  40. Comment utiliser un composant Tmediaplayer avec 2 lecteurs de CD
  41. Comment afficher un fichier AVI sur une fiche
  42. Comment jouer un son windows
  43. Comment accéder a la base de registre
  44. Comment jouer un son situé dans une ressource
  45. Comment créer un raccourci
  46. Comment exécuter un fichier
  47. Comment exécuter un programme lors de l'insertion d'un CD dans un lecteur
  48. Comment recueillir des informations sur un CD-audio
  49. Comment arrêter ou relancer windows
  50. Comment inhiber les exceptions définies par le programmeur
  51. Comment cacher la fenêtre principale d'une application
  52. Comment sélectionner un répertoire avec une boîte de dialogue style Win 95
  53. Comment réaliser une barre d'outils mobile (style Adobe Photoshop)


Comment obtenir la representation (string) d'un code d'erreur

procedure Tform1.Button1Click(Sender: Tobject);
begin
  {Cause a Windows system error message to be logged}
  ShowMessage(InttoStr(lStrLen( nil )));
  ShowMessage(SysErrorMessage(GetLastError));
end ;

Retour à la liste des trucs et Astuces



Comment utiliser la boite de dialogue de recherche d'un fichier

procedure Tform1.Button1Click(Sender: Tobject);
begin
   with TDDEClientConv.Create(Self) do
   begin
    ConnectMode := ddeManual;
    ServiceApplication := 'explorer.exe';
    SetLink( 'Folders', 'AppProperties');
    OpenLink;
    ExecuteMacro('[FindFolder(, C:windows)]', False);
    CloseLink;
    Free;
  end ;
end ;

Retour à la liste des trucs et Astuces



Comment effacer une console windows

program Project1;
{$APPTYPE CONSOLE}
uses
Windows;
{$R *.RES}
   var
    sbi : TConsoleScreenBufferInfo;
    i : integer;
begin
  Writeln('Une application console ');
  Writeln('Appyuer sur la touche entrée pour effacer l'écran');
  GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),sbi);
  Readln;
  GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),sbi);
   for i := 0 to sbi.dwSize.y do
    writeln;
  Writeln('Press Enter to end');
  Readln;
end .

Retour à la liste des trucs et Astuces



Comment écrire de deux couleurs différentes dans une barre d'état

procedure Tform1.StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
begin
   if Panel = StatusBar.Panels[0] then begin
    StatusBar.Canvas.Font.Color := clRed;
    StatusBar.Canvas.Textout(Rect.Left, Rect.top, 'Panel - 0')
   end else begin
    StatusBar.Canvas.Font.Color := clGreen;
    StatusBar.Canvas.Textout(Rect.Left, Rect.top, 'Panel - 1');
   end ;
end ;

Retour à la liste des trucs et Astuces



Comment détruire un répertoire ainsi que tous les fichiers qu'il contient

procedure Tform1.Button1Click(Sender: Tobject);
   var
    DirInfo: TSearchRec;
    r : Integer;
begin
   r := FindFirst('C:repertoire*.*', FaAnyfile, DirInfo);
   while r = 0 do begin
     if ((DirInfo.Attr and FaDirectory <> FaDirectory) and
      (DirInfo.Attr and FaVolumeId <> FaVolumeID)) then
     if DeleteFile(pChar('C:repertoire' + DirInfo.Name))= false then
    ShowMessage('Impossible de détruire : C:repertoire' + DirInfo.Name);
    r := FindNext(DirInfo);
   end ;
  SysUtils.FindClose(DirInfo);
   if RemoveDirectory('C:repertoire') = false then
  ShowMessage('Impossible de détruire le répertoire : C:repertoire');
end ;

Retour à la liste des trucs et Astuces



Comment obtenir le numéro de série d'un cd audio

uses MMSystem, MPlayer;

procedure Tform1.Button1Click(Sender: Tobject);
   var
     mp : TMediaPlayer;
     msp : TMCI_INFO_PARMS;
     MediaString : array[0..255] of char;
     ret : longint;
begin
  mp := TMediaPlayer.Create( nil );
  mp.Visible := false;
  mp.Parent := Application.Mainform;
  mp.Shareable := true;
  mp.DeviceType := dtCDAudio;
  mp.FileName := 'D:';
  mp.Open;
  Application.ProcessMessages;
  FillChar(MediaString, sizeof(MediaString), #0);
  FillChar(msp, sizeof(msp), #0);
  msp.lpstrReturn := @MediaString;
  msp.dwRetSize := 255;
  ret := mciSendCommand(Mp.DeviceId,
  MCI_INFO,
  MCI_INFO_MEDIA_IDENTITY,
  longint(@msp));
   if Ret <> 0 then begin
  MciGetErrorString(ret, @MediaString, sizeof(MediaString));
  Memo1.Lines.Add(StrPas(MediaString));
   end else
  Memo1.Lines.Add(StrPas(MediaString));
  mp.Close;
  Application.ProcessMessages;
  mp.free;
end ;
end .

Retour à la liste des trucs et Astuces



Comment utiliser un curseur animé

procedure Tform1.Button1Click(Sender: Tobject);
   var
    h : THandle;
begin
  h := LoadImage(0,'fichier animation',IMAGE_CURSOR,0,0,
    LR_DEFAULTSIZE or LR_LOADFROMFILE);
   if h = 0 then ShowMessage('echec a l'ouverture du curseur') else begin
  Screen.Cursors[1] := h;
  form1.Cursor := 1;
   end ;
end ;

Retour à la liste des trucs et Astuces



Comment connaitre la liste des polices installées

uses Printers;

function EnumFontFamilyProc( var lf : TLogFont;var tm : TNewTextMetric;
    FontType : integer; var Memo : TMemo) : integer
{$if DEFWIN32} stdcall; {$else } ; export; {$endif}
begin
  Memo.Lines.Add(StrPas(@lf.lfFaceName) +
  #32 + InttoStr(lf.lfHeight));
  result := 1;
end ;

function EnumFontFamiliesProc( var lf : TLogFont; var tm : TNewTextMetric;
      FontType : integer; var Memo : TMemo) : integer
{$ if DEF WIN32} stdcall; {$ else } ; export; {$ end if }
begin
   if FontType = TRUETYPE_FONTTYPE then begin
    Memo.Lines.Add(StrPas(@lf.lfFaceName) + #32 + 'All Sizes');
   end else
    EnumFontFamilies(Printer.Handle,
  @lf.lfFaceName,
  @EnumFontFamilyProc,
  LongInt(@Memo));
  result := 1;
end ;

procedure Tform1.Button1Click(Sender: Tobject);
   var
    tm : TTextMetric;
    i : integer;
begin
   if PrintDialog1.Execute then begin
    EnumFontFamilies(Printer.Handle, nil ,
    @EnumFontFamiliesProc,LongInt(@Memo1));
   end ;
end ;

Retour à la liste des trucs et Astuces



Comment determiner la taille de la barre des taches

procedure Tform1.Button1Click(Sender: Tobject);
   var
    r : TRect;
begin
  SystemParametersInfo(SPI_GETWORKAREA,0,@r,0);
  Memo1.Lines.Add(InttopStr(r.top));
  Memo1.Lines.Add(InttoStr(r.Left));
  Memo1.Lines.Add(InttoStr(r.Bottom));
  Memo1.Lines.Add(InttoStr(r.Right));
end ;

Retour à la liste des trucs et Astuces



Comment rafraichir le bureau de Windows

procedure Tform1.Button1Click(Sender: Tobject);
begin
  SendMessage(FindWindow('Progman', 'Program Manager'),WM_COMMAND,$A065,0);
end ;

Retour à la liste des trucs et Astuces



Patrice Eon © Copyright 2000 Tous droits réservés - optimisé en 1024X728 - 65000 couleurs