ЧА? |
ВО! |
Как преобразовать AnsiString в char*? |
У класса AnsiString есть метод, декларация которого выглядит так:
char* __fastcall c_str() const;
E.g.: char a[10];
AnsiString b="CBuilder";
strcpy(a, b.c_str());
А вообще, все методы AnsiString достаточно подробно описаны в хелпе. Так что
RTFM :) |
Как сделать, чтобы пpогpамма на CBuilder3,4 не требовала .bpl, .dll? |
В Project|Options|Packages снять галку с Build with runtime packages,
Project|Options|Linker снять галку с Use dynamic RTL. |
Что такое RXLib и где его взять? |
Одна из самых, если не самая лучшая библиотека общего назначения для
Delphi. Огромное количество компонентов и полезных функций. Полные исходные
тексты. Совместима со всеми Delphi, а также с C++Builder. Великолепные
примеры использования. Исчерпывающие файлы помощи на русском языке.
IMHO -- a must have для любого дельфиста. Прежде чем огорчаться отсутствием
чего-либо или пытаться написать свое -- посмотрите, нет ли этого в RXLib.
Скажем так -- без RXLib мое программирование на Delphi будет гораздо более
утомительным.
Взять можно на http://www.rxlib.com |
Как сделать, чтобы окно вело себя, как веpхняя панель в билдеpе,
т.е. pесайзилось только по гоpизонтали, и только до опpеделенного
минимального размеpа, а по веpтикали pазмеp был фиксиpованным? |
Надо написать обработчик сообщения WM_GETMINMAXINFO.
Например, так:
class TForm1 : public TForm
{
//...........
private:
void __fastcall WMGetMinMaxInfo(TMessage& Msg);
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(WM_GETMINMAXINFO, TMessage, WMGetMinMaxInfo)
END_MESSAGE_MAP(TForm)
};
void __fastcall TForm1::WMGetMinMaxInfo(TMessage&Mmsg)
{
(LPMINMAXINFO(Msg.LParam))->ptMinTrackSize.x=200;
(LPMINMAXINFO(Msg.LParam))->ptMinTrackSize.y=Height;
(LPMINMAXINFO(Msg.LParam))->ptMaxTrackSize.y=Height;
Msg.Result=0;
}
В CB4 можно воспользоваться свойством Constraints. |
Как организовать SplashScreen? |
1. Посмотреть на $(BCB)\Examples\DBTasks\MastApp
2. Воспользоваться функцией ShowSplashWindow(...) из RXLib.
3. Написать руками :)
а) Делаешь форму, которая будет изображать SplashScreen;
б) Делаешь WinMain вида:
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
SplashF=new TSplashF(Application);
SplashF->Show();
SplashF->Update();
Application->Initialize();
//...
SplashF->Close();
delete SplashF;
Application->Run();
//... |
Как засунуть иконку в system tray ("туда, где часы" (c))? |
1. Воспользоваться компонентом TRxTrayIcon из RXLib.
2. Посмотреть в хелпе описание на Shell_NotifyIcon(...).
3. Посмотреть на $(BCB)\Examples\Apps\TrayIcon (есть только в CB3,4).
4. Посмотреть на $(BCB)\Examples\Controls\Tray (CB4). |
Как руссифицировать Database Desktop 7? |
A: [HKEY_CURRENT_USER\Software\Borland\DBD\7.0\Preferences\Properties]
"SystemFont"="MS Sans Serif"
A(IU): Ребят, я давно делаю под НТ (под 95 не знаю, не пpобовал) такyю вещь:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1252"="c_1251.nls"
И все!!! Помогает 100%. Никаких пpоблем с "иеpоглифами" в любых
пpогpаммах! |
Из-за чего может виснуть С++Builder 3 под Windows 98 (при запуске)?
Он запускался в Windows 95 при 16 цветах, а в Windows 98 никак не
хочет. |
A: Из-за видюхи (особенно этим страдают S3 VirgeDX). Надо либо убавлять
Hardware Acceleration, либо менять драйверы.
A(AS): [HKEY_CURRENT_CONFIG\Display\Settings]
"BusThrottle"="on" |
Почему в билдере размер структуры всегда растягивается до кратного
4-ем?с |
A: Из-за выравнивания (RTFM Data Alignment).
Чтобы поля структуры выравнивались на 8-ми битную границу, необходимо
использовать следующую конструкцию:
#pragma pack(push, 1)
#pragma pack(pop)
Менять выравнивание для всего проекта (Project Options\Advanced Compiler\
Data Alignment) не рекомендуется. |
Какой-нибудь из CBuilder'ов умеет делать win16 Exe? |
Нет. |