Borland C++ VCL FAQ
Страница 4.



Цвет( TColor ) - общие вопросы

Как получить TColor, имея значения красной, синей и зелёной составляющих?

int red = random(255); // красная составляющая
nt blue = random(255); // синяя составляющая
int green = random(255); // зеленая составляющая
Label1->Font->Color = (TColor)RGB(red,green,blue);


Как имея TColor, получить значения красной, синей и зелёной составляющих?

TColor color = ...;
nsigned red = GetRValue(color); // красная составляющая
nsigned green = GetGValue(color); // зеленая составляющая
nsigned blue = GetBValue(color); // синяя составляющая 

Как узнать яркость цвета?

TColor color = ...;
nsigned luminosity = (GetRValue(color)*77 + GetGValue(color)*151 + GetBValue(color)*28) >> 8;

Преобразование файлового времени в объект TDateTime

Используйте следующую функцию для преобразования файлового времени в объект TDateTime:
TDateTime __fastcall TSTFLFileInfo::FileTimeToDateTime(FILETIME &AFileTime)
{
SYSTEMTIME SystemTime;
FILETIME LocalFileTime;

FileTimeToLocalFileTime(&AFileTime, &LocalFileTime);
FileTimeToSystemTime(&LocalFileTime, &SystemTime);
TDateTime DateTime = SystemTimeToDateTime(SystemTime);
return DateTime;
}


Выбор нескольких ячеек в TStringGrid

Несколько ячеек в TStringGrid можно выбрать непосредственно мышью или комбинацей клавиши Shift с клавишей управления курсором.

Как перевести строку из Windows-кодировки в OEM-кодировку?

Для перевода строки из Windows-кодировки в OEM-кодировку воспользуйтесь следующей функцией:
AnsiString __fastcall StringToOEMi(const AnsiString ASourceString)
{
char *TempString = new char[ASourceString.Length()];
AnsiString ResultString;

CharToOemBuff(ASourceString.c_str(), TempString, ASourceString.Length());
ResultString = TempString;

delete [] TempString;
return ResultString;
}


Как перевести строку из OEM-кодировки в Windows-кодировку?

Для перевода строки из OEM-кодировки в Windows-кодировку воспользуйтесь следующей функцией:
AnsiString __fastcall StringToAnsi(const AnsiString ASourceString)
{
char *TempString = new char[ASourceString.Length()];
AnsiString ResultString;

OemToCharBuff(ASourceString.c_str(), TempString, ASourceString.Length());
ResultString = TempString;

delete [] TempString;
return ResultString;
}

Как узнать, високосный год или нет?

Чтобы узнать, является ли указанный год високосным, воспользуйтесь функцией IsLeapYear(), объявленной в Sysutils.hpp:
IsLeapYear(Year);
где Year - год, который надо проверить на високосность. Функция возвращает true, если год високосный, и false в противном случае.

Как узнать количество параметров, переданных в командной строке?

Чтобы узнать, сколько параметров было передано приложению в командной строке, воспользуйтесь функцией ParamCount(), объявленной в System.hpp. Функция возвращает количество параметров, переданных в командной строке, в виде значения типа int.
 
« Предыдущая статья   Следующая статья »