Exel @ b faq яким релізом delphi варто користуватися для кожної конкретної версії

Яким релізом Delphi варто користуватися для кожної конкретної версії?

По-перше, ви можете дізнатися точну версію Delphi, якщо у віконці Help | About натиснете кнопку Alt і, не відпускаючи, наберете "VERSION".

Delphi 1 слід апгрейдити до версії 1.02 за допомогою патчів.

Delphi 2 слід апгрейдити до версії 2.01. це повноцінний
дистрибутив. Цю версію можна, зокрема, дізнатися по сторінці
"Internet" в палітрі компонентів. Її точна версія 2.0.76.0.

Delphi 3 слід взяти версії 3.02. Це повноцінний дистрибутив 3.01 і
патчі до 3.02.

Delphi 4 ж повинна бути оновлена ​​другим, а потім третім Service
Pack'амі, які можна взяти на сайті Inprise.

Версії Delphi 4.3 і 4.5 є облудними версіями. В
Насправді це ранні бети Delphi 4.0.

Виправити проблеми з викликом допомоги в середовищі Delphi.

У regedit убийте з секції HKLM \ SOFTWARE \ Microsoft \ Windows \ Help все,
що дорівнює ". \ help".

Змінивши відповідні шляхи, імпортуйте до реєстру новий файлик:

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ AppPaths \
delphi32.exe] @ = "C: \\ DELPHI2 \\ BIN \\ delphi32.exe" "Path" = "C: \\ DELPHI2 \\ HELP"

Чи не відображають російські TTF під Windows NT ServicePack3.

Спробуй зробити в
[HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ FontMapper]
DEFAULT = 0xcc (204) замість 0x00 (Саме DEFAULT, а не (Default) :-)
получше маленько буде.

А як включити віконце CPU Window?

Вставте в реєстр строковий ключ

Відповідно, для Delphi 3 - Delphi 3.0.

Як встановити компонент Delphi однією версією під іншу, якщо є тільки .DCU файл?

Hикаких. Фірма Borland завжди підтримувала несумісність
.DCU-файлів між різними версіями. Шукайте исходник або .DCU,
скомпільований для відповідної версії Delphi.

При виникненні помилки під час налагодження програми машина перезавантажується. Що робити?

Знести QEMM. Hачісто. Просте відключення його функцій не допомагає. Втім, це виправлено в QEMM 9.0.

REGEDIT4
[HKEY_CURRENT_CONFIG \ Display \ Settings]
"BusThrottle" = "on"

Якщо не допомагає, то спробуйте додати в system.ini:

У hicolor режимах на іконах TBitBtn виявляються дивні коричневі артефакти. Як позбутися?

Залити фон бітмапами синім кольором.

Чи можна скомпілювати на Delphi 7 програму, що працює під Windows 3.1?

Ні, але в дистрибутиві з Delphi 2/3/4 поставляється Delphi 1 спеціально для цієї мети.

Куди з Delphi 7 подівся модуль для роботи з ReportSmith? А мої улюблені модулі роботи з OLE: ole2, oleauto і olectl?

Вони лежать в X: \ DELPHI3 \ LIB \ DELPHI2.

Hе працює передача даних по OLE в російський Excel.

Справа в тому що в VCL твої команди OLE2 передаються Excel'у в
російською контексті (не знаю, як це правильно назвати). для
виправлення необхідно знайти в файлі OLEAUTO.pas в функції
GetIDsOfNames рядок

if Dispatch.GetIDsOfNames (GUID_NULL, @NameRefs, NameCount,
LOCALE_SYSTEM_DEFAULT, DispIDs) <> 0 then

і замінити її на

if Dispatch.GetIDsOfNames (GUID_NULL, @NameRefs, NameCount,
((LANG_ENGLISH + SUBLANG_DEFAULT * 1024) + SORT_DEFAULT * 65536),
DispIDs) <> 0 then

Після цього у мене Excel став розуміти нормальні англійські команди
:)). Додати турнір комбінація для установки англійської мови взята з
C-шних хедерів.

Database Desktop показує вміст таблиць шрифтом без російських букв. Що робити?

Для DBD 5.0 ​​в файл c: \ windows \ pdoxwin.ini вставити в секцію

