![]() |
label aus record positionieren
Hallo,
bis jetzt hab ich ich mir meine objekte immer schön mit der maus in mein Form geklickt, bei records stoße ich mit dieser technik leider an meine grenzen. wie kann ich einem label sagen, dass es das zu einem record zugehörige ist.
Delphi-Quellcode:
'test1' und 'test2' werden aber nirgendwo angezeigt, da das label noch nicht positioniert wurde. den namen eines Labels in test1.lab umzunennen scheiterte leider auch.type Ttest = record name : string; Lab : TLabel; End; var test1, test2 :Ttest; [...] test1.Lab.Caption:='test1'; test2.Lab.Caption:='test2'; wie ist das beste vorgehen? vielen Dank, Martin |
Re: label aus record positionieren
Also du musst folgende Eigenschaften setzen:
Left,Top,Width und Height, dann sollte es gehen. |
Re: label aus record positionieren
sollte am zuerst nicht auch das Label erstellen
Delphi-Quellcode:
Oder irre ich mich da?
test1.lab:= Tlabel.create();
Grüße Klaus |
Re: label aus record positionieren
TLable ist ja nur eine Referenz (Zeiger) auf eine Label-Objekt. Dieses muß natürlich erst erzeugt werden.
Delphi-Quellcode:
test1.Lab := Tlable.Create( Form1);
test1.lab.Parent := Form1; test1.lab.Left := <x-Position>; |
Re: label aus record positionieren
@mkinzler
ah, vielen dank, ich denke daran hats gelegen, nun kann ich auch wieder lustig in meinem Formular (sofern es sich überhaupt formular nennt) rumklicken. anschließend das objekt zuordnen (Test1.Lab :=Label1) und dann wie gewollt über test1.lab.caption ect ansprechen. ist echt prima, dass hier meißt so prompte und kompetente hilfe kommt, vielen dank noch mal |
Re: label aus record positionieren
Was du da hast ist DEFINITIV kein Fall für einen Record.
Mache eine Klasse daraus. AnsiStrings in Records werden oft nicht freigegeben, außerdem ist das Arbeiten mit einem Record in dem sich Objekte befinden _ziemlich_ eklig. ;) Records, sollten IMHO nur als stumpfsinige Datencontainer benutzt werden wenn die Größe der Daten konstant ist (also keine strings, keine dyn. arrays und keine Objekte). Für alles andere finde ich Klassen angebrachter. |
Re: label aus record positionieren
Hi elvis.
dann sollte die folgende struktur Deiner Meinung wohl nach verboten ein:
Delphi-Quellcode:
kannst Du mir 'nen kurzes BSP geben, wie man klassen in delphi deklariert und wie man auf die komponenten zugreift? die prozeduren sensor_auslesen und sensordaten_speichern sollten dann wohl auch in die klasse mit rein. ein link zu 'ner guten erklärung wär sonst auch top, ich hab da irgendwie noch nicht das richtige gefunden...
type Tsensor = record nummer,
zeitpunkt, interval, wert : integer; filename : string; temprangeHigh : boolean; lab : Tlabel; button : TButton; edit : TEdit; ComboBox : TComboBox; End; |
Re: label aus record positionieren
Ich würde das in eine Formular-Klasse packen.
Am Besten nimmst du eine vorhandene Klasse egänzt deine Felder und implemetierst die Methode zum Create-Event.
Delphi-Quellcode:
type
TSensorForm = class( TForm) nummer, zeitpunkt, interval, wert : integer; filename : string; temprangeHigh : boolean; lab : Tlabel; button : TButton; edit : TEdit; ComboBox : TComboBox; End; procedure TSensorForm.FormCreate(Sender: TObject); begin lab := TLabel.Create( self); lab.Parent := self; ... end; |
Re: label aus record positionieren
Auf Luckies Seite findest du ein Anfängertutorial für OO-Programierung. ;)
btw: Ich weiß aber auch nicht was du da machst und warum du da mit lauter Controls um dich wirfst. Mir ist nur wieder die Zweckentfremdung von Records aufgefallen und wollte den Hinweis loswerden. ;) Schaue dir Luckies Tut an, vllt gibt dir ein wenig Hintergrund ganz andere Ansätze. :) |
Re: label aus record positionieren
ich komme eigentlich von c/c++, reiner gelegenheits konsolenprogrammierer.
nun will ich einen/mehrere sensor/en regelmäßig(minütlich bis stündlich) auslesen, und fand es dafür angenehmer, das mit delphi zu lösen, weil ich mir so meine oberfläche zusammenklicken kann und über 'nen timer recht simpel neben dem sensorauslesen auch benutzereingaben abfangen kann, wie z.B. abfrageinterval ändern. nachteil: ich muß mich in die syntax ein wenig reinfriemeln, krame dazu ganz unten in meinen schul-pascal kenntnissen und schau mir beispilcode an. Lesen ist ja meißt ein geringeres problem, als selbst erstellen... ich werd mich mal auf die suche nach Luckies Tutorial. Gruß Martin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 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