Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi zahlwert in wort+farbe umwandeln (https://www.delphipraxis.net/136640-zahlwert-wort-farbe-umwandeln.html)

Say1k 4. Jul 2009 22:20


zahlwert in wort+farbe umwandeln
 
hi

mein problem liegt darin, dass ich gerne in den im quelltext erläuterten logs nicht die zahlen 0, 1 und 2 stehen haben möchte sondern die farben grün für 0, 1 für gelb und 2 für rot als worte
gleichzeitig sollen die labels zu den worten die passende farbe erhallten
klartext: random zahl ist zum beispiel=1 und ich drücke auf log
momentan= im passenden label erscheint die zahl 1 gelogt
so wie es sein soll= das passende label erhällt die farbe gelb und als labeltext steht 'Gelb'


wie ist das machbar?

erstmal mein quelltext mit hoffentlich guter erklährung:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Label9.caption := IntToStr(random(3));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;
end;

//gut das kommt ja von euch fürs random

procedure TForm1.Neu1Click(Sender: TObject);
begin
label1.caption := '';
label2.caption := '';
label3.caption := '';
label4.caption := '';
label5.caption := '';
label6.caption := '';
label7.caption := '';
label8.caption := '';
end;

//das hier löscht meine logs   die logs werden gleich erklährt

{nun folgend sind buttonklicks die die zahl, die gerade als random in label 9 ausgegeben wurde in ein log-label eingibt,wie ein speicherplatz}

procedure TForm1.Button2Click(Sender: TObject);
begin
label1.caption := label9.caption;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
label2.caption := label9.caption;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
label3.caption := label9.caption;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
label4.caption := label9.caption;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
label5.caption := label9.caption;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
label6.caption := label9.caption;
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
label7.caption := label9.caption;
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
label8.caption := label9.caption;
end;
[edit=SirThornberry]Titel geändert - Mfg, SirThornberry[/edit]

jfheins 4. Jul 2009 22:23

Re: hier in neuem thema: zahlwert in wort+farbe umwandeln
 
Das geht entweder über ein konstantes Array oder mit einem Case-Statement ;)

ersteres sieht ungefähr so aus:
Delphi-Quellcode:
function IntToColorStr(a: Integer):String
const
  Table: array of String = ['grün', 'gelb', 'rot'];
begin
  Result := Table[a];
end;
zweiteres:
Delphi-Quellcode:
function IntToColorStr(a: Integer):String
begin
  case a of
  begin
    0: Result := 'grün';
    1: Result := 'gelb';
    2: Result := 'rot';
  end;
end;

Say1k 4. Jul 2009 22:26

Re: hier in neuem thema: zahlwert in wort+farbe umwandeln
 
wie sähe das dann im gesammtquelltext aus?
(ich hab manchmal ein wenig probleme so etwas dann einzubauen)

am besten die 2. möglichkeit da verstehe ich weningstens noch wie die geht^^

jfheins 4. Jul 2009 22:31

Re: hier in neuem thema: zahlwert in wort+farbe umwandeln
 
Zitat:

Zitat von Say1k
wie sähe das dann im gesammtquelltext aus?

Ähhh .... also: Du nimmt die 2. Funktion und kopierst sie. Dann gehhst du in delphi und guckst nach dem Wort "implementation" - dadrunter fügst du den Code ein. Danach kannst du so dein Label befüllen:
Delphi-Quellcode:
Label12.Caption := IntToColorStr(2);
Es kann aber sein, dass der Code syntaktisch nicht ganz korrekt ist.


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