[Properties]
SystemFont = Arial Cyr

Для DBD 7.0 потрібно виправити реєстр: ключ

Нехай тіні обходять тебе стороною // рецессивная святість

Hе виходить відкрити таблицю, створену в InterBase з кодуванням Win-1251.

Ставте Interbase в каталог з шляхом, відповідним DOS-овским угодами про імена (8 + 3).

Після логіна в базу даних виникає EExternalError 0xC0000008. Що робити?

Знести Oracle Trace Collection Services.

Як русифікувати повідомлення програми?

Як під час компіляції модуля визначити, під якою версією Delphi вона відбувається?

Користуйтеся ось такою таблицею:
* VER80 - Delphi 1
* VER90 - Delphi 2
* VER93 - C ++ Builder 1
* VER100 - Delphi 3
* VER110 - C ++ Builder 3
* VER120 - Delphi 4

Як зробити так, щоб програму можна було запустити тільки в одному екземплярі?

Скористайтеся функцією ActivatePrevInstance з бібліотеки rxLib. Для завершення другого примірника використовуйте Application.Terminate.

Інший варіант: X: \ DELPHI2 \ DEMOS \ IPCDEMOS \ ipcthrd.pas, функція IsMonitorRunning ().

Як мені вивести яке-небудь віконце з картинкою, поки програма вантажиться?

Дивіться приклад в X: \ DELPHI \ DEMOS \ DB \ MASTAPP \ mastapp.dpr.

Зручно використовувати функцію ShowSplashWindow з rxLib.

А як помістити свою іконку на taskbar, там де годинник і перемикач клавіатури? (Це питання отримав перший приз).

У бібліотеці rxLib є компонент TrxTrayIcon. Зауважте, що для
коректного завершення роботи операційної системи вам буде потрібно
обробляти повідомлення WM_QUERYENDSESSION.

Як зробити плавно змінюється колір заголовка вікна, як в MSOffice?

У rxLib є TGradientCaption.

Як мені перекодувати рядки з Win-кодування в Dos-кодування і навпаки?

CharToOEM, OEMToChar, CharToOEMBuff, OEMToCharBuff. Зауважте
однак, що ці функції не вміють робити таких, наприклад, речей, як
koi8-r в DOS і т. п.

Як відловити події створення або видалення файлів іншими програмами?

У rxLib є TrxFolderMonitor.
(Win16) FileCDR, але вона погано документована.

Як вивести діалог вибору каталогу?

SelectDirectory, rxLib: TDirectoryEdit.

Моя програма завантажує систему - як виправити?

Якщо ви хочете віддавати timeslices в нитках, користуйтеся Sleep (0); це віддасть залишок Слайса системі.

(Win16) Якщо ви хочете дозволити відпрацювання повідомлень іншим
програмами, але не вашої, то краще користуватися Yield ().

Як мені запустити якусь програму зі своєї на Delphi?

WinExec () або ShellExecute. У другій більше можливостей.

CreateProcess () в параметрі process info повертає handle
запущеного процесу. Ось і робиш WaitForSingleObject (pi.hProcess,
INFINITE);

(Win16) Delay можна взяти з rxLib.

handle: = WinExec (.);
if handle> = 32 then
while GetModuleUsage (handle)> 0 do
Delay (nn);
else
raise.

Щоб з'ясувати, чи працює програма, використовуйте
GetProcessTimes (), параметр lpExitTime.

(Win32) Для примусового завершення процесу - TerminateProcess.

(Win16) (RR): Hадо послати програмі повідомлення WM_QUIT:

Handle: = Winexec (App, 0);
PostMessage (Handle, WM_QUIT, 0, 0);

Як правильно закрити і видалити форму? Чому моя MDI Child форма при закриванні просто мінімізується?

Обробляйте подія OnClose для форми і виставляйте в ньому
параметр Action в caFree. Справа в тому, що його значення за замовчуванням
для MDI Child форм caMinimize. До речі, якщо зробити Action: = caNone,
то форму можна буде закрити.

Додаю багато рядків в TListbox, TCombobox або Memo і TRichEdit, при цьому об'єкт блимає і перемальовується. Як позбутися від цього?

