Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variable wie zusammensetzen? (https://www.delphipraxis.net/125871-variable-wie-zusammensetzen.html)

htxmlx 13. Dez 2008 17:31


Variable wie zusammensetzen?
 
Hallo, ich suche eine Art Befehl der mir folgendes möglich macht...
Ich habe oben in den Variabeln mehrere Boolean-Variabeln angegeben. s4, s5, s6 .. s23, s24
nun will ich diese mittels abfrage auf false oder true setzen.
Es wird überprüft ob eins der shapes 4 bis 24 auf das shape 28 (k) passt, k increased sich nach der abfrage und dann würde auch wieder die abfrage mit for i ... folgen nur dass ka dann 29 wäre, solange bis k 45 ist, dann wird der timer wieder resetet und geht von vorne los.
Meine Frage nun ist ob es möglich ist das ich die Variabeln s4, s5 usw. irgendwie aus i zusammensetzen kann, ich habs unten schonmal versucht, nur dsa ging nicht...

Delphi-Quellcode:
procedure TForm1.Timer2Timer(Sender: TObject);
var i, k: Integer;
begin
k := 28;
for i := 4 to 24 do
begin
if (TShape(FindComponent('Shape'+IntToStr(i))).Top = TShape(FindComponent('Shape'+IntToStr(k))).Top) and (TShape(FindComponent('Shape'+IntToStr(i))).left = TShape(FindComponent('Shape'+IntToStr(k))).left) then
begin
('s' + IntToStr (i)) := true; // um diesen teil handelt es sich
end
else
's' + IntToStr (i):= false; // um diesen teil handelt es sich
end;
inc (k);
Gruß, htxmlx

[edit=SirThornberry]Titel geändert - Mfg, SirThornberry[/edit]

Valle 13. Dez 2008 17:36

Re: Variabel wie zusammensetzen?
 
Das funktioniert so nicht, da Variablen im Arbeitsspeicher nur als Adressen (sowas hier: 0xEA4F7E) gespeichert werden. In diesem Fall ist ein Delphi-Referenz durchsuchenArray das Richtige! ;-)

Mit freundlichen Grüßen,

Valle

Michael Habbe 13. Dez 2008 17:43

Re: Variabel wie zusammensetzen?
 
Wie Valle schon schrieb, nimm ein Array:

Delphi-Quellcode:
var
  b_arr: Array[4..24] of Boolean;

procedure TForm1.Timer2Timer(Sender: TObject);
var
  i, k: Integer;
begin
  k := 28;
  for i := 4 to 24 do
  begin
    if (TShape(FindComponent('Shape'+IntToStr(i))).Top = TShape(FindComponent('Shape'+IntToStr(k))).Top) and (TShape(FindComponent('Shape'+IntToStr(i))).left = TShape(FindComponent('Shape'+IntToStr(k))).left) then
      b_arr[i] := true // um diesen teil handelt es sich
    else
      b_arr[i] := false; // um diesen teil handelt es sich
  end;
  inc (k);
Gruß
Michael

htxmlx 13. Dez 2008 17:58

Re: Variabel wie zusammensetzen?
 
Manchmal hat man echt nen Brett vorm Kopf, danke nochmal an euch beide..und sry für die eg. dumme Frage...

Gruß, htxmlx


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 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