Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi konstante zahl umgehen??? (https://www.delphipraxis.net/21675-konstante-zahl-umgehen.html)

Wadim 6. Mai 2004 13:29


konstante zahl umgehen???
 
hi,

ich hätte da eine frage und zwar:

ist es möglich eine konstante zahl zu umgehen, also wenn z.b eine anweisung eine konstante zahl brauch wie 1 oder 5 aber ich dann eben noch variieren will welche zahl genommen werden soll.

z.b brauch diesen anweisung einen konstanten ausdruck:

Delphi-Quellcode:
with ListView1.Canvas.Brush do
  begin
    case Item.Index of
      2 : Color := farbwert;
    end;
  end;
jedoch soll es nicht immer 2 sein sondern ich will es in laufzeit verändern wollen - geht aber nicht z.b mit diesem quellcode:

Delphi-Quellcode:
with ListView1.Canvas.Brush do
  begin
    case Item.Index of
      zahl : Color := farbwert;
    end;
  end;
(zahl ist integer)

habt ihr da eine idee oder geht das überhaubt nicht??

nieurig 6. Mai 2004 13:36

Re: konstante zahl umgehen???
 
Hi Wadin,
Du wirst wohl nicht um eine if-Abfrage drum herum kommen.
Statt:

case Item.Index of
2 : Color := farbwert;
end;

wäre es dann wohl:

if Item.Index = VergleichsWert then
Color := farbwert;

wobei Du der Variablen "Vergleichswert" nach Belieben Werte zuweisen kannst.

Ich hoffe das paßt auf Deine Frage.
Niels

oki 6. Mai 2004 13:39

Re: konstante zahl umgehen???
 
Hi,

leider erwartet case einen Konstantenparameter als auswertbaren Ausdruck.

Dir zu helfen ist nur möglich, wenn mal kurz schilderst was du genau machen willst. Vielleicht kann man dein Problem auch anders lösen als mit einer Case-Anweisung.

gruß oki

alcaeus 6. Mai 2004 13:40

Re: konstante zahl umgehen???
 
IMHO könnte das auch mit zwei Arrays funktionieren: einem für Vergleichswerte, einem für Funktionspointer. Ich habs nur mal bei einem Kollegen gesehen, kA wie man Funktionspointer verwendet. Das ganze kannst du dann in eine Schleife verpacken, und es müsste funzen.

Wadim 6. Mai 2004 14:05

Re: konstante zahl umgehen???
 
Zitat:

Zitat von nieurig
Hi Wadin,
Du wirst wohl nicht um eine if-Abfrage drum herum kommen.
Statt:

case Item.Index of
2 : Color := farbwert;
end;

wäre es dann wohl:

if Item.Index = VergleichsWert then
Color := farbwert;

wobei Du der Variablen "Vergleichswert" nach Belieben Werte zuweisen kannst.

Ich hoffe das paßt auf Deine Frage.
Niels

THX - damit hat es geklapt :thuimb:

mfg wadim


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