Урок 46 Несколько полезных кусков кода No title

July 20, 2007
в колонках играет Shakira - No Creo



Сегодня я покажу несколько кусков кода, позволяющих расширить функционал приложений. А главное как сделать это без использования дополнительных компонентов. Зачем , спросите вы, ведь использование сторонних компонентов упрощает работу! Всё очень просто, не все компоненты устанавливаются без проблем. Особенно RxLib. Да и прикиньте, если переустановить винду, надо и все библиотеки заново ставить.(Может руки у меня кривые, но RxLib у меня не ставится уже третий раз подряд, выдавая ошибку в файле, несмотря на успешные установки в прошлом).

Часто RxLib устанавливают чтобы TImage поддерживал gif файлы. Они меньше bmp(хотя и bmp можно ужать до размеров gif). Итак, чтобы билдеровский TImage загружал гифы, напишите следущий код в начале программы:

TPicture *Picture = new TPicture();
Picture->RegisterFileFormat(__classid(TGIFImage), "gif", "gif",
__classid(TGIFImage));
delete Picture;

После этого вы сможете загружать в TImage gif файлы.
Конечно, не все типы графических форматов можно таким образом включить в работу. Но jpg можно=).

Также, кажется в rxlib, есть компонент для отображения времени. Для отображения даты и часов нам понадобится label и timer. В событии OnTimer пишем:

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Label1->Caption = FormatDateTime("hh:nn",Time());
Timer1->Interval=10000;// меньше число, больше точность
}

Если его модифицировать, то можно получить и доли секунд. Для этого заменим код на:

Label1->Caption=Time().FormatString("hh:mm:ss:zz");
Timer1->Interval=1;

Узнаем и изменяем имя компа:

Узнаем:
unsigned long Size = MAX_COMPUTERNAME_LENGTH + 1;
char *Buffer = new char[Size];
GetComputerName(Buffer, &Size);

И изменяем:
SetComputerName("НОВОЕ_ИМЯ_КОМПЬЮТЕРА");
// не забудьте перезагрузиться


Материал подготовил - [ArtuR]  2007
www.builderhelper.org
builder.helper@rambler.ru