![]() |
Label1.Caption := Label1.Beschreibung ?
Ich habe eine Frage :
Wäre es möglich Delphi zu sagen, das Caption := Beschreibung Picture := Bild Width := Breite usw ... ich habe mal einen Beispiel Code wie es aussehen soll :
Code:
Das Programm ergibt zwar keinen Sinn aber ich denke ihr wisst jetzt was ich meine !
ProzedurTForm1.Button1Klick(Sender: TObjekt);
Variablen Zahl1 := Zahl; Zahl2 := Zahl; Anfang wenn Textfeld1.Text := '5' dann anfang ZeigeNachricht('Das ist eine 5'); Form1.Beschreibung := '5'; Ende; wenn Textfeld1.Text := '2+5' dann anfang Textfeld1.Text := Zahl1 + Zahl2; ende; Ende; Ende. |
Re: Label1.Caption := Label1.Beschreibung ?
Zitat:
a) nicht laufen weil zu viele Fehler drinnen sind b) Habe ich überhaupt nicht verstanden was Du möchtest? |
Re: Label1.Caption := Label1.Beschreibung ?
Ja, gibt es.
Du leitest z.B. das Label ab, und erzeugst zu den alten Propertys einfach neue, die auf die alten zugreifen. Such mal nach dem OOP - Tutorial von Luckie hier im Forum. Da sollte drinstehen, wie das mit der Vererbung den Property-accessors funzt. Nur so als beispierl:
Delphi-Quellcode:
class TGermanLabel = Class(TLabel)
published property Beschreibung read Caption write Caption; property Breite read Width write Width; end; |
Re: Label1.Caption := Label1.Beschreibung ?
Ich glaube er meint er hätte gerne Delphi auf Deutsch mit Ende statt END usw..
Aber wie das gehen soll weis ich net. Gruß IceNX |
Re: Label1.Caption := Label1.Beschreibung ?
ja er meint das man statt Label1.Caption Label1.Beschreibung eingibt :roll: hmm... Eigene Properties und damit verweise ich auf das hier
![]() |
Re: Label1.Caption := Label1.Beschreibung ?
Zitat:
Genau ! Ich werde mir mal Luckies allgemeine Erklärung anschauen. Danke für eure hilfe ! |
Re: Label1.Caption := Label1.Beschreibung ?
@ Phönix : Bei deinem Beispiel kommen bei mir folgende Fehlermeldungen :
Eigenschaft Beschreibung existiert nicht in der Basisklasse Feld oder Methodenbezeichner erwartet Feld oder Methodenbezeichner erwartet hier meine Unit :
Code:
unit Anzeige;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TAnzeige = class(TLabel) private { Private-Deklarationen } protected { Protected-Deklarationen } public { Public-Deklarationen } published { Published-Deklarationen } property Beschreibung read Caption write Caption; property Breite read Width write Width; end; procedure Register; implementation procedure Register; begin RegisterComponents('Deutsch', [TAnzeige]); end; end. |
Re: Label1.Caption := Label1.Beschreibung ?
War ja auch nur ein Beispiel ;-)
Delphi-Quellcode:
Das dürfte eher passen. Mit den published Properties habe ich mich bisher weniger beschäftigt. Vielleicht liest Du dazu auch nochmal in der Onlinehilfe nach.
unit Anzeige;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TAnzeige = class(TLabel) private { Private-Deklarationen } protected { Protected-Deklarationen } public { Public-Deklarationen } property Beschreibung read Caption write Caption; property Breite read Width write Width; published { Published-Deklarationen } property Beschreibung; property Breite; end; procedure Register; implementation procedure Register; begin RegisterComponents('Deutsch', [TAnzeige]); end; end. |
Re: Label1.Caption := Label1.Beschreibung ?
Funktioniert nicht :(
|
Re: Label1.Caption := Label1.Beschreibung ?
Müssen wir jetzt die Fehlermeldung aus dir rauskitzeln oder teilst du sie uns freiwillig mit?
|
Re: Label1.Caption := Label1.Beschreibung ?
gleichen wie oben :
Eigenschaft Beschreibung existiert nicht in der Basisklasse Feld oder Methodenbezeichner erwartet Feld oder Methodenbezeichner erwartet bei dieser Unit :
Code:
unit Anzeige;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TAnzeige = class(TLabel) private { Private-Deklarationen } protected { Protected-Deklarationen } public { Public-Deklarationen } property Beschreibung read Caption write Caption; property Breite read Width write Width; published { Published-Deklarationen } property Beschreibung; property Breite; end; procedure Register; implementation procedure Register; begin RegisterComponents('Deutsch', [TAnzeige]); end; end. |
Re: Label1.Caption := Label1.Beschreibung ?
ich hoffe es ist nur ein akademisches beispiel oder willst du die ganze vcl eindeutschen?
dein Code kann aber nicht funktionieren, da weder die properties deklariert sind, noch die setter und getter methoden. so waere es richtig:
Delphi-Quellcode:
Jetzt hast du aber das nachste Problem da im OI jetzt beides steht
unit Anzeige;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TAnzeige = class(TLabel) private { Private-Deklarationen } FBeschreibung: string; FBreite: integer; procedure SetBeschreibung(const Value: string); function GetBeschreibung: string; protected { Protected-Deklarationen } public { Public-Deklarationen } published { Published-Deklarationen } property Beschreibung: string read GetBeschreibung write SetBeschreibung; //... end; procedure Register; implementation procedure Register; begin RegisterComponents('Deutsch', [TAnzeige]); end; { TAnzeige } function TAnzeige.GetBeschreibung: string; begin result := caption; end; procedure TAnzeige.SetBeschreibung(const Value: string); begin if caption <> value then caption := value; end; end. "Beschreibung" und "caption" und caption willst du bestimmt verdecken. Also muesstest du schon von TCustomLabel ableiten. ... a never ending story |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz