2012-10-15 17 views
10

Tworzę formularz Delphi i chcę przypisać do niego kolor tła w czasie wykonywania. Ten kod:Jak mogę przekonwertować ciąg na wartość TColor?

Form1.Color := clSkyBlue; 

działa dobrze. Mój problem polega na tym, że zapisałem nazwę koloru w tabeli jako ciąg znaków. Tak więc, kiedy pobrać nazwę koloru z tabeli i przypisać ją do Form1.Color, powyższe stwierdzenie staje:

var 
    ColorName: string; 
.... 
Form1.Color := ColorName; 

a to skutkuje błędem kompilacji czasu.

Jak przekonwertować ciąg znaków na wartość TColor?

Odpowiedz

20

można korzystać z następujących funkcji konwersji (oba współpracuje ze stałymi kolor):

  • wykorzystanie StringToColor funkcja przetłumaczyć ciąg znaków reprezentujący barwy do TColor wartości
  • korzystanie ColorToString funkcji, gdy trzeba przetłumaczyć wartość TColor na reprezentację ciągów znaków

W twoim przypadku musisz użyć funkcji StringToColor:

Form1.Color := StringToColor('clSkyBlue'); 
+1

Ohh wow !!! dzięki tlama. Nie znałem tego słowa kluczowego. Ponadto szukałem w Google "jak przekonwertować tstring na tcolor w delphi xe2", ale nie znalazłem nic przydatnego. Dzięki jeszcze raz!! –

+1

@ user1556433 Nie ma 'TString'. Masz na myśli ciąg. –

+1

Nie znaleziono niczego, ponieważ nie ma wbudowanego typu 'TString' w Delphi. To po prostu 'string'. – TLama

Powiązane problemy