![]() |
Objekt übergeben
Hallo,
ich habe mehrere TTrackBar´s deren Event "OnChange" in der selben Procedure landet.
Delphi-Quellcode:
Wie bekomme ich das Object in myTrackBar, geht das überhaupt?
procedure Tfrm_Server.tb_ACh1Change(Sender: TObject); {insgesamt 8 Trackbars}
var myTrackBar: TTrackBar; begin ?????? ShowMessage(IntToStr(myTrackBar.Position)); end; Danke |
AW: Objekt übergeben
Guck dir mal den Parameter an, der übergeben wird ;)
|
AW: Objekt übergeben
ich bin leider in objecten überhaupt nicht fit.
übergeben wird ein objekt, aber wie bekomme ich das in ein Trackbar? |
AW: Objekt übergeben
Zitat:
Delphi-Quellcode:
oder für Paranoide etwas schöner:
procedure Tfrm_Server.tb_ACh1Change(Sender: TObject);
var myTrackBar: TTrackBar; begin myTrackBar := TTrackBar(Sender); ShowMessage(IntToStr(myTrackBar.Position)); end;
Delphi-Quellcode:
procedure Tfrm_Server.tb_ACh1Change(Sender: TObject);
var myTrackBar: TTrackBar; begin if Sender is TTrackbar then begin myTrackBar := TTrackBar(Sender); ShowMessage(IntToStr(myTrackBar.Position)); end; end; |
AW: Objekt übergeben
:bouncing4:
OK, ich geb zu, das hätte man wirklich hinbekommen können! |
AW: Objekt übergeben
Zitat:
Delphi-Quellcode:
Paranoid: (auf nummer sicher, und wenn was nicht stimmt, dann läßt man's knallen)
procedure Tfrm_Server.tb_ACh1Change(Sender: TObject);
begin if Sender is TTrackbar then ShowMessage(IntToStr(TTrackBar(Sender).Position)); end;
Delphi-Quellcode:
procedure Tfrm_Server.tb_ACh1Change(Sender: TObject);
begin ShowMessage(IntToStr((Sender as TTrackBar).Position)); end; |
AW: Objekt übergeben
OK, wird ja immer besser... :-D
Von den objektorientierten Grundzügen habe ich eine Vorstellung. Leider hapert es mit der Syntax und der detailirten Vorgehensweise. Letztendlich möchte ich eine Prozedur schreiben. Ich habe in einer Groupbox 8 Trackbars + labels ect. sowie ein globales array[1..8] für die Position der Trackbars. Nun möchte ich nicht jedem Trackbar.OnChange eine eigene Prozedur zuweisen die dann das entsprechende array füllt. Ich habe mir das "schematisch" so vorgestellt:
Delphi-Quellcode:
oder
procedure Tfrm_Server.TrackBarChange(Sender: TObject);
var TrackBar_Value: array[1..8] of integer; i as integer; begin i := 1; For TTrackBar(Sender) in Groupbox do begin TrackBar_Value[i] := IntToStr(TTrackBar(Sender).Position); end; end;
Delphi-Quellcode:
Könnte mir jemand bei der richtigen Syntax / Struktur behilflich sein?
procedure Tfrm_Server.TrackBarChange(Sender: TObject);
var TrackBar_Value: array[1..8] of integer; i,j as integer; begin i := 1; For j := 1 to Groupbox.objects.count {alle Objekte auch Label ect.} begin if Sender is TTrackbar then begin TrackBar_Value[i] := IntToStr(TTrackBar(Sender).Position); i := i+1; end; end; end; Macht das o.g. so überhaupt Sinn? Danke für eure Hilfe. |
AW: Objekt übergeben
Zitat:
|
AW: Objekt übergeben
Du kannst auch mit dem Tag property arbeiten, dann ist die Zuordnung sicher
Chuck |
AW: Objekt übergeben
Zitat:
Um mein Object-Verständnis zu vertiefen, wäre es für mich trotzdem von interesse zu wissen, ob meine "Objekt-Gedanken" richtig und machbar sind. Zitat:
Am meiseten würde es mir weiterhelfen, wenn ihr die von mir vorgeschlagenen Proceduren richtigstellen könntet bzw. mir meine Gedankenfehler aufzeigen könntet. Danke für die schnellen Antworten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 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 by Thomas Breitkreuz