Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    (Delphi 7) Suggerimenti codice

    io ho usato questo codice che mi permette di scegliere un valore presente in un combibox cambiando colore ad un pannello.
    codice:
    procedure TRes.Val4Change(Sender: TObject);
    begin
       if(Val4.itemindex = 0) then
           F4.Color := clGreen; //0,1
    begin
       if(Val4.itemindex = 1) then
           F4.Color := clGreen; //0,25
    begin
       if(Val4.itemindex = 2) then
           F4.Color := clGreen; //0,5
           begin
       if(Val4.itemindex = 3) then
           F4.Color := clMaroon; //1
           begin
       if(Val4.itemindex = 4) then
           F4.Color := clRed; //2
           begin
       if(Val4.itemindex = 5) then
           F4.Color := $0000D7FF; //5
           begin
       if(Val4.itemindex = 6) then
           F4.Color := clSilver; //10
           begin
       if(Val4.itemindex = 7) then
           F4.Color := clOlive; //20
    end;
    end;
    end;
    end;
    end;
    end;
    end;
    end;
    funziona bene ma lo vedo molto prolisso avete qualche suggerimento per accocciarlo?

  2. #2
    Hai provato con il color combo box?

  3. #3
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Puoi usare un case o una sequenza di else if o un vettore di costanti

  4. #4
    Originariamente inviato da denis76
    Hai provato con il color combo box?
    cioè?

  5. #5
    Originariamente inviato da franzauker2.0
    Puoi usare un case o una sequenza di else if o un vettore di costanti
    tipo cosi?
    codice:
    begin
    // Ottiene il valore numerico
    Val1.Value := StrToInt(Val1.Text);
    // Determina il colore associato
    case StrToInt(Val1.Text) of
      0: F1.Color := clBlack;
      1: F1.Color := clMaroon;
      2: F1.Color := clRed;
      3: F1.Color := $00A5FF; //Colore Arancione
      4: F1.Color := clYellow;
      5: F1.Color := clGreen;
      6: F1.Color := clBlue;
      7: F1.Color := clFuchsia;
      8: F1.Color := clGray;
      9: F1.Color := clWhite;
    end;
    end;

  6. #6
    codice:
    procedure TRes.Val4Change(Sender: TObject);
    begin
    // Determina il colore associato
    case Val4.itemindex of
      0: F4.Color := clGreen; //0,1
      1: F4.Color := clGreen; //0,25
      2: F4.Color := clGreen; //0,5
      3: F4.Color := clMaroon; //1
      4: F4.Color := clRed; //2
      5: F4.Color := $0000D7FF; //5
      6: F4.Color := clSilver; //10
      7: F4.Color := clOlive; //20
    end;
    end;
    adesso mi piace grazie del vostro aiuto.

  7. #7
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Se i dati son costanti...
    codice:
    const
       colori : array[0..7] of integer = (clGreen,clGreen,clgreen,clMaroon,clred,$0000d7ff,clsilver,clOlive);
    
    (...)
    F4.color:=colori[val4.itemindex];

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.