Denne artikel er skrevet specielt til en person som hedder Ossi for han har spurgt mig længe hvordan man lavede komponenter så her er en lille kort artikel:
Jeg lærte at lave komponenter ved at kigge i andre komponenter som havde kilde teksten med (*.pas) så det kan jeg også stærkt anbefale jer.
Lige en anden ting: Jeg kan ikke forklare så meget hvad de forskellige "koder" betyder for det har jeg ikke lært endnu men jeg kan finde ud af at bruge dem.
At lave komponenter til Delphi er meget som når man laver programmer der er bare noget andet du skal holde styr på og det kan godt blive lidt drilsk.
Normalt når jeg starter på et nyt komponent gider jeg ikke begynde inde i Delphi for så skal man vælge anchor type eller sådan noget og det aner jeg ikke hvad er. Du skal oprette en fil som du kalder mitforstekomponent.pas og dette kan ikke noget jo en ting det kan skrive en boks når man bruger koden execute. Lad os begynde:
unit mitforstekomponent; { Dette skal passé med hvad du kaldte filen }
interface
uses WinTypes, WinProcs, SysUtils, Classes, Controls, dialogs; { Ligesom når du laver programmer }
type
Tmitforstekomponent = class(TComponent)
private
Ftext : String;
FTagName : String;
function GetTagName: String;
procedure SetTagName( Value: String );
protected
procedure Loaded; override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function Execute: Boolean; { Lige som når du laver programmer I Delphi skal
du skrive enten en function eller procedure }
published
property TagName: String read GetTagName write SetTagName;
property Text: string read FText write FText;
end;
procedure Register; { Register er den metode der får dit komponent registreret i Delphi }
implementation
procedure Register; { Her har vi register: }
begin
RegisterComponents('Standard', [Tmitforstekomponent]); { Du lægger dit komponent i Standard
og det komponent du ligger der er Tmitforstekomponent }
end;
function Tmitforstekomponent.GetTagName : String;
begin
Result := FTagName;
end;
procedure Tmitforstekomponent.SetTagName(Value : String);
begin
if FTagName <> Value then
FTagName := Value;
end;
constructor Tmitforstekomponent.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Text := 'My first component'; { Der kan stå hvad du vil ha der skal stå }
end;
destructor Tmitforstekomponent.Destroy;
begin
inherited Destroy;
end;
function Tmitforstekomponent.Execute : Boolean; { Execute er altid en boolean }
begin
showmessage(Text);
end;
procedure Tmitforstekomponent.Loaded; { Jeg ved ikke om Destroy og loaded behøver at
være der men du kan prove at fjerne dem! }
begin
inherited Loaded;
end;
end.
Jeg prøvede at forklare så godt undervejs i koden hvorfor og hvordan.
Nu kan du vente til næste artikel hvis du vil lære mere! Imens kan du finde komponenter på nettet der har kilde teksten med så kan du kigge i dem!.
Lige en ting til:
Hvis du vil lave et ikon til dit komponent skal du gå ind i image editor som følger med Delphi og gøre flg. ting:
Klik på File -> New -> Component Reosource File (.dcr)
Højre klik nu på Contents -> New -> Bitmap og det normale højde og bredde er 24x24 og du kalder dit nye bitmap (i dette tilfælde) TMITFORSTEKOMPONENT