Заметки на полях

Здесь будут собиратся маленькие штуки, которые в голове держать не хочется, гуглить долго, а под рукой иметь надо.

Обработка нажатия сочетаний клавиш.

if((Key=='T')&&(Shift==TShiftState() << ssCtrl))
{Набор действий}

Остальное по справке. Работает везде, где передается Key.

Если нужно отлавливать все нажатия клавиш через onKeyDown формы Form1, то надо сделать следущее в событии onCreate у формы:

Form1->KeyPreview = true;

Экспорт данных из ADOQuery

Предполагается, что запрос уже связан с ADOConnection, и ошибок в SQL запросе нет. Очень удобно для переноса данных из любой БД в любую. Импорт файла с разделителем это классика;)

char separator=','; ///разделитель может быть любой
try //В данном случае поля будут разделятся запятой
{ //Выглядит это так - Иванов,Иван,Иванович
ADOQuery1->Active = true; //Строки же разделяются символом новой строки 0х0А

while(!ADOQuery1->Eof)
{
for(int i=0;iFieldCount;i++)
{
fprintf(f,"%s",ADOQuery1->Fields->Fields[i]->AsString);
if((i+1)>=ADOQuery1->FieldCount)
fputc(0x0A,f) //строки желательно разделять символом конца строки
else
fputc(separator,f);
}
ADOQuery1->Next(); //переход к следующей записи
}
}
__finally
{
ADOQuery1->Active = false;
}

Убрать или добавить BorderIcons прямо в программе

Случается так, что надо спрятать от пользователя кнопку максимизации или вовсе убрать панель с этими кнопками. Вообще в Object Inspector(Инспекторе объектов) можно выключить их, но если надо динамически убрать, то тут надо подумать как это сделать. Первое, что приходит в голову, не работает, поэтому воспользуемся хелпом и подумаем второй раз. Убрать все кнопки BorderIcons можно так(запиши наш код там где ты хочешь, чтобы это происходило, например, по нажатию Button1):

TBorderIcons temp = BorderIcons; //массив в котором находятся наши кнопки
temp >> biSystemMenu; //убираем из нашего массива все кнопки
Form1->BorderIcons = temp; //шлеп и готово

Еще пример. Нужно оставить только крестик, убрав все остальные кнопки:

TBorderIcons temp = BorderIcons; //массив в котором находятся наши кнопки
temp << biSystemMenu; //записываем в массив все системные кнопки
temp >> biMaximize; //убираем из него максимизацию
temp >> biMinimize; //убираем сворачивание
Form1->BorderIcons = temp; //шлеп и готово

И третий пример. Нужно оставить крестик и сворачивание. Уберем максимизацию. Но следует помнить, что в этом случае кнопка максимизации не пропадет, а станет недоступной, типа серым закрасится:

TBorderIcons temp = BorderIcons; //массив в котором находятся наши кнопки
temp << biSystemMenu; //записываем в массив все системные кнопки
temp >> biMaximize; //убираем из него максимизацию
Form1->BorderIcons = temp; //шлеп и готово

И не говори, что это сложно. Это просто. Читай хелп:)





Ссылки:

К содержанию

© Copyright 2004-2017 - CMS Made Simple
Сайт работает на CMS Made Simple version 1.4.1

© Все печеньки Break-people.ru принадлежат авторам проекта.

Яндекс цитирования Рейтинг@Mail.ru Яндекс.Метрика