Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Rausfinden welcher Record zu einem Timer gehört (https://www.delphipraxis.net/33245-rausfinden-welcher-record-zu-einem-timer-gehoert.html)

Pseudemys Nelsoni 3. Nov 2004 23:56


Rausfinden welcher Record zu einem Timer gehört
 
moin,

wenn ich etwas wie das hier habe:

Delphi-Quellcode:
type
  TMyRecord = record
    s: string;
    t: TTimer;
  end;

...

procedure timerproc(Sender: TObject);
begin
  // hier möchte ich den string des records in dem sich der timer befindet aufrufen, z.b
  showmessage(s);
end;
ok ich weiss das dort sachen wie Create etc fehlen, aber das tut hier ja nichts zur sache, das was ich wissen möchte ist so besser zu erkennen ;). Ich habe ein Array of TMyRecord, und möchte wenn das timerevent auftritt denstring "benutzen" können der sich im selben record wie der timer befindet

Nur wie?

SirThornberry 4. Nov 2004 06:08

Re: Rausfinden welcher Record zu einem Timer gehört
 
wenn sich die Records in einem Array befinden dann bleibt dir wohl nix anderes übrig als das array durchzugehen und auf den timer zu überprüfen
Delphi-Quellcode:
for LCount := 0 to length(myrecords) - 1 do
begin
  if myrecords[LCount].t = Sender then
  begin
    showmessage(myrecords[LCount].s);
    break;
  end;
end;

Shaman 4. Nov 2004 06:54

Re: Rausfinden welcher Record zu einem Timer gehört
 
Hoi

Du kannst auch im Tag des Timers einen Pointer auf den Record hinterlegen.

Gruss
Shaman

Pseudemys Nelsoni 4. Nov 2004 07:13

Re: Rausfinden welcher Record zu einem Timer gehört
 
danke thornberry, ich werds versuchen.

@shaman: das hört sich nach einer schnelleren methode an, aber wie setze ich da einen pointer rein?

Shaman 4. Nov 2004 07:20

Re: Rausfinden welcher Record zu einem Timer gehört
 
Einfach
Code:
MyTimer.Tag:= Integer(@MyRecord);
Den Record bekommst Du dann über
Code:
PMyRecord(MyTimer.Tag)^;
Gruss
Shaman

Pseudemys Nelsoni 4. Nov 2004 07:24

Re: Rausfinden welcher Record zu einem Timer gehört
 
moin shaman,

wie sieht PMyRecord denn aus?

Shaman 4. Nov 2004 07:28

Re: Rausfinden welcher Record zu einem Timer gehört
 
Delphi-Quellcode:
type
  TMyRecord = ...
  PMyRecord = ^TMyRecord;
Das ist immer so mit denen, die ein P am Anfang haben.

Gruss
Shaman

Pseudemys Nelsoni 4. Nov 2004 07:30

Re: Rausfinden welcher Record zu einem Timer gehört
 
danke ^^


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