![]() |
Array oder wie kann ich es ablegen ?
Hallo,
habe viele Verweise gefunden aber nix was annährend das Thema beinhaltete, das ich suche. Also frage ich mal lieber die Gurus hier. Ich habe eine Zuweisung von 16 Farben, die ein Programm in den Werten 0 - 16 erwartet. In Delphi habe ich die entsprechenden Farbwerte (im Hex Format). Dies ist eine statische Zuordnung also immer gleich. Habe jetzt eine Krücke in diesem Format mit 2 Arrays:
Delphi-Quellcode:
Da die Namen direkt zu den Farbwerten gecodet werden (Programm Zuordnung über Array Index 0 - 15) wäre ein Array oder was auch immer natürlich schöner aber weiss nicht wie :)
ColorsHex: array[0..15] of String = (
'000000', //black '00286B', //blue dark '2169A5', //blue light '39459C', //blue medium '9C7139', //gold '7B7D7B', //grey light '101010', //grey medium '104508', //green dark '428A39', //green light '6B3C6B', //lavender 'BD2000', //orange 'A5417B', //pink '734194', //purple 'A51818', //red 'C6CBD6', //white 'CEBA00' //yellow ); ColorsName: array[0..15] of String = ( 'Black', 'Blue Dark', 'Blue Light', 'Blue Medium', 'Gold', 'Gray Light', 'Gray Medium', 'Green Dark', 'Green Light', 'Lavender', 'Orange', 'Pink', 'Purple', 'Red', 'White', 'Yellow' ); |
Re: Array oder wie kann ich es ablegen ?
Delphi-Quellcode:
Grüße
type
colors = record ColoreName : String[15]; ColorHex : String[8]; end; colorArray = Array [0..15] of colors; Klaus |
Re: Array oder wie kann ich es ablegen ?
Weiss jetzt nicht so genau was Du meinst, aber vieleicht so in etwa
Delphi-Quellcode:
for i:=0 to 15 do
if Irgendetwas = ColorsHex[i] then begin Etwasanderes:=ColorsName[i]; |
Re: Array oder wie kann ich es ablegen ?
Zitat:
Du kannst dann das Array wie folgt definieren:
Delphi-Quellcode:
Type
TColorEntry = Record ColorName : String; ColorColor : TColor; // String braucht man nicht End; TColorArray = Array [0..15] of TColorEntry; Const MyColors : TColorArray = ( (ColorName: 'Black', ColorHex: $000000), ... ); |
Re: Array oder wie kann ich es ablegen ?
Super !!!!
Ihr seit Schätze !!! :cheers: |
Re: Array oder wie kann ich es ablegen ?
Hmm,
soweit so gut aber ein Problem habe ich bei der Zuweisung mit beiden Varianten:
Delphi-Quellcode:
Der Compiler meckert jetzt das Komma hinter 'Black' an und meint er würde eine geschweifte Klammer erwarten ??? Weil eigentlich ist der Aufbau nachvollziehbar ????
MyColors : ColorArray =
( (ColorName: 'Black', ColorHex: '000000'), (ColorName: 'Blue Dark', ColorHex:'00286B'), ); @alzaimar: Ist das hier ein Tipp Fehler:
Delphi-Quellcode:
weil da hätte ich jetzt ColorColor erwartet.
(ColorName: 'Black', [b]ColorHex[/b]: $000000)
|
Re: Array oder wie kann ich es ablegen ?
Versuch statt dem Komma mal ein ';' Und statt 'ColorHex' ein 'ColorColor'.
Hab Verständnis: Es ist Montag früh. :oops: |
Re: Array oder wie kann ich es ablegen ?
Hallo Bernd,
die Unit Classes stellt mit ![]() ![]() ![]() Gruß Hawkeye |
Re: Array oder wie kann ich es ablegen ?
Goil, man lernt nie aus :thumb:
|
Re: Array oder wie kann ich es ablegen ?
Danke alzaimar, das semikolon wars und das mit ColorColor hatte ich mir ja schon gedacht :)
Das mit der Unit TIdentMapEntry ist definitiv auch ein Test Wert. Was ich an dem Beispiel hier gut finde ist wie ich über Record und Array, ArrayStrukturen wie ich sie aus PHP kenne nachbilden kann (statisch). Wenn ich das Wissen auf dynamische Arrays noch transferieren kann dann bin ich glücklich :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:13 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-2025 by Thomas Breitkreuz