2012-10-15 29 views
10

Tôi đang tạo một biểu mẫu Delphi và muốn gán màu nền cho nó trong thời gian chạy. Mã này:Làm cách nào để chuyển đổi chuỗi thành Giá trị TColor?

Form1.Color := clSkyBlue; 

hoạt động tốt. Vấn đề của tôi là tôi đã lưu trữ tên màu trong một bảng dưới dạng một chuỗi. Vì vậy, khi tôi lấy tên màu từ bảng và gán nó vào Form1.Color, tuyên bố trên trở thành:

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

và kết quả này trong một lỗi thời gian biên dịch.

Làm cách nào để chuyển đổi chuỗi thành giá trị TColor?

Trả lời

20

Bạn có thể sử dụng các chức năng chuyển đổi sau (cả hai tác phẩm với các hằng số màu):

  • việc sử dụng StringToColor chức năng để dịch một chuỗi đại diện của một màu sắc để trị TColor
  • việc sử dụng ColorToString chức năng khi bạn cần để dịch TColor giá trị thành một chuỗi đại diện

Trong trường hợp bạn cần sử dụng chức năng StringToColor:

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

Ohh wow !!! cảm ơn tlama. Tôi không biết từ khóa này. Ngoài ra, tôi googled 'làm thế nào để chuyển đổi tstring vào tcolor trong delphi xe2', nhưng tôi đã không tìm thấy bất kỳ điều hữu ích. Cảm ơn một lần nữa !! –

+1

@ user1556433 Không có 'TString'. Bạn có nghĩa là chuỗi. –

+1

Bạn không tìm thấy bất kỳ thứ gì vì không có kiểu 'TString' được cài sẵn trong Delphi. Nó chỉ là 'chuỗi'. – TLama

Các vấn đề liên quan