| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Обновлён FAQ для скачивания |
| Автор: Vit 8.12.2003, 03:36 |
| Существенно обновлён FAQ. 1. Добавлено более 300 статей 2. В существующие статьи добавлено большое количество нового материала 3. Улучшена классификация, навигация. 4. Исправлены ошибки. 5. Добавлены мои комментарии к некоторым статьям. Ссылки для скачивания: 1) Основная: http://chicago.lastplanet.com/DelphistFAQ.2.0.zip 2) Дополнительная: http://www.delphist.com/DelphistFAQ.2.0.zip Формат: Файл CHM (упакован zip), размер 5 496 039 байт (5.24 MB) Очень прошу сообщать о всех пожеланиях, дополнениях, неточностях и т.п. |
| Автор: dr.ZmeY 8.12.2003, 21:10 |
| Интересно.. посмотрим... |
| Автор: NiJazz 8.12.2003, 21:21 |
| Vit, спасибо! Предыдущие были хороши, представляю, что с этим. |
| Автор: Vit 8.12.2003, 22:48 |
| 2 Snick_Y2K - я знаю, что ты сейчас занят, но мне необходимо твоё мнение и помощь как специалиста: 1) Нужно выработать какой-нибудь индивидуальный и оригинальный стиль для этого FAQ, только такой, чтобы не надо было переформатировать каждый топик (этого я не переживу - это работы будет ну уж очень много), хотя бы красиво оформленные страницы главных разделов... 2) Нужен логотип FAQ - не очень большой, но оригинальный |
| Автор: Vit 8.12.2003, 22:51 |
| 2 All - мне нужен помошник. Желателен опыт работы с Help and Manual и хотя бы поверхностное знание Дельфи. Нужно помочь мне с составлением внутренних ссылок в FAQ - как в официальных Help - везде есть линк на "See Also" и список ссылок близких тем... |
| Автор: December 13.12.2003, 01:50 |
| Дубляж: API - Windows - Как скрыть ТаскБар API - Windows - Как принудительно скрыть ТаскБар API - Windows - Как скрыть/показать иконки на рабочем столе? API - Windows - Как скрыть /показать иконки на рабочем столе? |
| Автор: Vit 13.12.2003, 08:39 |
| 2 December - спасибо, это самая большая проблема - дубляжи, я уже не помню - что есть, а чего нет. |
| Автор: December 13.12.2003, 11:32 |
| Soon will be more... |
| Автор: December 14.12.2003, 17:41 | ||
| Системные функции и WinAPI - Windows - Шрифты, языки... - Перекодировка Хороший алгоритм, только вот что-то непонятное там со строкой
Просто перенести в свой проект не удаётся. Также есть несколько (три или больше) статей "Как научить BDE и Database Desktop говорить по-русски". Имеет смысл удалять клоны или лучше оставить как есть, чтобы проще найти было? |
| Автор: December 14.12.2003, 19:09 |
| И вообще, нужно в раздел "Языки, перекодировка..." впихнуть топик из "Работа с dBase" При использовании DOS DBF файлов - перекодировка между форматами |
| Автор: StayAtHome 31.1.2004, 12:27 | ||||||||
| 1. В разделе "Математика, алгоритмы" есть статья с ошибкой в названии: "Как проверить правильность номера средитной карточки?" 2. Дублирующиеся темы:
3. -
|
| Автор: StayAtHome 31.1.2004, 12:43 | ||
| Кандидатуры на добавление в FAQ: Как правильно работать с прозрачными окнами (стиль WS_EX_TRANSPARENT)? Стиль окна-формы указывается в CreateParams. Только вот когда перемещаешь его, фон остается со старым куском экрана. Чтобы этого не происходило, то когда pисуешь своё окно, запоминай, что было под ним,а пpи пеpемещении восстанавливай. HDC hDC = GetDC(GetDesktopWindow()) тебе поможет.. Andrei Bogomolov http://cardy.hypermart.net ICQ UIN:7329451 admin@cardy.hypermart.net e-pager: 7329451@pager.mirabilis.com (2:5013/11.3) ------------------------------------------------------------------------------------------ OpneGL: Каким обpазом выбиpать pазмеp шpифта, т.к. все мои стpадания по выбоpy паpаметpов шpифта в CreateFont() никак не отpажались на его pазмеpе Все что я пpидyмал, это юзать glScale(), но в этом слyчае полyчаем плохое качество (по сpавнению с той-же Воpдой) пpи малом pазмеpе символов. Вот часть работающего примера на Си (переведенного мною на Паскаль (АА)).
Автор: Garik Pozdeev (2:5021/15.9) |
| Автор: StayAtHome 31.1.2004, 12:47 | ||||
| Как по IP адресу получить HostName (и обратно) Хм... А ты увеpен, что пытался найти эту функцию? Ты, навеpно, будешь очень удивлен (так уж повелось в этой эхе), но это gethostbyaddr, а если в Winsock2, то можно еще SAAddressToString Скачиваешь с microsoft или с intel WinSock2 SDK и документацию (она отдельно),там все есть. Мне лень сейчас вспоминать и pазбиpаться, вот тебе кусочек, в котоpом этим функции используются (не пpетендую на абсолютную истину, но с IP pаботает):
Alex Konshin mailto:alexk@msmt.spb.su" (2:5030/217) ------------------------------------------------------------------------------------------------------ Хотелось бы иметь возможность отмены вставки нового узла в TTreeView по нажатию кнопки Esc. Как сделать?
Том Сван "Секреты..." |
| Автор: StayAtHome 31.1.2004, 12:50 | ||
Как зафиксировать один или несколько столбцов в TDBGrid с возможностью навигации по этим столбцам?
Автор: Ramil Galiev (2:5085/33.11) |
| Автор: StayAtHome 31.1.2004, 12:59 | ||||
| Использование HOOK в Дельфи. Что такое НООК? НООК - это механизм перехвата сообщений, предоставляемый системой Microsoft Windows. Программист пишет специального вида функцию (НООК-функция), которая затем при помощи функции SetWindowsHookEx вставляется на верх стека НООК-функций системы. Ваша НООК-функция сама решает, передать ли ей сообщение в следующую НООК-функцию при помощи CallNextHookEx или нет. Какие бывает НООК'и? НООК бывают глобальные, контролирующие всю систему, так и локальные, ориентированные на какой-либо поток (Thread). Кроме того НООК различаются по типу перехватываемых сообщений (подробнее об этом - ниже). НООК несколько подтормаживают систему, поэтому ставить их рекомендуется только при необходимости, и кактолько необходимость в них отпадает - удалять. Как создавать НООК? НООК устанавливается в систему при помощи функции SetWindowsHookEx, вот её заголовок:
idHook константа, определяющая тип вставляемого НООК'а, должна быть одна из нижеследующих констант: WH_CALLWNDPROC вставляемая НООК-функция следит за всеми сообщения перед их отпралением в соответствующую оконную функцию WH_CALLWNDPROCRET вставляемая НООК-функция следит за всеми сообщениями после их отправления в оконную функцию WH_CBT вставляемая НООК-функция следит за окнами, а именно: за созданием, активацией, уничтожением, сменой размера; перед завершением системной команды меню, перед извлечением события мыши или клавиатуры из очереди сообщений, перед установкой фокуса и т.д. WH_DEBUG вставляемая НООК-функция следит за другими НООК-функциями. WH_GETMESSAGE вставляемая НООК-функция следит за сообщениями, посылаемыми в очередь сообщений. WH_JOURNALPLAYBACK вставляемая НООК-функция посылает сообщения, записанные до этого WH_JOURNALRECORD НООК'ом. WH_JOURNALRECORD эта НООК-функция записывает все сообщения куда-либо в специальном формате, причем позже они могут быть "воспроизведены" при помощи НООК'а WH_JOURNALPLAYBACK. Это в некотором роде аналог магнитофонной записи сообщений. WH_KEYBOARD вставляемая НООК-функция следит за сообщениями клавиатуры WH_MOUSE вставляемая НООК-функция следит за сообщениями мыши WH_MSGFILTER WH_SHELL WH_SYSMSGFILTER lpfn указатель на непосредственно функцию. Обратите внимание, что если Вы ставите глобальный НООК, то НООК-функция обязательно должна находиться в некоторой DLL!!! hmod описатель DLL, в которой находится код функции. dwThreadId идентификатор потока, в который вставляется НООК Подробнее о НООК-функциях смотри справку по Win32API. Как удалять НООК? НООК удаляется при помощи функции UnHookWindowsEx. Пример использования НООК. Ставим НООК, следящий за мышью (WH_MOUSE). Программа следит за нажатием средней кнопки мыши, и когда она нажимается, делает окно, находящееся непосредственно под указателем, поверх всех остальных (TopMost). Код самой НООК-функции помещен в библиотеку lib2.dll, туда же помещены и функции Start - для установки НООК, и Remove - для удаления НООК. Файл sticker.dpr
Всё. (С) Автор статьи: Sergey Stolyarov Development и Дельфи (http://MDelphi.far.ru). При использовании этого материала ссылка на автора и источник информации обязательна!!! |
| Автор: StayAtHome 31.1.2004, 13:00 |
| Еще слать? |
| Автор: Vit 1.2.2004, 02:45 |
| Огромное спасибо. Шли конечно... |
| Автор: StayAtHome 1.2.2004, 03:04 | ||||
| Как получить доступ к битам переменной и управлять их значением? Решение 1
Решение 2 SetWord – слово, которое необходимо установить. BitNum – номер бита, который необходимо выставить согласно определениям в секции const (Bit0, Bit1 и др.). GetBitStat возвращает значение True, если бит установлен и False – в противном случае.
Источник: Книга В. Озерова "Delphi. Советы программистов" ---------------------------------------------------------------------------------------------------- Пожелание Добавить ссылку на статью "VCL/TForm/Общие вопросы/Как иммитировать появление формы как нового приложения?" В раздел "Системные функции и WinAPI/Windows/Taskbar, кнопка Пуск..." |
| Автор: StayAtHome 1.2.2004, 03:19 | ||
Как послать самостийное сообщение всем окнам Windows?
Кстати, для посылки сообщения дочерним контролам некоего контрола можно использовать метод Broadcast. АвторAndrey Burov (2:463/238.19) |
| Автор: StayAtHome 1.2.2004, 03:29 | ||||||
| Как отчитывать промежутки времени с точностью, большей чем 60 мсек? Для начала описываешь процедуру, которая будет вызываться по сообщению от таймера :
а дальше в программе (например по нажатию кнопки) создаешь Таймер и вешаешь на него созданную процедуру
Подробности смотри в Help. Hу и в конце убиваешь таймер
И все. Точность этого способа до 1 мсек. минимальный интервал времени можно задавать 1 мсек. Автор: Leonid Tserling tlv@f3334.dd.vaz.tlt.ru |
| Автор: StayAtHome 1.2.2004, 03:34 | ||
| Как указать максимальный размер текста для RichEdit Control? У этого компонента есть свойство MaxLength, которое работает некорректно. Поэтому лучше пользоваться
Причем перед каждом открытии файла это действие необходимо повторять. Maxim Liverovskiy (2:5030/254.38) Если Вы передаете в качестве размера 0, то ОС ограничивает размер OS Specific Default Value. Реально, по результатам моих экспериментов, поставить можно размер, чуть меньший доступной виртуальной памяти. Я ограничился 90% от свободной виртуалки. Для того, чтобы не повторять этот вызов (EM_LIMITTEXT), можно воспользоваться сообщением EM_EXLIMITTEXT. Stas Mehanoshin (2:5030/143.23) |
| Автор: StayAtHome 1.2.2004, 03:45 | ||
Как рисовать картинки в пунктах меню?
es906@kolnpp.elektra.ru (2:5031/12.23) ----------------------------------------------------------------------------------------------------------- К сожалению, до меня этот совет дошел уже с битой кодировуой в комментариях |
| Автор: StayAtHome 1.2.2004, 14:11 | ||||
| Что нужно давать WSAAsyncSelect в качестве параметра handle если тот запускается и используется в dll (init) и никакой формы (у которой можно было бы взять этот handle) в этом dll не создается. Что бы такого сделать чтобы работало?
Hо pекомендую посмотpеть WinSock2, в котоpом можно:
То есть, обойтись без окон и без очеpеди сообщений windows, а заодно иметь возможность pаботать и с IPX/SPX, и с netbios. Свой winsock2.pas я вчеpа кинул в RU.DELPHI.DB, если кто имеет такой из дpугих источников - свистните погpомче. Автор: Alex Konshin alexk@msmt.spb.su (2:5030/217) |
| Автор: StayAtHome 1.2.2004, 14:13 | ||
| Как правильно в Win32 отслеживать запуск второй копии программы? FindWindow является неполным решением (если меняется заголовок окна или если есть другая программа с таким же заголовком или типом окна). Вторично: медленно.Лениво пользовать семафоры, покажу на именованных мутексах (семафоры с двумя состояниями).
Автор:Akzhan Abdulin (2:5040/55) |
| Автор: StayAtHome 1.2.2004, 14:15 | ||||
| Как сделать,чтобы орган управления - сложная линия хваталась только за линию и пропускала мышь под себя в других местах? Надо CM_HITTEST обpабатывать (Это сообщение получают даже потомки от TGraphicsControl, не имеющего своего HWND). Hапpимеp, так:
Автор:Dmitry Medved (2:464/58.7) ------------------------------------------------------------------------------- Как отследить изменение файловой системы и/или реестра ОС? Отслеживание файловой системы через FindFirstFileNotification и прочие. Отслеживание реестра ОС - RegNotifyChangeKeyValue (только для NT). Авторы:Alexey Mahotkin(2:5020/433) Dmitry V'yal(2:450/110.11) Примечание:Вопрос об отслеживании файлов уже есть, а вот о реестре - я не нашел. ------------------------------------------------------------------------------- Как получить имя папки pабочего стола (не чеpез registry). ПРpосто очень хочется поpаботать с shell functions.
Автор: Denis Tanayev denis@demo.ru |
| Автор: StayAtHome 1.2.2004, 14:17 | ||||||
| Как рисовать на органе управления, например, на TPanel (у которого нет свойства Canvas)? У всех компонентов, порожденных от TCustomControl, имеется свойство Canvas типа TCanvas. Грубо говоря, это аналог TDC из OWL. Те операции, которые нельзя выполнить с помощью методов TCanvas, можно выполнить с помощью WinAPI. Для этого у обьектов класса TCanvas имеется свойство Handle - это и есть Хэндл Дисплейного Контекста ОС Windows (HDC), который необходим графическим функциям WinAPI. Если свойство Canvas недоступно, Вы можете достучаться до него созданием потомка и переносом этого свойства в раздел Public.
Автор:Akzhan Abdulin (2:5040/55) У меня есть маленькое замечание. Если у объекта нет свойства Canvas (у TDBEdit, вpоде-бы нет), по кpайней меpе в D3 можно использовать класс TControlCanvas. Пpимеpное использование:
и далее как обычно можно использовать методы Canvas. Автор:Andrew Velikoredchanin (2:5026/29.3) ------------------------------------------------------------------------------- Как выделить некотоpые стpочки в TTreeView жиpным или бледным? Гpхм... Господа, но если pечь пpо bold... Матчасть yчить надо 8-).
Когда-то (мечтательно закатив глаза в потолок) в API было еще и TVIS_DISABLE.Снесли собаки. А pекомендyемyю стилистикy yпотpебления этого добpа смотpи в MS Internet News. Автор:Dmitry Nogin (FidoNet 2:5020/611.15) |
| Автор: StayAtHome 1.2.2004, 14:19 | ||||||
| IMHO файл .dfm - это компилированный ресурс с определением сеттингов формы.А можно ли как-то увидеть этот ресуpс в исходном виде? 1. File|Open... ТвояФорма.DFM (увидишь текст) 2. "\delphi\bin\convert ТвояФорма.DFM" получится ТвояФорма.TXT [можно и наоборот] Идею в массы: в DN/VC/NC можно настроить viewer'ом .DFM .BAT'ник, который скажет convert;wpview;del - и заглядывать в .DFM не открывая Delphi.Кстати, функции, которые реализуют это преобразование, доступны для использования в личных целях
Автор:Александр Петросян, Зеленоград. (2:5020/468.8) ------------------------------------------------------------------------------- Как в TMemo определить номер строки, в которой находится курсор и его местоположение в строке.
Автор:Alexey Glotov(2:5020/382.18) ------------------------------------------------------------------------------- Можно ли запустить OpenGL под Windows'95, и как поставлять его с программой? Беpешь, к пpимеpy, из диcтpибyтива OSR2 GLU32.DLL и OPENGL32.DLL - и запycкай на здоpовье. Автор:Alexei Ivanov(2:5020/942.1) Более эффективную реализацию OpenGL для Win32 от фирмы SGI я бы советовал стянуть с www.sgi.com или www.opengl.org Автор:Akzhan Abdulin(2:5040/55) ------------------------------------------------------------------------------- Как создать клон (копию, достаточно близкую к оригиналу) произвольного компонента? Здесь пpоцедypа CreateClone, котоpая кpеатит компонентy ОЧЕHЬ ПОХОЖУЮ на входнyю. С такими же значениями свойств. Пpисваивается все, кpоме методов.
Автор:Vladimir Gaitanoff(2:5020/880.5) |
| Автор: StayAtHome 1.2.2004, 14:21 | ||
Как задать в качестве фона MDIForm картинку из TBitmap?
Автор:Alex Miachin(2:5000/81.12) |
| Автор: StayAtHome 1.2.2004, 14:23 |
| ------------------------------------------------------------------------------- Как корректно перехватить сигнал выгрузки операционной системы, если в моей программе нет окна? Используй GetMessage(), в качестве HWND окна пиши NULL. Если в очереде сообщений следущее WM_QUIT, то функция фозвращает FALSE. Если ты пишешь прогу для win32, то запихни это в отдельный поток, организующий выход из програмы. Автор:Alex Soloviev(2:5047/14.20) ------------------------------------------------------------------------------- Предложения по улучшению FAQ 1. Сделать ссылку на тему "Системные функции и WinAPI/ Windows/Процессы, потоки, память, задачи/Как сделать, чтобы запускалась только одна копия приложения?" в разделе "Разработка приложений" 2. Перенести тему "Системные функции и WinAPI/ Windows/ Процессы, потоки, память,задачи/Запуск программ с передачей консольного ввода и чтением вывода?" в подраздел "../Консольные приложения", убрав из ее названия вопросительны знак. 3. В разделе VCL некоторые названия тем соответствующие названиям компонентов сожержат префикс "Т" (TForm, TEdit)а некоторые -- нет (Label, TreeView). Стоит привести их к общему виду. 4. В разделе "Delphi IDE, компилятор.../Ошибки в Дельфи/" есть тема ""Error reading symbol file." error" у которой не отображается название в дереве тем слева. Пока все. Большая просьба. Если что-то из приведенного выше не войдет в FAQ, пожалуйста напишите об этом. Я навожу порядок в своей коллекции документации, и не хочется потерять информацию. |
| Автор: December 4.2.2004, 03:47 |
| StayAtHome От меня лично большое спасибо за предоставленные примеры. Vit, может, это уже предлагалось, не помню, но всё же: может, стоит сделать из FAQ два FAQ: один - общие вопросы, VCL, BD - самое популярное, второй - сети, инет, ActiveX, Kylix, .Net etc - потому как не очень красиво отсылать вопрошающего к пятиметровому файлу, а вот скачать, скажем, полтора метра - гораздо проще. |
| Автор: Vit 4.2.2004, 20:30 |
| Подумаю,может и правда сделаю в виде нескольких вариантов |
| Автор: Cheba 5.2.2004, 02:28 |
| И можно сделать, чтобы если несколько частей в одной папке, то к любой можно было добраться из любого файла. Точно знаю, что html-help'ы можно связывать. |
| Автор: Medved 5.2.2004, 07:07 |
| Кстати Вит, размер FAQ это действительно проблема. ПО крайней мере для USSR-ного пользователя, учитывая что большинство сидит на dual-up. Может как нибудь попробовать его оптимизировать. Или сжать чем нибуть сам exe-шник. |
| Автор: Monty 5.2.2004, 07:08 | ||
Поправка: Протектор Armadillo этого минуса не имеет |
| Автор: Paradox 6.2.2004, 07:14 |
| Vit не знаю видел или нет, и включены ли описанные http://blackman.wp-club.net/myfaq/cont3.php вопросы в наш FAQ, но будет время зайди глянь, я бы мог повыбирать но к сожалению не настолько хорошо знаком с содержанием нашего FAQ, так как заглядываю только по необходимости ИМХО вышеописанные примеры могут быть отттуда, поэтому может там есть еще что-нибудь чего нет у нас |
| Автор: StayAtHome 8.2.2004, 20:54 | ||
| Ну что ж... Продолжим! Smart Browse For Folder example of smart usage of BrowseForFolder API function including - repositioning and resizing browse window - adding a listbox, static elements and a button - catching button click - filling the listbox with file names - custom information field - custom condition for allowing folder selection - creating new folder - !!! REFRESHING TREE !!! after folder creation (thanks to Leonid Kunin for his idea published at http://codeguru.earthweb.com) Copyright © Konstantin Polyakov, 2001 FIDO: 2:5030/542.251 e-mail: kpolyakov@mail.ru Web: http://kpolyakov.newmail.ru
|
| Автор: StayAtHome 8.2.2004, 20:56 | ||||||||
| Обработка сообщения о максимизации окна Q: Я хочу обрабатывать сообщение об максимизации окна и изменить его размер вручную. Я написал обработчик для SC_MAXIMIZE. Но это мне дает ошибку duplicate virtual method error (?). A: Вместо этого обрабатывайте сообщение WMGetMinMaxInfo.
------------------------------------------------------------------------------- Как я могу вставить текст в TMemo в позиции курсора? Я хочу использовать клавишу для вставки некоторых стандартных фраз. Я решил эту проблему путем использования TEdit из которого я копирую текст в clipboard и вставляю его в Memo. Это удовлетворительно, но я не хочу использовать clipboard в своей программе, к тому же пользователь может также вставить кое что свое, что нежелательно. === 1 === Используйте Windows API сообщение EM_REPLACESEL EM_REPLACESEL wParam = 0; /* not used, must be zero */ lParam = (LPARAM) (LPCSTR) lpszReplace; /* address of new string */ В программе пошлите сообщение EM_REPLACESEL для замены текущего выбора текстом в параметре lpszReplace. Параметр Описание lpszReplace содержит замещающий текст Возврат нет возвращаемого значения Комментарий Исползуйте EM_REPLACESEL когда вы хотите заменить тоько часть текста. Если вы желаете заместить весь текст то используйте сообщение WM_SETTEXT. Если выделение отсутствует то, замещаемый текст вставляется в текущую позицию. === 2 === для вставки строки в memo :
для вставки и замены:
------------------------------------------------------------------------------- Как заставить курсор перемещаться только x-координате В вашем обработчике OnMouseMove сделайте следующее:
Переменная lockY определяет желаете ли вы подобное поведение курсора или нет. |
| Автор: StayAtHome 8.2.2004, 21:06 | ||
| Я хочу узнать номер текущей записи для DBase таблицы. Если набор данных является таблицей Paradox или dBASE то номер записи может быть получен путем ряда вызовов BDE API. BDE не поддерживает нумерацию для SQL таблиц, но если ваш сервер поддерживает это, то вы должны ознакомиться с соотвествующей документацией на сервер. Следующая функция получает параметр любого компонента наследника от TDataset (например TTable, TQuery, TStoredProc) и возвращвет номер текущей записи (больше чем 0) если это таблица Paradox или dBASE. В других случая возвращается 0. Примечние: для dBASE это номер физической записи.
|
| Автор: StayAtHome 8.2.2004, 21:08 | ||||||
Как я могу назначить заголовок для диспетчера печати?
------------------------------------------------------------------------------- Существует ли способ вызвать метод Hint напрямую? Я хочу по нажатию на определенную клавишу показать Hint для другого компонента после 1 секунды или более и пропасть после отпускания клавиши.
------------------------------------------------------------------------------- Есть ли какой либо метод вызываемый при переходе на другую строку в TDBGrid? Вы можете использовать метод OnDataChange компонента Datasource к которому подсоединен DBGrid. Если свойство State равно dsBrowse то это означает переход на другую строки (или открытие таблицы). Почему нет этого события у самого dbGrid? Потому что grid не единственный компонент в который используется для показа данных из таблицы. Использование Datasource обеспечивает централизованное управление данным событием. ------------------------------------------------------------------------------- Как можно определить в обработчике MenuItem для PopupMenu, на какой компоненте было произведено нажатие правой кнопки мыши? Для этого нужно воспользоваться свойством PopupMenu.PopupComponent, например:
|
| Автор: StayAtHome 8.2.2004, 21:18 | ||
| Почему экземпляры наследников TFiled, после вставки их через FieldEditor, присутствуют в Object Inspector и в описании формы в PAS-файле, но их иконки отсутствуют в форме (design-time)? Дело в том, что наследники TFiled, такие как TStringField, TIntegerField и т.д. зарегистрированы не процедурой RegisterComponents, а процедурой RegisterNoIcon. Поэтому, хотя TField является наследником TComponent, его наследники не имеют иконок в форме в режиме дизайна. Вы можете использовать эту процедуру регистрации, если Вы хотите, чтобы Ваши компоненты не отображались в палитре компонент Delphi, но были доступны для вставки в форму и удаления из нее в режиме дизайна из редакторов свойств (Property Editor) или редакторов компонент (Component Editor) других компонент, присутствующих в форме. Именно так сделан редактор компонент TTable и TQuery - Fields Editor. ------------------------------------------------------------------------------- В BP 7.0 возможно было регулировать форму отображения величин в процессе отладки в окне ""Watch List"". Возможно ли такое в Delphi? Такой эффект можно достичь используя следующие спецификации формата отображения (практически совпадающие с BP 7.0), которые указываются через запятую после идентификатора инспектируемой величины:
|
| Автор: StayAtHome 8.2.2004, 21:31 | ||||||||||
| Как определить, что текущая запись удаленная или нет Аналог функции dBase DELETED()
Аналог функции dBase SET DELETED ON/OFF
------------------------------------------------------------------------------- Как востановить удаленые записи ддля dBase таблиц? Востановление удаленной записи. Аналог функции dBase RECALL После востановления требуется вызов метода Table.Refresh
------------------------------------------------------------------------------- Как получить номер физической записи для dBase таблиц Получение номера физической записи. Аналог функции dBase RECNO()
Автор:Alexander Petrushev (2:5001/88.10) Способ 2 На самом деле есть более простой способ (запрет на SC_CLOSE), но я уже деталей его не помню. Автор:Akzhan Abdulin (2:5040/55) Способ 3
------------------------------------------------------------------------------- Как убрать всплывающие подсказки в TreeView? TCustomTreeView.WMNotify. О том, что такое тип notify'а TTM_NEEDTEXT пpочтешь в хелпе. Убpать хинты можно, пеpекpыв обpаботчик для этого уведомительного сообщения. Автор:Eugene Mayevski Eugene-Mayevski@usa.net (2:463/209.209) |
| Автор: StayAtHome 10.2.2004, 01:58 | ||||||
| Замеченные недочеты] - В разделе "Системные функции и WinAPI/Windows/Звук/Как можно получить звук с микрофона" есть тема "Пример работы с DrawIcon(Ex)" - Частичный дубляж:
-------------------------------------------------------------------------------- Как сделать пункт " по умолчанию" в Pop-Up меню выделенным ?] Устанавливается пункт " по умолчанию" в любом меню функцией
подробности - в Win32 SDK документации. Пункт "По умолчанию" не влияет на работу меню - это чисто интерфейсное выделение пункта меню полужирным (bold) шрифтом. -------------------------------------------------------------------------------- |
| Автор: StayAtHome 10.2.2004, 02:00 | ||||
| Как поместить ProgressBar на StatusBar. Есть два принципиально разных решения. Первый вариант - это сделать все " вручную" . Здесь создается Bitmap с текстом (возможно любое изображение). Чтобы нарисовать светлую часть полосы, достаточно скопировать кусок Bitmap на StatusBar, а чтобы нарисовать темную часть полосы, нужно скопировать кусок Bitmap с инвертированием. При этом фон станет темным, а текст светлым. Реализация ясна из самой программы. Второй вариант более простой в реализации, но и менее функциональный. StatusBar является наследником TWinControl, а следовательно, на нем можно разместить еще какие-то компоненты. Но сделать это можно только динамически (непосредственно из программы). На StatusBar помещается компонент ProgressBar, вначале невидимый. Когда в нем появляется необходимость, его нужно сделать видимым и начать изменять свойство Position. Из этого примера хорошо видны некоторые достоинства и недостатки объектов. Если у Вас Delphi3, то строчка pb.Smooth := true; работать не будет. На сайте выложена версия программы с заменой этой строчки. Впрочем, ее можно просто удалить - принципиально это ничего не изменит. Скачать все необходимые для компиляции файлы проекта можно на program.dax.ru. Способ 1
-------------------- Способ 2
Все советы и замечания, пожалуйста, присылайте на subscribe@program.dax.ru Даниил Карапетян. |
| Автор: StayAtHome 10.2.2004, 02:18 | ||
| Алгоритм распо§нования кодировки нужен для автоматического декодирования текста. Этот алгоритм основан на том, что некоторые буквы русского алфавита встречается очень часто, а некоторые редко. Поскольку этот способ статистический, то лучше всего он работает с большими текстами.
|
| Автор: Cashey 14.2.2004, 12:57 |
| Я что-то не понял у нас теперь FAQ в виде постов оформляется? |
| Автор: December 14.2.2004, 13:35 |
| Не, я так понял, Vit это потом занесёт в FAQ, который chm |
| Автор: Vit 14.2.2004, 18:12 | ||
Просто тут собирается всё что планируется для FAQ, как соберётся достаточно материала и у меня времени - это всё войдёт в следующую версию |
| Автор: Cashey 14.2.2004, 20:22 |
| А почему это все нельзя оформить отдельными темами, с соответсвующим заголовком, в основном форуме? Что бы тем кому это нужно могли сразу найти. |
| Автор: December 14.2.2004, 21:18 |
| Cashey Вообще-то это уже есть... Раздел FAQ |
| Автор: Cashey 15.2.2004, 01:30 |
| Вообще-то эта тема называется "Обновлён FAQ для скачивания" (это я о правилах форума) и лично я искать здесь ответ на вопрос об алгоритме распо§нования кодировки стал бы в последнюю очередь. |
| Автор: StayAtHome 15.2.2004, 02:11 |
| Cashey Сорри, пишу здесь с позволения Vit'a и дабы не плодить многочисленные темы. |
| Автор: Vit 15.2.2004, 02:51 | ||
Я попросил сбрасывать сюда. В FAQ если дать всем доступ то будет бардак, а если сообщения просто бросать в форум то через месяц я их не найду. Кроме того, другие кто скачивает FAQ сюда же сообщают и недоработки и ошибки - мне так гораздо удобнее будет работать над следующими версиями. Когда новая версия FAQ будет опубликована - я прикреплю новый топик, а этот канет в небытиё. Извини, Cashey - но это самая удобная пока форма работы для меня, когда появится нормальный FAQ - этих проблем не будет, а пока прийдётся смириться - все мы миримся с теми или иными неудобствами. В данном топике идёт обсуждение FAQ, логично было бы в нём же иметь и то что люди хотят дополнить.
Извинения не требуются, так как разрешил я, то все шишки на меня, ты здесь не причём... |
| Автор: Cheba 15.2.2004, 13:08 | ||
2 Vit
|
| Автор: dm9 15.2.2004, 17:22 |
| Vit, у меня на диске есть ФАК. Решил вот выложить в интернет. Может, ты это видел. Если нет и это интересно - пришлю в архиве. Может, что дополнишь. http://dmitry9.nm.ru/info Обрати внимание на "Маленькие хитрости с большой пользой" PS По-моему, этот ФАК так часто попадается на пиратских компактах, что его все видели, но всё же... |
| Автор: Vit 16.2.2004, 16:39 | ||||
Off-line FAQ он Off-line и есть. К сожалению я не смогу прислать тебе чисто add-on, так как каждый раз я ещё меняю очень многое - структуру, добавляю индексы, новые перекрёстные ссылки, переношу разделы, топики, что-то добавляю, что-то удаляю, какие-то топики разделяю на подразделы и т.д. Поэтому работа над каждой новой версией отнюдь не ограничивается простым добавлением новых статей. В связи с этим у тебя нет никакой другой возможности, кроме как обновить файл целиком. Впрочем я не так часто делаю Update...
Спасибо, я посмотрю. |
| Автор: swe 19.2.2004, 09:43 |
| 2 Vit В разделе "ссылки на сайты по Delphi" есть строка: http://www.borland.com.ru/delphi/index.htm Borland Russia должно быть: http://www.borland.ru/delphi/index.htm Borland Russia или http://www.borland.ru/delphi/ Borland Russia |
| Автор: swe 24.2.2004, 01:29 |
| 2 Vit Ещё два технических момента: 1. Многие корпоративные прокси, особенно в ВУЗах имеют ограничение на объем скачиваемых файлов в 2 мегабайта. Поэтому желательно иметь вариант download архива порезанного на кусочки. 2. В обычной Win98 левая сторона (т.е. оглавление) отображается шрифтом, который не имеет киррилического набора символов. Видимо Win98 некорректно делает автоподстановку какого-то отсутствующего шрифта, причем неизвестно какого. Желательно шрифт сменить. |
| Автор: Vit 24.2.2004, 23:57 | ||||||
Спасибо, исправлю.
Принято, будет
Знаю, пока не знаю как исправить |
| Автор: Cheba 9.3.2004, 23:15 |
| Что-то долго новостей нет... Скажи хотябы примерно, на когда намечается новый ФАК? |
| Автор: Vit 11.3.2004, 18:34 |
| Сейчас у меня дома ремонт: компьютер не то что не подключен - просто разобран на части которые зарыты в кучу вещей в мой рост размером.... При самом оптимистичном раскладе мне нужно будет примерно ещё 2-3 недели для того чтобы можно было хотябы включить компьютер... |
| Автор: Vit 6.4.2004, 00:43 |
| А есть идеи как назвать FAQ? А то он какой-то безликий... Да и FAQ его уже не очень-то назовёшь, слишком уж обширный. |
| Автор: StayAtHome 6.4.2004, 01:43 |
| Delphilibrium Delphinium Университет Делфи Delphi Universe Master's Tips Советы Бывалого Полное собрание сочинений делфиста и т. д. На каком языке нужно название? |
| Автор: Guest 14.4.2004, 10:09 |
| Спасибо! Это самая хорошая вещь-для меня и моих студентов! |
| Автор: Vit 14.4.2004, 16:37 | ||||
На любом!
Привет студентам от автора! |
| Автор: StayAtHome 15.4.2004, 00:28 |
| Точно! И автограф, и портрет! :-) Когда обновление-то? |
| Автор: Vit 15.4.2004, 07:51 |
| Скоро уже. Сейчас работаю. Тут вот даже ещё один топик создал по ходу дела: http://forum.vingrad.ru/index.php?showtopic=21417 |
| Автор: cardinal 18.4.2004, 22:02 |
| Vit, я немного посмотрел на FAQ. Круто - до фига хорошей информации. Я только две вещи заметил: 1. В теме "Что такое базы данных?" ответ начинается: итак бд существуют след. видов... Помоему нестыковачка. 2. "Как проверить правильность номера средитной карточки?". Тут опечаточка. Все мелочи, но раз уж я увидел, решил сказать. |
| Автор: Medved 26.4.2004, 00:13 | ||
ИМХО пусть сам файл так и называется - Delphist. Скромно, содержательно и со вкусом, плюс косвенно указывает на своего составителя. Ну а в заголовок можно и расписать, например - "Советы программистов". |
| Автор: Cashey 26.4.2004, 08:42 |
| Я заметил, что в FAQ включены статьи по базам данных, которые прямого отношения к Delphi не имеют. Стало быть надо расширять и название. Например: "Лучшие с форумов программистов" |
| Автор: Medved 26.4.2004, 13:22 |
| Или "Справочник программиста" |
| Автор: Pakshin A. S. 27.4.2004, 19:59 |
| "Гениальные решения от Vit'а" (от Новичка до Эксперта) |
| Автор: x77 28.4.2004, 17:44 |
| Pakshin A. S., ... и генитальные - от Pakshin'а!! |
| Автор: Vit 28.4.2004, 21:01 |
| x77, ну не надо скатываться до пошлости, а "гениальные" это черезчур. |
| Автор: x77 29.4.2004, 09:10 |
| Vit, каюсь, грешен ;) |
| Автор: x77 30.4.2004, 15:11 |
| Vit, там бредятина откровенная в старом факе (2.0, который). глянь темку, плз.: http://forum.vingrad.ru/index.php?showtopic=22108 |
| Автор: Vit 1.5.2004, 17:52 |
| Закончили с этой версией! Всем огромное спасибо: http://forum.vingrad.ru/index.php?showtopic=22229 |
| Автор: yurka 3.5.2004, 22:56 |
| Какой язык лучший? |
| Автор: Vit 3.5.2004, 23:05 | ||
Очень рекомендую говяжий заливной под майонезом, при правильном приготовлении - блюдо будет - пальчики оближешь, и никакие другие языки даже пробовать не захочется. |
| Автор: Cheba 3.5.2004, 23:39 |
| Vit, юморист. |
| Автор: Medved 4.5.2004, 00:19 |
| Ну тут с тобой Вит я полностью несогласен, говяжий это хорошо, да еще с майонезом... но, мне вот например больше нравиться моей подружки, маленький такой и нежный, хотя порой бывает очень привередливый и колкий... |
| Автор: December 4.5.2004, 00:20 | ||
Однозначно основанный на азбуке Морзе. Чтоб лишние вопросы лень было писать. |