Як мені запрограмувати непрямокутну форму, наприклад, як у Norton CrashGuard, в формі щита?

Як використовувати свої курсори в програмі?

const
crZoomIn = 1;
crZoomOut = 2;

Screen.Cursors [crZoomIn]: = LoadCursor (hInstance, 'CURSOR_ZOOMIN');
Screen.Cursors [crZoomOut]: = LoadCursor (hInstance, 'CURSOR_ZOOMOUT');

З вашою програмою повинен бути слінкован файл ресурсів, що містить
відповідні курсори.

Як обмежити переміщення курсора миші будь-якої областю екрану?

ClipCursor (). Врахуйте, що використання цієї функції - поганий тон.

Як з програми переключити розкладку клавіатури?

ActivateKeyboardLayout (). Врахуйте, що використання цієї функції - поганий тон.

Як зробити так, щоб по Alt-F4 форма не просто закривалася, а видавала запит на збереження?

Як отримати короткий шлях файлу якщо є довгий? (C: \ Program Files == c: \ progra

Як написати сервіс для Windows?

Як працювати з системним реєстром registry?

Як висунути дверцята DVD-ROM приводу?

mciSendString ( 'Set cdaudio Door Open Wait', nil, 0, handle);

Також mciSendCommand (mp.DeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);

Як перехоплювати клавіші, натиснуті в вікні іншої програми, будь-які події в сторонніх програмах?

Як викликати з 32-бітної програми 16-бітові DLL?

Чому у мене record a. word; b. longint end; має розмір вісім байт замість шести?

Де взяти детальну документацію по роботі з RTF, TRichEdit?

В MSDN.
У rxLib 2.60 з'явився компонент TrxRichEdit, що повністю підтримує MS RichEdit 2.0 і його DB-aware версія. Рекомендується.

Як можна перетягувати форму не тільки за заголовок?

Як відстежити "догляд" курсора миші з компонета?

Як додати пункти в системне меню вікна?

Отримати хендл системного меню вікна можна за допомогою функції GetSystemMenu ().

Як вшити всередину EXE файлу звук в форматі WAV і програти його.


У файл MyWave.rc пишеш:

MyWave RCDATA LOADONCALL MyWave.wav

brcc32.exe MyWave.rc, отримуєш MyWave.res.

У своїй програмі пишеш:

Попереджаючи наступне твоє запитання "а як прочитати wave-файл з
виконуваного файлу? "

procedure RetrieveMyWave;
var
hResource: THandle;
pData: Pointer;
begin
hResource: = LoadResource (hInstance, FindResource (hInstance, 'MyWave', RT_RCDA
TA));
try
pData: = LockResource (hResource);

if pData = nil then
raise Exception.Create ( 'Can not read MyWave');

// Тут pData вказує на MyWave
// Тепер можна, наприклад, програти його (Win32):
PlaySound (pData, 0, SND_MEMORY);
finally
FreeResource (hResource);
end;
end;

Як дізнатися і змінити дозвіл екрана?

procedure ChangeDisplayResolution (x, y. word);
var
dm. TDEVMODE;
begin
ZeroMemory (@dm, sizeof (TDEVMODE));
dm.dmSize: = sizeof (TDEVMODE);
dm.dmPelsWidth: = x;
dm.dmPelsHeight: = y;
dm.dmFields: = DM_PELSWIDTH or DM_PELSHEIGHT;
ChangeDisplaySettings (dm, 0);
end;

Як під час виконання програми створити об'єкт array of const, наприклад, параметри для функції Format ()?

У бібліотеці Technical Information на сайті Inprise є документ
за нумером TI582D.txt, присвячений цій проблемі. Якщо коротко, як
array of const можна використовувати масив типу TVarRec.

Прочитайте якусь книжку про програмування під Win32. Коротко - забудьте про всі ці дурниці.

Я створив об'єкт TStrings, але при спробі звернення до нього видається помилка. В чому проблема?

TStrings - це абстрактний клас. Вам потрібен TStringList.

Як працювати з графічними форматами, хоча б найвідомішими?

Hа компакті з Delphi 3 в каталозі EXTRAS є бібліотека JPEG. якщо
сказати в модулі uses jpeg; то можна працювати з .jpg як з TPicture.