AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dynamisch Variablenname erzeugen

Ein Thema von blackmice · begonnen am 5. Nov 2007 · letzter Beitrag vom 5. Nov 2007
 
blackmice

Registriert seit: 24. Okt 2007
Ort: Niederkrüchten
28 Beiträge
 
Delphi 5 Standard
 
#1

Dynamisch Variablenname erzeugen

  Alt 5. Nov 2007, 10:18
Wahrscheinlich wurde auch diese Frage schon zu Tode diskutiert, aber ich habe keine Einträge gefunden (Wahrscheinlich suche ich bloß falsch)

Also ich habe 6 Trackbars, die beim Verschieben eigentlich alle das gleiche tun sollen, nur mit verschiedenen Variablen.
Gibt es eine Möglichkeit (Statt 6 verschiedene Routinen zu schreiben) eine Routine zu schreiben und anhand des Aufrufenden Trackbars bestimmte Variablen zu ändern?

Also hier das Beispiel

Code:
 
iHVHigh      : Integer = 0;
iHvLow       : Integer = 0;
iThrMinHigh  : Integer = 2;
iThrMinLow   : Integer = 0;
iThrMaxHigh  : Integer = 127;
iThrMaxLow   : Integer = 0;
iLedMinHigh  : Integer = 0;
iLedMinLow   : Integer = 0;
iLedMaxHigh  : Integer = 0;
iLedMaxLow   : Integer = 0;
Aktuelle sieht es so aus:

Code:
procedure TForm1.THRMinBarChange(Sender: TObject);
var cThrMin : String;
begin
  cThrMin := IntToHex(ThrMinBar.Position,4);
  iThrMinLow := StrToInt('$' + copy(cThrMin,3,2));
  iThrMinHigh := StrToInt('$' + copy(cThrMin,0,2));
  ThrMinEdt.Text := IntToStr(round(500*ThrMinBar.Position*2.5/4096));
  Form1.RS232Panel.Caption := BuildCaption;
  bRS232Changed := True;
end;

...

procedure TForm1.HVBarChange(Sender: TObject);
var cHV : String;

begin
  cHV := IntToHex(HVBar.Position,4);
  iHVLow := StrToInt('$' + copy(cHV,3,2));
  iHVHigh := StrToInt('$' + copy(cHV,0,2));
  HVEdt.Text := IntToStr(round(500*HVBar.Position*2.5/4096));
  Form1.RS232Panel.Caption := BuildCaption;
  bRS232Changed := True;
end;
Wie man sieht ändern sich nur die Variablennamen.
Wenn ich also mit folgendem Sourcecode den Namen rausbekomme

Code:
 
test := (sender as TTrackbar).Name;
name := Copy(test,0,Pos('Bar',test)-1);
kann ich dann mit name := 'HV'
irgendwie auf die Variablen
iHVLow
iHVHigh
zugreifen?

müsste dann ergo für name := 'THRMax'
irgendwie auf die Variablen
iTHRMaxLow
iTHRMaxHigh

Die Variablennamen setzen sich immer aus i + Name des Trackbar + Low oder + High zusammen

Ich hoffe ich habe mich halbwegs verständlich ausgedrückt. Bin noch nicht so lange dabei.

Danke
Blackmice
Blackmice
Debuggers don't remove bugs, they only show them in slow-motion.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:21 Uhr.
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