Les Snippets

Connexion

Stocker autre chose qu'un Integer dans le tag d'un composant

Niveau requis pour utiliser/comprendre cette source : 2 ( Initié )
Créé le 22/08/2007 14:33:08 et initié par Caribensila [Liste]
Vue : 1973
Catégorie(s) : Trucs & Astuces
Langages dispo pour ce code :
- Delphi 5
- Delphi 5
- Voir tous les langages pour ce code snippet



Langage : Delphi 5
Date ajout : 26/08/2007
Posté par f0xi [Liste]
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TEdit = class(StdCtrls.TEdit)
  private
    fDataTag : pointer;
    procedure SetDataTag(value : pointer);
  public
    destructor Destroy; override;
    property DataTag : pointer read fDataTag write SetDataTag default nil;
  end;

  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    procedure FormCreate(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
{ TEdit }
destructor TEdit.Destroy;
begin
  SetDataTag(Nil);
  inherited Destroy;
end;
procedure TEdit.SetDataTag(value: pointer);
begin
  if fDataTag <> Value then
  begin
    if fDataTag <> nil then
       Dispose(fDataTag);
    fDataTag := Value;
  end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var ptr : ^Single;
begin
  New(ptr);
  ptr^ := Pi;
  Edit1.DataTag := ptr;
  New(ptr);
  ptr^ := 180/Pi;
  Edit2.DataTag := ptr;
  Edit1.Text := Format('%.4f',[ Single(Edit1.DataTag^) ]);
  Edit2.Text := Format('%.4f',[ Single(Edit2.DataTag^) ]);
end;
end.

Remarque :
Petite variante :) verifier tout de meme le MemoryLeak.

Snippets en rapport avec : Pointeur, Tag, Pointer



Codes sources en rapport avec : Pointeur, Tag, Pointer

{Delphi} TLIST POUR STOCKER DES INTEGERS
C'est un petit code sans prétention pour les débutants. TList ne stocke que des pointeurs. Mais P...

{Visual Basic, VB6, VB.NET, VB 2005} FILE RENAME - CHANGER LES NOMS DE VOS FICHIERS EN TOUTE SIMPLICITÉ
Ce programme sert à modifier vos fichiers rapidement et simplement. Il présente plusieurs fonctio...

{C / C++ / C++.NET} CACHER LES CURSEURS SYSTÈME (WIN32 API)
Suite à une question du forum, voici un code source montrant comment cacher les curseurs système de ...

{Flash} POINTEUR PERSO AS3
creer son pointeur perso, simple et efficace quoi de plus sympa que d'avoir son pointeur perso,le...

{C / C++ / C++.NET} CORRECTEUR DE PONCTUATION
Mon petit programme corrige les fautes de ponctuation telleque un espace avent un poin, la virgule, ...

{Python} GESTIONNAIRE DE FICHIERS MUSICAUX
Quand vous extraiiez de la musique depuis un CD, il est courant que votre lecteur appel vos fichiers...

{PHP} FONCTIONS DE BASE POUR GÉNÉRER DU XML EN PHP
J'avais besoin d'extraire beaucoup de données d'une base et de générer un flux xml en retour (pratiq...

{Visual Basic, VB6, VB.NET, VB 2005} CAPTURER L'ÉCRAN SANS UTILISER LE PRESSE-PAPIER, EN GARDANT LE POINTEUR DE LA SOURIS
Après avoir souvent fait appel aux ressources de ce site pour le développement de mon logiciel Captu...

{C / C++ / C++.NET} GENERATION DE L'EXPRESSION REGULIERE (REGEXP) POUR MANGER JUSQU'A UNE CHAINE
Bon je sais pas vous mais moi ça me gonfle de devoir écrire l'expression reguliere qui signifie : "m...

{Visual Basic, VB6, VB.NET, VB 2005} INCLURE POCHETTE D'ALBUM / JAQUETTE DANS VOS TAG MP3 - EDITION TAG V2
Bonjour, Cette application, en quelques mots, permet de retaguer vos fichiers Mp3 ou un dossier d'a...