Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TGauge in Turbo Delphi? (https://www.delphipraxis.net/76706-tgauge-turbo-delphi.html)

Matze 8. Sep 2006 18:05

Re: TGauge in Turbo Delphi?
 
SynEdit :shock:

Ich teste das mal, danke. :)

Die Muhkuh 8. Sep 2006 18:15

Re: TGauge in Turbo Delphi?
 
Ich sehs schon kommen. In ein paar Stunden kommen die Fragen, warum das Package nicht mehr geht, weil da Jedi, SynEdit und hassu nich gesehen drin ist. :mrgreen:

Balu der Bär 8. Sep 2006 18:18

Re: TGauge in Turbo Delphi?
 
Zitat:

Zitat von Spider
Ich sehs schon kommen. In ein paar Stunden kommen die Fragen, warum das Package nicht mehr geht, weil da Jedi, SynEdit und hassu nich gesehen drin ist. :mrgreen:

Ich krieg gar nichts da rein. :-( :mrgreen:

Balu der Bär 8. Sep 2006 18:42

Re: TGauge in Turbo Delphi?
 
So ich habe es jetzt geschafft:

Problem war das in der Unit Gauges.pas keine Register-Methode vorhanden war!
Also öffnet die Gauges.pas, fügt nach allen Prozedurdeklarationen procedure Register; ein, unter uses consts fügt ihr
Delphi-Quellcode:
procedure Register;
begin
 RegisterComponents('Samples', [TGauge]);
end;
ein.

Das ganze sollte dann in etwas so aussehen (nur der Anfang der Unit):
Delphi-Quellcode:
unit Gauges;

interface

uses SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms, StdCtrls;

type

  TGaugeKind = (gkText, gkHorizontalBar, gkVerticalBar, gkPie, gkNeedle);

  TGauge = class(TGraphicControl)
  private
    FMinValue: Longint;
    FMaxValue: Longint;
    FCurValue: Longint;
    FKind: TGaugeKind;
    FShowText: Boolean;
    FBorderStyle: TBorderStyle;
    FForeColor: TColor;
    FBackColor: TColor;
    procedure PaintBackground(AnImage: TBitmap);
    procedure PaintAsText(AnImage: TBitmap; PaintRect: TRect);
    procedure PaintAsNothing(AnImage: TBitmap; PaintRect: TRect);
    procedure PaintAsBar(AnImage: TBitmap; PaintRect: TRect);
    procedure PaintAsPie(AnImage: TBitmap; PaintRect: TRect);
    procedure PaintAsNeedle(AnImage: TBitmap; PaintRect: TRect);
    procedure SetGaugeKind(Value: TGaugeKind);
    procedure SetShowText(Value: Boolean);
    procedure SetBorderStyle(Value: TBorderStyle);
    procedure SetForeColor(Value: TColor);
    procedure SetBackColor(Value: TColor);
    procedure SetMinValue(Value: Longint);
    procedure SetMaxValue(Value: Longint);
    procedure SetProgress(Value: Longint);
    function GetPercentDone: Longint;
  protected
    procedure Paint; override;
  public
    constructor Create(AOwner: TComponent); override;
    procedure AddProgress(Value: Longint);
    property PercentDone: Longint read GetPercentDone;
  published
    property Align;
    property Anchors;
    property BackColor: TColor read FBackColor write SetBackColor default clWhite;
    property BorderStyle: TBorderStyle read FBorderStyle write SetBorderStyle default bsSingle;
    property Color;
    property Constraints;
    property Enabled;
    property ForeColor: TColor read FForeColor write SetForeColor default clBlack;
    property Font;
    property Kind: TGaugeKind read FKind write SetGaugeKind default gkHorizontalBar;
    property MinValue: Longint read FMinValue write SetMinValue default 0;
    property MaxValue: Longint read FMaxValue write SetMaxValue default 100;
    property ParentColor;
    property ParentFont;
    property ParentShowHint;
    property PopupMenu;
    property Progress: Longint read FCurValue write SetProgress;
    property ShowHint;
    property ShowText: Boolean read FShowText write SetShowText default True;
    property Visible;
  end;

procedure Register; //Neu hinzufügen!

implementation

uses Consts;

//Neu hinzufügen!
procedure Register;
begin
 RegisterComponents('Samples', [TGauge]);
end;

type
  TBltBitmap = class(TBitmap)
    procedure MakeLike(ATemplate: TBitmap);
  end;

{ TBltBitmap }

procedure TBltBitmap.MakeLike(ATemplate: TBitmap);
begin
  Width := ATemplate.Width;
  Height := ATemplate.Height;
  Canvas.Brush.Color := clWindowFrame;
  Canvas.Brush.Style := bsSolid;
  Canvas.FillRect(Rect(0, 0, Width, Height));
end;
Dann die Unit Gauges.pas abspeichern, der dclusr.dpk hinzufügen und das Package neu kompilieren bzw. installieren. Funktioniert einwandfrei.

Elvis 8. Sep 2006 19:04

Re: TGauge in Turbo Delphi?
 
Zitat:

Zitat von Balu der Bär
So ich habe es jetzt geschafft:
Problem war das in der Unit Gauges.pas keine Register-Methode vorhanden war!

*Blitzmerkerliste vorzück* :mrgreen:
Ich will jetzt auch gar nicht darauf hinweisen wie offensichtlich das war.... :angle2:

Balu der Bär 8. Sep 2006 19:04

Re: TGauge in Turbo Delphi?
 
Jaja, muss man erstmal drauf kommen sich auch mal die Unit anzugucken. :mrgreen:

crocodilechris 20. Sep 2006 15:27

Re: TGauge in Turbo Delphi?
 
Zitat:

Zitat von Elvis
Öffne die dclusr.dpk und wirf es da rein. Kompiliere das Package und drücke auf Install.
Flupp -> drin! :mrgreen:

Geht aber nur bei dem einen Package!

Hallo,
was genau muss ich in die dclusr.dpk reinschreiben, um, in meinem Fall, Spin.pas "reinzuwerfen"?
Welche Compiler-Direktive muss ich wie verwenden?

Elvis 20. Sep 2006 15:32

Re: TGauge in Turbo Delphi?
 
Zitat:

Zitat von crocodilechris
Hallo,
was genau muss ich in die dclusr.dpk reinschreiben, um, in meinem Fall, Spin.pas "reinzuwerfen"?
Welche Compiler-Direktive muss ich wie verwenden?

Hallo Krokofant :hi:
Wenn du eine neuere Version der Turbos von Borland gezogen hast wird der Trick nicht mehr gehen, genauso nach dem Installieren der Hotfixes.
Balu weiß hier vllt mehr.

Wenn du eine Version hast, bei der der Trick noch geht: Einfach eine Unit in das Package packen, dass die Komponenten registriert.
Ehrlich gesagt erkläre ich nur ungern wie das geht, da ich es nicht gut finde wenn man ein "Programm" mit X Zusatzkomponenten zusammenklickt, aber nichtmal weiß wie man Komponenten registriert. OK, ungern ist untertrieben: Ich erkläre das nicht.

Balu der Bär 20. Sep 2006 15:39

Re: TGauge in Turbo Delphi?
 
Zitat:

Zitat von Elvis
Balu weiß hier vllt mehr.

Ich habe keine Lust mehr es auszuprobieren, selbst mit der neuen Version geht es vielleicht aber auch so einfach wie mit dem Problem bei den Hotfixes. Es gibt für alles eine Lösung. :mrgreen:

http://www.delphipraxis.net/internal...=613293#613293

crocodilechris 20. Sep 2006 15:53

Re: TGauge in Turbo Delphi?
 
okay reinschmeißen = in der Projektverwaltung hinzufügen.

und die benötigte dclusr.res hab ich leider nich, von D2005PE nimmt er sie nich an.
Funzt das evtl mit einer dclusr.res von euch, bzw. kann einer die hier anhängen, damit ich mir die runterziehen und das ausprobieren kann?


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz