Einzelnen Beitrag anzeigen

Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Digilabel Komponente mit coolem Effekt

  Alt 10. Okt 2006, 09:35
Du hast geschrieben

Delphi-Quellcode:
Procedure TDigilabel.setOffset;
Begin
  If Offset Mod 3 = 0 Then Begin
    fOffset := Offset;
    setcaption(caption);
  End;
End;
und in deiner Create Function wnderst du dich warum es nicht geht Offset = -9 zu machen.

Ich kann dir sagen wieso. Der Mod Befehl geht nur für Positibve Zahlen.

Delphi-Quellcode:
Procedure TDigilabel.setOffset;
var tmp:Integer;
Begin
  tmp:=abs(offset);
  If tmp Mod 3 = 0 Then Begin
    fOffset := Offset;
    setcaption(caption);
  End;
End;
wäre da schon besser.

Deine Kombo testen konnte ich aber nicht. Da ich sie nicht installieren wollte und folgender Code nicht aussreicht um sie auf dem Formular an zu zeigen.

Delphi-Quellcode:

Unit Unit1;

Interface

Uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Digilabel;

Type
  TForm1 = Class(TForm)
    Procedure FormCreate(Sender: TObject);
    Procedure FormClose(Sender: TObject; Var Action: TCloseAction);
  private
    { Private-Deklarationen }
    bla: TDigilabel;
  public
    { Public-Deklarationen }
  End;

Var
  Form1: TForm1;

Implementation

{$R *.DFM}

Procedure TForm1.FormCreate(Sender: TObject);
Begin
  bla := TDigilabel.create(self);
  bla.parent := Form1;
  bla.caption := 'Test';
  bla.Visible := true;
  bla.Left := 10;
  bla.Top := 10;

End;

Procedure TForm1.FormClose(Sender: TObject; Var Action: TCloseAction);
Begin
  bla.free;
End;

End.

[Edit]

Delphi-Quellcode:
Procedure TDigilabel.Muster(Farbe: TColor);
Var
  x, y: integer;
Begin
  For x := 0 To width Do
    If x Mod 3 = 0 Then
      For y := 0 To height Do
        If y Mod 3 = 0 Then Begin
          canvas.Pixels[x - 2, y + 1] := Farbe;
          canvas.Pixels[x - 1, y + 1] := Farbe;
          canvas.Pixels[x - 2, y + 2] := Farbe;
          canvas.Pixels[x - 1, y + 2] := Farbe;
        End;
mach das lieber mit Scanline Canvas.pixels ist etwas arg langsam.

Dito bei

Procedure TDigilabel.Digit(vonLinks: integer; vonOben: integer);
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat