На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
  
> Delphi Russian Knowledge Base 2.3 , Новая версия от 30 января 2005 года
    Вышла новая версия нашего off-line delphi FAQ.
    Delphi Russian Knowledge Base 2.3


    Теперь у DRKB появилась своя домашняя страничка

    www.drkb.ru


    На ней же линки для скачивания

    Размер файла: 10 Mb
    Что нового:
    1. Добавлено более 600 новых статей
    2. Существенно переработаны и дополнены старые статьи, исправлено или заменено большое количество исходных кодов
    3. Особое внимание уделено вопросам классификации, перекрёстным ссылкам, поиску и удалению дупликатов.
    4. Масса мелкий исправлений.


    Об ошибках, замечаниях, дополнениях и пожеланиях можно сообщать прямо в этот топик.


    Огромное спасибо всем, кто откликнулся и помог сделать эту версию лучше!

    Вот примерный список новых статей:

    Не читаются русские буквы в Database Desktop Updated!
    Как отследить изменения дисплея? Updated!
    Как извлечь иконку из EXE или DLL? Updated!
    Дельфи компонент для подкраски синтаксиса Updated!
    Вскрытие запароленной таблицы Paradox Updated!
    Восстановление записи dBase Updated!
    Как получить параметры Alias? Updated!
    TStringGrid --> HTML New!
    Как получить количество активных ссылок на строку? New!
    BCD --> String New!
    CRT для консольного приложения New!
    How to get all the resource names that are loaded in a given application? New!
    Сохранение и загрузка двумерного динамического масива New!
    Список handle всех окон моего приложения New!
    Method pointers --> function pointers New!
    Ограничить подвижность формы New!
    Манипулирование кнопками OpenDialog New!
    Как извлечь иконку из файла ярлыка? New!
    Как определить использует ли пользователь стили? New!
    Облегчённый вариант класса TRegistry New!
    Чтение email адресов из Outlook .dbx файлов New!
    Сохранить TImagelist в файл со всем содержимым New!
    Как узнать форма активна или нет? New!
    HTML --> RTF New!
    String --> HKEY New!
    HKey --> String? New!
    Как сделать procedure/function с переменным количеством параметров? New!
    Rotate a 2D Point New!
    Если нажато более 2х клавиш одновременно... New!
    String --> BCD New!
    Как найти строку в строке начиная с определённой позиции? New!
    Печать в порт принтера New!
    Как найти все установленные компоненты? New!
    Как прочитать адрес отправителя? New!
    Как экспортировать данные из StringGrid в Excel? New!
    Как прочитать выделенный текст из IE? New!
    Зоздать новый Outlook Contact? New!
    Как сохранить Outlook календарь как website? New!
    Как вставить RTF в Word? New!
    Как использовать Microsoft Speech API? New!
    Как получить длину wav в секундах? New!
    Как снять пароль с Excel файла? New!
    Как перейти к нужному ключу в Regedit? New!
    Flash SWF --> EXE New!
    Hook функций в собственном приложении New!
    Как выключить master volume в звуковой карте? New!
    Как получить список всех зарегистрированных typelibs? New!
    Поиск в TreeView по тексту New!
    Как узнать размер картинки для JPG, GIF и PNG файлов? Updated!
    После логина возникает EExternalError 0xC0000008 New!
    Как восстановить повреждённую таблицу? New!
    Как работать с выделенными запясями в TDBGrid? New!
    Explode / Implode a String? New!
    Быстрые операции с очень большими строками New!
    Использование PHP-like операций с массивами New!
    WideString -->String New!
    String --> WideString New!
    Регулярные выражения New!
    Количество вхождений подстроки в строку New!
    Как использовать format parameter больше одного раза? New!
    Создание DBExpress соединения в Runtime New!
    Как послать данные другому приложению используя auto-drag-n-drop? New!
    Создание базы данных в run-time с ZEOS? New!
    Шифрование файлов при помощи NTFS функций New!
    File List View in File Dialogs New!
    Как удалить сегодняшнюю дату из TDateTimePicker? New!
    Проверяем находится ли файл на локальном диске New!
    Как сменить картинки на TDBNavigator? New!
    Split/merge files? New!
    Способы уменьшения размера Exe файлов полученных с помощью Дельфи? New!
    Как восстановить индексы? New!
    Создание автоинкрементного поля SQL запросом? New!
    Index not found Exception New!
    Загрузить все записи в Stringlist одним махом? New!
    Как забыть о необходимости разрушать объекты? New!
    Как передвинуть колонку в TDBGrid? New!
    Как предотвратить Data Corruption (повреждение данных)? New!
    Реализовать фоновую работу программы New!
    Как сделать ADOConnection с использованием OLE-Automation? New!
    Как ускорить поиск? New!
    Мигание при добавлении строк New!
    Конвертируем TDateTime to Unix Timestamp New!
    Цвета в TDBGrid New!
    Сохранить изображение в формате JPEG New!
    Выделить все поля в TDBGrid? New!
    Краткий словарь терминологии CORBA New!
    Удалить dbase index flag New!
    Многомерное представление данных (статья) New!
    Как показать удалённые записи New!
    Сохранить F1Book в Blob поле New!
    Мемо в DBGrid New!
    Как узнать версию таблицы New!
    Как добавить пароль к таблице New!
    Технология dbExpress (статья) New!
    Библиотека реализующая практически все распространённые алгоритмы шифрования и хэширования New!
    Работа над ошибками New!
    Методы компрессии/декомпрессии New!
    Самый продвинутый DBGrid New!
    Rave Report - Руководство разработчика New!
    Соглашения о вызовах New!
    Ревизия интерфейсов (статья) New!
    Основы языка SQL (статья) New!
    Использование модуля ShareMem New!
    Создание окон произвольной формы (Статья) New!
    Страницы Excel — компонент F1Book New!
    Элементы управления Windows XP New!
    Использование ADO (статья) New!
    DDE (статья) New!
    Технология DataSnap (статья) New!
    Клиент многозвенного распределенного приложения (статья) New!
    Сервер приложения (статья) New!
    Пользовательский интерфейс Windows XP New!
    Манифест Windows XP New!
    Компонент TXPManifest New!
    Включение манифеста Windows XP в ресурсы приложения New!
    Визуальные стили и темы оформления New!
    Визуальные стили в Delphi New!
    Theme API New!
    Компоненты настройки цветовой палитры New!
    TComponent New!
    TPersistent New!
    TObject New!
    TControl New!
    TWinControl New!
    TCustomControl New!
    TGraphicControl New!
    Rave Report - Руководство пользователя New!
    Что такое множества? New!
    Функции для работы с памятьюNew!
    Функции и процедуры для работы с drag-and-drop операциями New!
    Функции преобразования UNICODE и ANSI строк New!
    Отображение файлов в память New!
    Как использовать параметры коммандной строки? Updated!
    Функции и процедуры управления мышью New!
    Поддержка процедур завершения программы New!
    Функции и процедуры для работы с данными перечислимого типа New!
    Перемещать объект на сложном фоне New!
    Функции и процедуры для финансовых вычислений New!
    Арифметика New!
    Тригонометрические функции и процедуры New!
    Операции над числовыми массивами New!
    Имитировать события мыши New!
    Примеры работы с динамическими массивами Updated!
    Объектно-ориентированное программирование (статья) New!
    Доступ к COM серверам Microsoft Office из Delphi 5 (Статья) New!
    Приостановить компьютер (sleep) New!
    Размыть изображение New!
    Узнать о завершении работы Windows New!
    Открыть файл JPEG New!
    Сыграть звуковой файл без компонентов New!
    Как ограничить перемещение курсора? New!
    Создание модулей расширения Microsoft Office New!
    Естественные ключи против искуственных ключей New!
    Delphi и COM (статья) New!
    Архитектура BDE и его особенности при работе с SQL-серверами(статья) New!
    Delphi и Windows API (Статья) New!
    Как добавить файл в меню Пуск/Документы New!
    Распознавание кодировки New!
    Пример загрузки файлов в ListView с иконками Updated!
    Как очистить canvas Updated!
    Как выдавить текст New!
    Как вывести полупрозрачный текст New!
    Как различать звуковые CD New!
    Interprocess communication на примере keyboard hook (статья) New!
    Особенности работы с БД на MS SQL Server 2000 из Delphi 5 (статья) New!
    Поиск по мемо полям New!
    Как вернуть результат в виде XML? New!
    Как сравнить быстродействие алгоритмов New!
    Как выводить hint при движении мыши над списком New!
    Как вывести диалог Обзор папок New!
    Как вычислить математическое выражение Updated!
    Как засечь время New!
    Как узнать об изменении системного времени New!
    БД - хранилище объектов (статья) New!
    Как делать переносы в Hint New!
    Перенос приложений с BDE на dbExpress (статья) New!
    Использование Microsoft ScriptControl (статья) New!
    AWE или как выйти за пределы 32 битной адресации New!
    Синхронизация процессов при работе с Windows (статья) New!
    Использование TwebBrowser (статья) New!
    Компоненты ADO (статья) New!
    CryptoAPI (статья) New!
    Использование ассемблера в Дельфи (статья) New!
    Как сравнить bookmarks в таблице? New!
    Генераторы и их использование New!
    TList New!
    TStrings и TStringList New!
    TStream New!
    Справочник по функциям работы со строками New!
    Справочник по функциям работы с PChar New!
    Справочник по функциям работы с файлами New!
    Список режимов открытия файлов New!
    Функции форматирования строк New!
    Функции преобразования чисел с плавающей точкой New!
    Внутренний интерфейс Drag and Drop New!
    Ярлычки и оперативная подсказка New!
    Динамический обмен данными (DDE) New!
    Использование интерфейса OLE New!
    Как выводить элементы списка разными шрифтами New!
    Перехват сообщений IE New!
    Save all TWebbrowser Frame Sources? New!
    Create a TWebBrowser at Runtime? New!
    Как сохранить все картинки TWebbrowser? New!
    Find the convex hull of 2D points? New!
    Получить список процессов в компьютере сети New!
    Как загрузить webpage с скрытым IP? New!
    How to add alternative text to a Webbrowser image? New!
    Узнать информацию о проксисервере New!
    Rotate a 2D Point New!
    Rotate a 3D Point around another 3D Point New!
    Найти центр треугольника New!
    Как найти и выделить текст TWebBrowser? New!
    Как узнать имя домена Windows NT/2000? Updated!
    Числа Фибоначчи New!
    Send e-mails via WinSock API? New!
    do an application loader with TCP? New!
    Добавить HTML к TWebbrowser Document? New!
    Програмно меняем Delphi's Tool list? New!
    Spray effect New!
    Как создать консольное asp.net приложение с событиями delphi? New!
    Sharpen a Bitmap New!
    Show a text progressiv as typed with a typewriter (horizontal/vertical) New!
    Draw a polygon with Gouraud shading? New!
    How to render a TRichEdit text onto a canvas? New!
    Detect simple collision and transparency New!
    Конвертация bitmap to sepia or greyscale New!
    Работа с Jpeg New!
    Двигаем крестик для показа значений X/Y New!
    Изменение размеров JPEG Image? New!
    Как сделать форму всегда позади всех окон? New!
    How to scale bitmap by percent? New!
    Как прочитать ROM-BIOS? New!
    Как определить установлен ли screen saver? New!
    Write/read a string to/from the serial port New!
    Узнать/установить JPG resolution? New!
    Как получить часть GUID? New!
    Как узнать заряженность батарей? New!
    Как заблокировать компьютер? Updated!
    Как сделать Thumbnails? New!
    Поддерживается ли MMX New!
    Как вывести список привелегий? New!
    Показать Choose Domain диалог? New!
    Изменение привелегий New!
    Проверить приложение на зависание? New!
    Как получить информацию о системе? New!
    Кто владелец taskbar buttons (NT)? New!
    Как предотвратить Shut Down? New!
    Как проверить запущен ли сервис? New!
    Как проверить папку на shared? New!
    Как получить список загруженных драйверов? New!
    Как получить primary domain controller (PDC)? New!
    Показать Run диалог New!
    Управление NT-сервисами New!
    Как использовать IP Address Control у себя? New!
    Как установить переменные окружения? Updated!
    Как изменить пароль для указанной сети или домена? New!
    Как перевести компьютер в Stend-by или Hibernate? New!
    Как читать REG_MULTI_SZ значение New!
    Как сделать Multi Screen Emulator? New!
    Как узнать количество памяти используемое процессом? New!
    Как получить количество файлов в корзине и их размер? New!
    Как скрыть/показать ActiveDesktop? New!
    Как выгрузить Dll из памяти? New!
    Как сделать Drag-n-Drop из чужого приложения? New!
    Поддерживает ли система suspend? New!
    Поддерживает ли система hibernation? New!
    Запуск процесса в контексте другого пользователя New!
    Как получить список всех расширений и их ассоциаций? New!
    Как сделать System Restore point (XP)? New!
    Как получить сообщение об изменении видео стиля? New!
    Написание Terminal Services Client New!
    Узнать не запущено ли приложение под Virtual PC? New!
    Узнать не запущено ли приложение под VMware? New!
    Как получить имя текщего стиля и имя цветовой схемы? New!
    How to patch a process? New!
    Частота мигания каретки New!
    Как копировать/менять Clipboard text без использования VCL? New!
    Disable CTRL+ALT+DELETE under XP New!
    Путь к папке My Computer New!
    Как получить список всех назначенных событий? New!
    Как обновить все окна Internet Explorer? New!
    How immediately start a service after its installation? New!
    How to check if the Workstation is locked? New!
    How to get the NT Domain and UserName of a Process? New!
    Как получить и изменить координаты иконок на столе? New!
    How to check, if a CD-Recorder is available? (WinXP) New!
    Как определить насколько долго система находится в Idle? New!
    Как прочитать и изменить doubleclick time? New!
    Проверить не запущена ли terminal client session? New!
    Как запустить процесс на конкретном процессоре в много процессорной системе? New!
    Как получить событие о смене реестра? New!
    Как вызвать Shutdown Windows dialog? New!
    Сколько памяти использует IB на сервере? New!
    Почему таблица или select показывается в Grid быстро, а перемещение в конец таблицы происходит долго? New!
    Как выделить URL в TRichEdit? New!
    How to implement a microsecond resolution Delay? New!
    Как узнать статус меню? New!
    Использование русских кодировок приводит к ошибке New!
    Что такое фреймы? New!
    В каких версиях IB поддерживаются уведомления о событиях (Event Alerts)? New!
    Detect if a USB device is connected or disconnected? New!
    Как посмотреть требуемые библиотеки для бинарника? New!
    Проблемы с открытием базы данных. New!
    Что такое ISC4.GDB? Для чего нужна эта БД? New!
    Пропажа прав пользователей в Local IB после переноса New!
    Как переносить базы данных между разными IB? New!
    Включение WAL на NetWare ухудшает производительность на 80% при вставках записей, и только на 15% - при обновлениях. New!
    Как оптимизировать запросы? New!
    Каков максимальный размер базы данных IB? New!
    Диалог подключения сетевого диска New!
    Сколько БД я могу открыть в одной транзакции? New!
    256-цветное изображение из res-файла New!
    DLL и ресурсы New!
    Использование DLL в качестве Plug-in New!
    Разработка DLL в среде Borland Delphi (статья) New!
    Duplicate Resources Error New!
    Создание/пересоздание индекса New!
    DLL со строковыми ресурсами New!
    Практически все о взломе CD New!
    Показ меток удаленных записей в dBASE-файлах New!
    Как получить дату BIOS? Updated!
    DBASE - Индексы выражений New!
    Как узнать загрузку процессора? (NT/2000/XP) Updated!
    DBFSeek и DBFLocate New!
    Как получить информацию о процессоре? Updated!
    Активизация и использование в IDE окна CPU New!
    Создание RES-файла с помощью BRCC.EXE New!
    Определение номера записи в таблице dBASE New!
    Хранение данных в EXE-файле New!
    Как правильно соединяться с базой данных под Personal Oracle New!
    Как получить список таблиц в базе Access? Updated!
    Как поймать свой RAISEERROR в Delphi New!
    Как заставить Interbase принять COLLATE PXW_CYRL по умолчанию New!
    Задание псевдонима программным путем New!
    Создание таблицы FOXPRO New!
    Как в Oracle создать sequence с некоторого номера New!
    Как показать содержимое Memo-поля в DBGrid? Updated!
    Позиция ячейки в TDBGrid New!
    Как изменить цвет отмеченных записей в DBGrid New!
    CheckBox в DBGrid New!
    Как сделать, чтобы необходимая ячейка DBGrid получила фокус ввода New!
    Выключение кнопок в DBNavigator New!
    DbGrid со свойствами Col и Row New!
    Буфер обмена и ячейки DBGrid New!
    Нажать кнопку DBNavigator програмно New!
    Настройки всплывающих подсказок в DBNavigator New!
    DBNavigator без иконок New!
    Свойства кнопок DBNavigator New!
    Как сделать, чтобы в DBGrid вместо цифр были соответствующие константы New!
    Текущая строка и поле в DBGrid New!
    DbGrid со свойствами Col и Row New!
    Как выделить цветом текущую строку в TDBGrid New!
    DBGrid - сохранение конфигурации New!
    DbGrid и множественный выбор New!
    Решение проблемы передачи фокуса TDBGrid New!
    Как программно перевести DBGrid в режим редактирования New!
    Перемещение по таблице с помощью вертикальной полосы прокрутки New!
    DBGrid CutToClipboard New!
    Кам при прокрутке зафиксировать левое поле сетки? New!
    Как в TDBGrid узнать над каким полем висит мышь? New!
    Как поместить графическое изображение в TDBGrid New!
    Как в TDBGrid pазpешить только опеpации UPDATE записей New!
    Как заменить данные в столбце компонента TDBGrid New!
    Как заблокировать TDBGrid от автодобавления новой записи New!
    DBGrid DefaultDrawDataCell New!
    DBTreeView своими руками New!
    DBGrid с номером строки New!
    Экспортировать DBGrid в HTML New!
    Как удалить вертикальную полосу прокрутки (скроллбар) из DBGrid? New!
    Как определить изменение фокуса строки в TDBGrid New!
    Пример Drag and Drop между двумя DBGrid New!
    Перемещение из DbGrid New!
    Решение проблемы передачи фокуса TDBGrid New!
    Копирование информации из DBGrid-а в Clipboard New!
    Рисование текста в DBGrid New!
    Использование Enter как Tab в TDBGrid New!
    Как изменить число фиксированных колонок в TDbGrid? Updated!
    Как вывести Hint для ячейки DBGrid New!
    Симуляция нажатия кнопки при наличии DBGrid New!
    Интерактивные SQL-запросы New!
    Задать необходимый для печати принтер New!
    Как открыть диалог добавления принтера New!
    Определение параметров принтера через API New!
    Подробное описание способа печати содержимого формы New!
    Как изменить порт для принтера? Updated!
    Как прочитать/установить принтер по умолчанию? Updated!
    Получить список шрифтов и их размеров для текущего принтера New!
    Как узнать драйвер принтера New!
    Как получить информацию о заданиях на принтере New!
    Как установить драйвер принтера New!
    Получить список пользователей, подключённых к сети New!
    Описание протокола DNS New!
    Получение имени пользователя и домена New!
    Описание протокола ICMP (Internet Control Message Protocol) New!
    Протокол IMAP4 (Internet Message Access Protocol) New!
    Пример HTTP Get - загружаем файлы и страницы из Интернета New!
    ICQ2000 - сделай сам (статья) New!
    Технологии взлома Email New!
    Моё CGI-приложение при обращении к нему ничего не возвращает New!
    Корпоративное Web приложение New!
    Получить или установить задний фон в TWebBrowser New!
    Как получить текст HTML Документа из TWebBrowser без тегов New!
    Скопировать, удалить, вставить в TWebBrowser New!
    Как сделать WebBrowser средствами Delphi? New!
    GIF для HTML в EXE New!
    Как получить цвет строки в HTML формате New!
    Компонента HTML - редактора New!
    Исследование E-Book Html Compiler 2.12 New!
    Отправка файлов при помощи TClientSocket/TServerSocket Updated!
    CrtSock - модуль для работы с сокетами в Delphi32 New!
    Пример компонента типа XPButton New!
    Как спрятать окно при запуске приложения? Updated!
    Dec ---> Hex New!
    Интерфейсы и published свойства New!
    Интерфейс OLE AutoServer New!
    Integer как SmallInt New!
    Установка SoftIce New!
    Вставка новой записи через буфер New!
    Проблемы ini-файла New!
    Показ даты, времени и состояния клавиш в строке состояния New!
    Использование Internet-функций Win32 API (статья) New!
    Подключиться к Интернету, определить активные соединения, определить и сохранить параметры соединения New!
    Почему не всегда верно обновляются IndexDefs по Update New!
    Инкрементация строкового поля New!
    Поиск значения при вводе Updated!
    Инкрементальный поиск в ListBox New!
    Показ in-place подсказки в TListBox и других компонентах New!
    Импортирование, или обертка вызовов функций DLL New!
    Плавно превратить один рисунок в другой New!
    Элементы меню на основе изображений New!
    Как вставить растровое изображение в компонент ListBox? Updated!
    Как копировать и вставлять Bitmap через буфер обмена? Updated!
    Вращение изображения New!
    Как сделать прямоугольник для выделения части картинки для редактирования New!
    Перемещение Image New!
    Фон MDI-окон Updated!
    Хитрость вывода изображения New!
    За какое время было создано изображение New!
    Изменение палитры при выводе изображения New!
    Условие создания главной формы New!
    Удалить временные файлы IE New!
    Работа с IDE из программы New!
    Конфликт IDAPI German и English New!
    Установка и использование IDA Pro New!
    Часто задаваемые вопросы по дизассемблеру IDA Pro New!
    Как узнать, находится ли дискета в дисководе? Updated!
    Иконки в PopupMenu New!
    Преобразование иконок в Gliph-ы New!
    Огромные числа New!
    HTMLEditor - Краткий обзор New!
    Как обрабатывать сообщения New!
    Число цветов (цветовая палитра) у данного компьютера Updated!
    Как повесить винду New!
    Пример компонента HotSpot New!
    Как отловить нажатия клавиш для всех процессов в системе New!
    Как показать подсказки Hints для элементов меню New!
    Расширения оболочки Windows New!
    Hint в выпадающем списке ComboBox New!
    Подсветка синтаксиса New!
    Как скрыть часики в панели задач? Updated!
    Скрыть Tray, часы, кнопку ПУСК, панель задач New!
    Как сделать форму без caption? Updated!
    Как убрать публичное свойство компонента New!
    Програмное выключение клавиатуры и мыши Updated!
    Как спрятать окна MDI Child New!
    Как запретить показ курсора в TEdit и ему подобных контролах New!
    Как привязать файлы помощи в Delphi New!
    Оглавление файлов помощи (Help Files Contents) New!
    Управление метками томов дисков New!
    Как выяснить имеет ли объект определённое свойство? Updated!
    Как сделать прозрачное окно родными средствами Windows2000? Updated!
    Наполовину активное окно New!
    GUI. Перегрузка контролами (статья) New!
    GROUPFILE и ADDITEM для групп New!
    Как заставить GroupBox прорисовать на форме свой Caption неактивным цветом? New!
    Сгруппировать свойства наподобие Font New!
    Табуляция в графическом ListBox New!
    Как перейти к указанной записи в БД New!
    Уменьшение мерцания ListBox в обработчике OwnerDraw New!
    Переместиться в конец файла New!
    Как добавить функции картографирования в приложение New!
    Как получить версию Windows? New!
    Как найти системные папки Windows? Updated!
    Получить список пользователей New!
    Функция, возвращающая тип New!
    Как получить список часовых поясов? New!
    Извлечение текста из TMemoField New!
    Получение информации о TaskBar New!
    Как по Alias узнать физический путь к базе данных? Updated!
    Взять один символ из потока памяти New!
    Как управлять спикером под 9х из Дельфи? Updated!
    Как получить короткий путь файла если есть длинный и на оборот? New!
    Получение уведомлений от оболочки (Shell) New!
    CopyFile для Linux New!
    Как построить строку подключения New!
    Как запустить консольное приложение и перехватить вывод? New!
    Как узнать загрузку CPU определённым процессом? New!
    Как узнать расход памяти процессом? New!
    Как узнать имя компьютера? New!
    Как узнать свободное место на диске? New!
    Как сделать Ping? New!
    Модуль CRT для Linux New!
    Установка Kylix под новые версии Linux (ядро 2.6) New!
    Как, зная Handle окна программы, определить имя EXE Updated!
    Libqt для Kylix с поддержкой сглаживания New!
    КроссKylix - возможность под Windows Delphi получать Linux исполняемые файлы New!
    Как использовать Tray под Linux New!
    Глюк при запуске приложений через ShellListView New!
    Таблицу в clipboard New!
    Проверка - установлен ли определенный бит? New!
    Установка бита в единицу New!
    Установка бита в ноль New!
    Переключение состояния бита с единицы на ноль и наоборот New!
    Пример чтения данных по битовой маске из значения New!
    Как узнать производителя CD/DVD New!
    Как открыть CD-ROM, если их несколько в системе? New!
    Изменение скорости привода CD-ROM New!
    Как мне избавиться от выскакивающего окна CPU при ошибках? New!
    Смена свойств приложения, открываемого, по умолчанию в среде при её запске New!
    ASCII код для PrintScreen New!
    Получение имени шрифта, зная имя файла шрифта New!
    Просмотр состояния корзины New!
    Очистка корзины New!
    Удаление файла в корзину New!
    Получение информации о папках и файлах находящихся на данный момент в корзине New!
    Восстановление файла из корзины New!
    Закрытие всех окон IE New!
    Основы работы с Windows API New!
    Как получить список процессов в Win9x New!
    Поиск значения типа DWORD в указанном процессе New!
    Как спрятать программу от TaskManager в WindowsXP и 2000 New!
    Аналог DumpBin New!
    Получить текст окна, где этого не может WM_GETTEXT New!
    Печать TStringGrid New!
    Переходим на клиент-сервер (советы), на примере MS SQL Server New!
    Запросы и параметры, или как избавится от многих проблем…. New!
    Перекодировка, из разных кодировок New!
    Алгоритм шифования TEA New!
    Алгоритм поиска всех уникальных слов в файле New!
    Получение IP адресов всех компьютеров в рабочей группе New!
    Демонстрационная программа сканирования сети New!
    Демонстрационная программа получения информации о компьютере по IP New!
    Не работает кнопка <Enter> в WebBrowser New!
    Cut и Copy отказываются работать New!
    Алгоритм поворота изображения Updated!
    Пример градиентной заливки формы New!
    Скриншот, Принцип получения New!
    Инверсия всех цветов в TBitmap New!
    Определить формат изображения, загруженного в TMemoryStream New!
    Информация о AVI файле, (разбор заголовка AVI) New!
    поддержка библиотеки сжатия ZLib New!
    Удобная функция ifthen New!
    Использование PosEx взамен Pos New!
    модуль поиска по маске New!
    Работа с массивом компонентов New!
    Форма изменяющая размеры без заголовка New!
    функции для изменения и получения чуствительности мышки New!
    Замена Application.ProcessMessages New!
    Как сворачивать все приложение при сворачивании неглавного окна? New!
    Как сделать плавное закрытие окна ? New!
    Как назначить событие на увеличение/уменьшение TSpinEdit с помощью стрелочек? New!
    Как определить, работает ли программа в виртуальной машине VMware? New!
    Как определить, работает ли программа в виртуальной машине Connectrix? New!
    Трассировка пути до определенного IP адреса (Traceroute) New!
    Предпросмотр/печать TRichEdit New!
    Как узнать IP клиента и IP сервера для активного RAS-подключения? New!
    Как узнать частоту обновления монитора? New!
    Как заблокировать доступ к дисководу? New!
    Antivirus API New!
    Пример процедуры убивающей таймеры по заголовку окна в чужих приложениях написанных на Delphi New!
    Присвоение форме выбранного окна свойства Disabled / Enabled New!
    Отображение формы выбранного окна New!
    Закрыть выбранное окно New!
    Сделать форму выбранного окна поверх остальных New!
    Запретить в выбранном окне кнопку закрытия x New!
    Поменять заголовок выбранного окна New!
    Атомы: Запись, чтение и удаление информации New!
    алгоритмы теории графов New!
    Примеры работы с MS Excel New!
    Как зыкрыть Excel New!
    Помещение формы в поток New!
    Несколько функций для TStream New!
    Поток с доступом к глобальной переменной основной программы New!
    Работа с регионами (статья) New!
    Дельфи 2005 - отчёт, как я был на конференции Борланда New!
    Эта незнакомая IDE! (статья) New!
    Проход дерева каталогов Updated!
    Как добавить пункт меню? New!
    Как програмно переключить состояние клавиш Num Lock, Caps Lock, Scroll Lock? Updated!
    Как сменить обои на рабочем столе? Updated!
    Сбростить BDE базу данных в XML файл New!
    Подключение через TMySQLClien & TMySQLResult New!
    Транслитерация New!
    Как получить URL? New!
    Как получить POST данные? Updated!
    Как запустить DTS из StoredProcedure New!
    Запись файла New!
    Критерии выбора базы данных (статья) New!
    Поиск значения по любому столбцу New!
    Работа через MAPI Updated!

    Примечание: я не могу гарантировать что все изменения попали в этот список. Слишком много всего было сделано.
      Rouse_ на сайте 2 раза в благодарностях - это ты ему благодарен вдвойне?
        Спасибо Vit! работа действительно большая. жаль только сегодня получил сообщение о тестировании, с удовольствием принял бы участие. честно говоря удивлен что так мало народу откликнулось - наверняка пользоваться будут многие.
          Замечательная вещь вышла :)
          Спасибо :)
            Здорово. Спасибо Vit!
              Выражаю тебе благодарность за огромный проделанный труд! :)
                Вчера удалось (наконец-то) более-менее в ней полазить. В итоге нашел один дубль, кучу орфографических ошибок и несколько пунктуационных (Debug у меня уже давно работает на подсознательном уровне и я нахожу ошибки даже когда не ищу их).

                Дубль: В разделе "Delphi IDE, компиллятор, отладчик, редактор" подразделы
                "Смена свойств приложения, открываемого, по умолчанию в среде при её запске" и
                "Смена свойств приложения, открываемого, по умолчанию в среде при её запуске"

                Ошибки: среди общего разнообразия ошибок и опечаток (список которых я начал составлять - plz, ответь: нужно ли это тебе сейчас?) особо хочу отметить 2 наиболее часто встречающихся: Vit, слова "компиллятор", "компилляция", "компиллирование" и их производные всегда писались через одну "л", в то время, как "програма", "програмирование" - через 2 "м". И это - на главной странице!
                  "Компилятор" пишется через одну "л", а "программа", "программирование" - через 2 "м". Я смотрел в орфографическом словаре.
                  Сообщение отредактировано: s-mike -
                    s-mike, Jureth об этом и говорит :)
                      :wall: Сорри, прочитал невнимательно.
                        Кстати, в разделе "Ссылки на сайты по Дельфи" ссылка "www.sources.ru" ведет на http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi - имхо, надо-бы исправить.
                          Цитата Mischka, 02.02.2005, 7:54:31, 598464
                          s-mike, Jureth об этом и говорит :)

                          Зато s-mike в словаре смотрел!

                          Vit, только вчера скачал твою базу. Огррооомное спасибо! :yes:
                            Клевая вещица Vit ! ;)
                            Я еще старой версией пользовался, ща буду новую версию качать. :rolleyes:
                              Супер ФАК!! Вит, огромное спасибо тебе! Жаль только, там нету моих процедурок и статьи.. хотя ведь я ее отправлял 2 Rouse, ну ладно - значит не судьба :whistle:
                                Цитата Jureth @
                                Кстати, в разделе "Ссылки на сайты по Дельфи" ссылка "www.sources.ru" ведет на http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi - имхо, надо-бы исправить.


                                Не досмотрел, ссылок много, мне казалось что все поправил...

                                Цитата Kostas @
                                Жаль только, там нету моих процедурок и статьи.. хотя ведь я ее отправлял 2 Rouse, ну ладно - значит не судьба


                                Сбрось мне на ПМ выйдет в следующем релизе, я просто упустил наверное, слишком много документов скопилось, мог всё не упомнить

                                Добавлено
                                Jureth, s-mike, Mischka - грамматические ошибки буду править...
                                  Цитата Kostas @
                                  там нету моих процедурок и статьи.. хотя ведь я ее отправлял 2 Rouse

                                  Хм... я все переправил Vit... :)
                                  А твой пример градиентной заливки там присутствует...
                                    Vit, раз уж ты все равно будешь править... Вчерась смотрел старую версию и новую - в разделе про OpenGL и DirectX везде все правильно написано, кроме самого заголовка: "Derect X"...
                                      Если уж смотреть названия разделов, то вот ещё небольшой список:

                                      "Сохранение и загрузка двумерного динамического масива" - надо "массива"
                                      "Как узнать форма активна или нет?" - нужна запятая после "узнать"
                                      "Как найти строку в строке начиная с определённой позиции?" - нужна запятая после "строке"
                                      "Зоздать новый Outlook Contact?" - "Создать"
                                      "Как работать с выделенными запясями в TDBGrid?" - "записями"
                                      "Как сделать ADOConnection с использованием OLE-Automation?" - "OLE Automation" пишется через пробел
                                      "Библиотека реализующая практически все распространённые алгоритмы шифрования и хэширования" - "хеширования"
                                      "Как использовать параметры коммандной строки?" - "командной"
                                      "Естественные ключи против искуственных ключей" - "искусственных"
                                      "Узнать информацию о проксисервере" - "прокси-сервере"
                                      "Конвертация bitmap to sepia or greyscale" - imho, "grayscale"
                                      "Как вывести список привелегий?" - "привилегий"
                                      "Изменение привелегий" - аналогично
                                      "Как проверить запущен ли сервис?" - нужна запятая после "проверить"
                                      "Как перевести компьютер в Stend-by или Hibernate?" - "Stand-by"
                                      "Как узнать количество памяти используемое процессом?" - нужна запятая после "памяти"
                                      "Узнать не запущено ли приложение под Virtual PC?" - нужна запятая после "узнать"
                                      "Узнать не запущено ли приложение под VMware?" - аналогично
                                      "Как получить имя текщего стиля и имя цветовой схемы?" - "текущего"
                                      "Алгоритм шифования TEA" - "шифрования"
                                      "функции для изменения и получения чуствительности мышки" - "чувствительности"
                                      "Как зыкрыть Excel" - "закрыть"
                                      "Сбростить BDE базу данных в XML файл" - "Сбросить"
                                      "Подключение через TMySQLClien & TMySQLResult" - "TMySQLClient"

                                      И это только из New и Updated

                                      Ещё ошибки
                                      Раздел "Delphi IDE, компиллятор, отладчик, редактор":
                                      "Как заставить стартовать дельфи без проекта?Проблема использования компонентов в D6/7 от предыдущих версий" - идут одной строкой
                                      "Смена свойств приложения, открываемого, по умолчанию в среде при её запске" - "запуске"

                                      Раздел "Как узнать версию компилятора?":
                                      "особенно актуально это при разработки компонентов" - "разработке"

                                      Раздел "Как сгенерировать свою ошибку?"
                                      В примечании: "...по освобождению памяти посли их создания." - "после"

                                      В разделе "Эта незнакомая IDE! (статья)":
                                      "буффер" - надо через одну "ф"
                                      "Все хоть чуть чуть соприкасавшиеся с Дельфи знают эту простую и интуитивно понятную среду." - "чуть-чуть"

                                      Плюс ещё местами не хватает запятых - не стал выписывать.

                                      И это я только просмотрел "Общие вопросы" и "Delphi, IDE, компиллятор, отладчик, редактор"
                                        Цитата Rouse_ @
                                        Хм... я все переправил Vit...
                                        А твой пример градиентной заливки там присутствует...

                                        ну не знаю :) Кстати, какой еще пример градиентной заливки?? Такого я не отправлял.. :blink:

                                        2 Vit, отправил тебе ПМ
                                          В разделе "Сссылки на новые и дополненные темы версии 2.3" ссылка "Манифест Windows XP New!" указывает на адрес drkb23.chm::/wizards.htm на статью "Wizards".

                                          А вот "Включение манифеста Windows XP в ресурсы приложения New!" ведет вообще в никуда (Невозможно отобразить страницу). Вместо drkb23.chm::/winХp04.htm, находимое через поиск - drkb23.chm::/winOp04.htm. Причем это "О" в свойствах ссылки отображается с двумя точками над ней.

                                          ЗЫ: Вынь98
                                          Сообщение отредактировано: Raz -
                                            Raz, Jureth - огромное спасибо, подправлю.
                                              Vit, утром был на www.drkb.ru - поставил Базу в очередь закачек, а вечером она качаться отказывается!
                                              И на сайт больше выйти не могу!
                                              Это временный глюк сервера или что-то серьёзное?
                                              Может выложить ссылки на зеркала в этой теме?

                                              Добавлено
                                              Ура, пошла закачка!
                                              Весь вечер мучался.
                                              Может и у моего провайдера проблемы были...
                                                Цитата Chess @
                                                И на сайт больше выйти не могу!



                                                На всякий случай зеркало:
                                                http://chicago.lastplanet.com/drkb23.chm

                                                Для тех у кого всякие firewall и фильтры есть и в других форматах:

                                                http://chicago.lastplanet.com/drkb23.zip

                                                и

                                                http://chicago.lastplanet.com/drkb23 - это тот же chm только без расширения
                                                  VIT, VCL->TMemo->Как сделать отступ в Memo?(Update)
                                                  Цитата
                                                  С помощью API-функции SendMessage можно задать поля в Memo-компоненте. Если необходимо, например, сделать отступ в 20 пикселей слева то можно это сделать следующим образом:

                                                  var Rect: TRect;
                                                  begin
                                                  SendMessage( Memo1.Handle, EM_GETRECT, 0, LongInt(@Rect));
                                                  Rect.Left:= 20;
                                                  SendMessage(Memo1.Handle, EM_SETRECT, 0, LongInt(@Rect));
                                                  Memo1.Refresh;
                                                  end;

                                                  действует до первого изменения размеров компонента TMemo, поэтому указанный код необходимо поместить в обработчик OnResize компонента владельца - формы или панели. Приводит к дополнительной перерисовке TMemo при отправке сообщения.

                                                  прикладываю хтмл дополненного топика

                                                  Сообщения были разделены в тему "Может кто знает как eps-ки в bmp или jpg переконвертировать???"
                                                  Сообщение отредактировано: Radix -

                                                  Прикреплённый файлПрикреплённый файлupdated.rar (1.18 Кбайт, скачиваний: 195)
                                                    Язык программирования Дельфи -> Объектное ориентирование -> Объектно-ориентированное программирование (статья) ->
                                                    Введение.
                                                    Пропущены некоторые слова и числа.
                                                    Цитата
                                                    Сейчас преимущества использования объектов очевидны для всех. Однако так было всегда. Сначала старая гвардия не поняла и не приняла объекты, поэтому они почти лет потихоньку развивались в различных языках, первыми из которых были Simula 67 и Smalltalk 72.
                                                      Вот еще небольшие ошибочки:
                                                      "Как поместить прозрачную фоновую каринку на компонент CoolBar?" - "картинку"
                                                      "Групповые опперации с контролами" - "операции"
                                                      "Прячем формуФормы нестандартного вида" - "форму"
                                                      "Прокрутка TreeView, чтобы держать выделение посередине" (по правилам орфографии правильно будет "посредине")
                                                      "Как можно отменить реакию ComboBox на F4?" - "реакцию"
                                                      "Как опеделить состояние списка ComboBox, выпал/скрыт?" - "определить"
                                                      "Как проиграть файл не использую MediaPlayer ?" - "не используя"
                                                      "Как выбрать цвет пользуя TTrackBar" - "используя"
                                                      "Как создать цветовую паллитру" - "палитру"
                                                      Сообщение отредактировано: s-mike -
                                                        Пробывали знакомому на W98 D7, скомпилировать Развлечения->Управление игрой Freesell.
                                                        Зависли на GWW_HINSTANCE.
                                                        Сообщение отредактировано: ce$$ -
                                                          Цитата ce$$ @
                                                          Зависли на GWW_HINSTANCE
                                                          Под окнами все виснет :)
                                                          ExpandedWrap disabled
                                                            const
                                                              GWW_HINSTANCE = -6;


                                                          Добавлено
                                                          Кстати:
                                                          Цитата
                                                          The GetWindowWord function is obsolete. The GWW_ values are not supported. Win32-based applications should use the GetWindowLong function.

                                                          Посему используй GWL_HINSTANCE вместе с GetWindowLong :)
                                                            Цитата
                                                            Дельфи 2005 - отчёт, как я был на конференции Борланда
                                                            Вчера (21 декабря 2005 года) был на конференции Борланда


                                                            Путешестия во времени :lol:
                                                              Есть один громадный минус, если у меня уже есть ver. 2.2, то для того, чтобы получить мне ver. 2.3 мне предётся опять скачивать 2.2, т.е, я качаю не нужные для меня 5.7 мб. Это я к тому, что можно было бы, для желающих добавить возможность скачать обнавление в виде отдельного .chm файла, в котором входили бы только новые статьи.
                                                                Зачем скачивать версию 2.2? Все что есть в 2.2 есть в версии 2.3. Так что 10 метров достаточно.
                                                                А насчет разделения дискуссии уже велись.
                                                                Vit сказал, что не будет этим заниматься, так как это займет много времени. Желающим он предлагал выслать исходники ДРКБ, чтобы можно было сделать что-то подобное.
                                                                  Исходники ДРКБ можно и самрому с помощью проги htm2chm добыть ;)
                                                                  Как достану себе инет попробую замутить прогу для ДРКБ :)
                                                                    Цитата Tor_Zoom @
                                                                    Это я к тому, что можно было бы, для желающих добавить возможность скачать обнавление в виде отдельного .chm файла, в котором входили бы только новые статьи.



                                                                    Возьмёшся реализовать?

                                                                      Цитата Rouse_ @
                                                                      Посему используй GWL_HINSTANCE вместе с GetWindowLong :)

                                                                      Rouse_, теперь встал компилятор на GetModuleUsage.
                                                                      Сообщение отредактировано: ce$$ -
                                                                        Цитата ce$$ @
                                                                        Rouse_, теперь встал компилятор на GetModuleUsage.

                                                                        Закоментируй этот участок - данная функция давно уже не актуальна...
                                                                          "Объектное ориентирование" не звучит, лучше привычное "ООП".
                                                                            Vit, респект! Сэнксь за труды! :wub:
                                                                              Цитата Rouse_ @

                                                                              Закоментируй этот участок - данная функция давно уже не актуальна...

                                                                              В исправленном виде, программа в XP, пытается, но не работает, в понедельник посмотрю на 98.

                                                                              Математика, алгоритмы->Арифметика, системы..->Как проверить, является ли число простым?
                                                                              Ругается на не объявленную @@3.
                                                                                Vit, Спосибо за Твой проект!
                                                                                Как перейду на Дельфи, думаю частенько там буду ... :D
                                                                                  Да, вот еще одно.
                                                                                  В теме "Как запустить и подождать завершения 2х процессов?" (URL: mk:@MSITStore:drkb23.chm::/b27.htm) в константе NORMAL_PRIORITY_CLASS подсвечено слово CLASS. Это конечно не столь серьезно, но все же хорошо было бы усовершенствовать подсветку.
                                                                                    Нашел ошибку в DRKB 2.3 :
                                                                                    Статья загрузка DLL ->
                                                                                    ExpandedWrap disabled
                                                                                      //Это раз
                                                                                      procedure CoolProcedure;
                                                                                      external myfirstdll.dll' name DoSomethingReallyCool';
                                                                                      //Кавычки не там стоят
                                                                                      //Это два
                                                                                      procedure HelloWorld(AForm : TForm);
                                                                                        external myfirstdll.dll' index 15;
                                                                                      //Опять кавычки не там
                                                                                      //Это три
                                                                                      DLLInstance := LoadLibrary(myfirstdll.dll');
                                                                                        { получаем указатель }
                                                                                        @HelloWorld := GetProcAddress(DLLInstance, HelloWorld');
                                                                                      //Опять кавычкм храмают
                                                                                    Сообщение отредактировано: Kanes -
                                                                                      Простенькая опечатка, любой более-менее разбирающийся человек поймет, но исправить конечно нужно. Молодец Kanes!
                                                                                        В статье Работа с TApplication чисто косметический недочет т.е. в начале статьи идет вот такой пример :
                                                                                        ExpandedWrap disabled
                                                                                          property Active: Boolean;

                                                                                        а потом, начиная с середины статьи код не выделяется :
                                                                                        Цитата

                                                                                        procedure CancelHint;

                                                                                        Просто неудобно ориентироваться по статье
                                                                                          Арифметика указателей.

                                                                                          Цитата
                                                                                          Нижеследующий код демонстрирует работу функций Inc() и Dec(), увеличивающих или уменьшающих указатель на размер соответствующего типа ничего не демонстрирует, т.к. не работает, потому, что функции Ofs() в Делфи нет и быть не может (пока сам не создашь ;)):

                                                                                          var
                                                                                          P1, P2: ^LongInt;
                                                                                          L: LongInt;
                                                                                          begin
                                                                                          P1 := @L; { назначаем оба указателя на одно и то же место }
                                                                                          P2 := @L;
                                                                                          Inc(P2); { Увеличиваем один }

                                                                                          { Здесь мы получаем разницу между смещениями двух
                                                                                          указателей. Поскольку первоначально они указывали на одно
                                                                                          и то же место памяти, то результатом данного вызова
                                                                                          будет разница между двумя указателями после вызова Inc(). }

                                                                                          L := Ofs(P2^) - Ofs(P1^); { L = 4; т.е. sizeof(longInt) }
                                                                                          end;


                                                                                          Я бы вместо этого сделал так:
                                                                                          ExpandedWrap disabled
                                                                                            function PtrToInt(P: Pointer): LongWord;
                                                                                            asm
                                                                                              mov eax, P;
                                                                                              mov result, eax;
                                                                                            end;
                                                                                             
                                                                                            var
                                                                                              P1, P2: ^LongInt;
                                                                                              L: LongInt;
                                                                                            begin
                                                                                              P1 := @L; { назначаем оба указателя на одно и то же место }
                                                                                              P2 := @L;
                                                                                              Inc(P2); { Увеличиваем один }
                                                                                             
                                                                                              { Здесь мы получаем разницу между смещениями двух
                                                                                              указателей. Поскольку первоначально они указывали на одно
                                                                                              и то же место памяти, то результатом данного вызова
                                                                                              будет разница между двумя указателями после вызова Inc(). }
                                                                                             
                                                                                              L := PtrToInt(P2) - PtrToInt(P1); { L = 4; т.е. sizeof(longInt) }
                                                                                            end.
                                                                                            Цитата --= Eagle =-- @
                                                                                            function PtrToInt(P: Pointer): LongWord;
                                                                                            asm
                                                                                            mov eax, P;
                                                                                            mov result, eax;
                                                                                            end


                                                                                            А простое приведение типов уже не в моде?
                                                                                              M
                                                                                              Deleted by Vit. Все нарекания к форуму сайту и т.п. - в соответствующий раздел! Пока устное предупреждение
                                                                                              Сообщение отредактировано: Vit -
                                                                                                Топик:
                                                                                                Системные функции и WinAPI->Реестр и INI файлы->Как получить событие о смене реестра

                                                                                                А в топике про то, как отловить изменения содержимого буфера обмена.
                                                                                                  ANSI ---> ASCII

                                                                                                  В строке
                                                                                                  ExpandedWrap disabled
                                                                                                    if  kod  13 then Result[i]:=' ';

                                                                                                  пропущен знак равенства (как я понял), правильно так:
                                                                                                  ExpandedWrap disabled
                                                                                                    if  kod=13 then Result[i]:=' ';
                                                                                                    "Как создавать потоки без класса TThread?" - топик дублируется
                                                                                                      Скачала сегодня... Почти ничего нет из того что мне нужно :( Наверно это не для таких ламеров как я :D

                                                                                                      У меня такое маленькое пожелание для след версии: было б неплохо если б код выделялся чемнить по типу как на форуме. И Побольше про майнменю!! 8-)
                                                                                                        Цитата Maysa @
                                                                                                        Почти ничего нет из того что мне нужно :( Наверно это не для таких ламеров как я :D

                                                                                                        Maysa, не факт, что никогда не понадобится (все мы когда-то ламерами были :D ).
                                                                                                          Цитата Maysa, 05.06.2005, 17:10:46, 739313
                                                                                                          Почти ничего нет из того что мне нужно Наверно это не для таких ламеров как я

                                                                                                          Может ты просто не можешь найти то, что тебе нужно? ;) Я, к примеру, когда пишу какой-то проект (программирование пока ещё не моя специальность, поэтому пишу для себя) - почти всегда заглядываю посмотреть, как кто-то другой справился с какой-то конкретной задачей (аглоритмом). :)
                                                                                                            Ну может просто и не могу :rolleyes: Просто ищу только тогда, когда не могу сама уже сделать и времени в обрез :whistle: Хотя это дело я просмотрела все очень внимательно. Для меня там пока сильно уж все заумно. Ну для ламеров это :D
                                                                                                              Спасибо за базу знаний, в частности был доработан под конкретные нужды и использован модифицированный алгоритм шифрования TEA.
                                                                                                              (Математика, алгоритмы --> Контрольные суммы и шифрование ... --> Алгоритм шифрования TEA)
                                                                                                              При этом обнаружилась в алгоритме досадная ошибочка, в редких случаях приводящая к неправильной расшифровке сообщения.
                                                                                                              В процедуре EnCript:

                                                                                                              ExpandedWrap disabled
                                                                                                                  // Определяем позицию размещения ключа в блоке данных
                                                                                                                  Randomize;
                                                                                                                  if Len < 255 then
                                                                                                                    I := Len
                                                                                                                  else
                                                                                                                    I := 255;
                                                                                                                  repeat
                                                                                                                    I := Random(I);
                                                                                                                    if I < 4 then I := 4;
                                                                                                                  //until I <= Len - 16;
                                                                                                                  // При I := Len - 16 теряется последний байт ключа, при длинне сообщения < (255 - 21)
                                                                                                                  // Поэтому, наверное лучше написать так (проверено, работает):
                                                                                                                  until I < Len - 16;


                                                                                                              А байтик теряется при выполнении вот этого кусочка кода (чуть ниже в той же функции):

                                                                                                              ExpandedWrap disabled
                                                                                                                  // Сдвигаем данные с 14 позиции на одну вправо для метки
                                                                                                                  // (буфер начинается с нуля)
                                                                                                                  for A := Len - 1 downto 14 do
                                                                                                                    ResultBuf[A] := ResultBuf[A - 1];


                                                                                                              С уважением. Михаил.
                                                                                                                Против ничего не имею - классный FAQ (сочности нехватает)
                                                                                                                но очень часто встречаются ошибки
                                                                                                                (недавно наткнулся на интересный FAQ ?....? ) - и непойму кто у кого копировал 8-) (ошибки идеентичные)
                                                                                                                  Lord, Какой такой сочности?
                                                                                                                  Ошибки? укажи пальцом - исправим 8-)
                                                                                                                    Цитата Dufa, 13.08.2005, 19:12:09, 826647
                                                                                                                    Ошибки? укажи пальцом - исправим 8-)

                                                                                                                    Пожалуйста - код проверки простого числа (asm) нерабочий. 8-)
                                                                                                                      даже просто - Орфографических валом
                                                                                                                        Цитата Lord @
                                                                                                                        даже просто - Орфографических валом

                                                                                                                        Если хочешь заняться проверкой орфографии - думаю Vit не будет против ;)
                                                                                                                          Цитата s-mike, 15.08.2005, 10:24:57, 827444
                                                                                                                          Если хочешь заняться проверкой орфографии - думаю Vit не будет против ;)

                                                                                                                          Фиг с ней, с орфографией, это не так важно, как приведение всего представленного кода в рабочее состояние и написание комментариев. А там, глядишь, руки и до грамматики дойдут.
                                                                                                                            Domino, Как у меня будет время - думаю заняться исправлением, ну что смогу конечно :D
                                                                                                                              Темы "Как увеличить процессорное время, выделяемого программе?", "Как получить / установить приоритет процесса?" и "Как поменять приоритет моего приложения"имеют лишь небольшие отличия, имеет смысл их объединить, обрезав всё лишнее. :)


                                                                                                                              Из трёх аналогичных примеров отлова WM_HOTKEY, примеры Как назначить горячие клавиши? и Регистрируем горячие клавиши не работают, а Выставляем горячие клавиши для Delphi приложения - работает нормально.
                                                                                                                              Сообщение отредактировано: --= Eagle =-- -
                                                                                                                                Цитата --= Eagle =-- @
                                                                                                                                Кто-то сейчас поддерживает проект?

                                                                                                                                Vit
                                                                                                                                  Цитата --= Eagle =-- @
                                                                                                                                  З.Ы. Кто-то сейчас поддерживает проект?


                                                                                                                                  Я никому проект не передавал
                                                                                                                                    Цитата Vit @
                                                                                                                                    Я никому проект не передавал

                                                                                                                                    Рад что Ты есть.
                                                                                                                                      Цитата Vit @
                                                                                                                                      Я никому проект не передавал

                                                                                                                                      drkb.ru
                                                                                                                                      закрыт временно
                                                                                                                                      Надолго?
                                                                                                                                        Две темы из [Системные функции и WinAPI - Работа с железом - Конфигурация железа] & [Разработка приложений - Вопросы защиты и взлома програм] дублируются один к одному: Узнать не запущено ли приложение под Virtual PC? и Как определить, работает ли программа в виртуальной машине Connectrix? , а также Как определить, работает ли программа в виртуальной машине VMware? и Узнать не запущено ли приложение под VMware?

                                                                                                                                        Цитата Vit, 07.09.2005, 15:37:23, 849646
                                                                                                                                        Я никому проект не передавал

                                                                                                                                        Это хорошо :) А когда, можно спросить, будет новая версия, "исправленная и дополненная"? ;) Ждём-с :yes:
                                                                                                                                          Цитата Ozzя @
                                                                                                                                          закрыт временно
                                                                                                                                          Надолго?


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

                                                                                                                                          Добавлено
                                                                                                                                          Цитата --= Eagle =-- @
                                                                                                                                          Это хорошо А когда, можно спросить, будет новая версия, "исправленная и дополненная"? Ждём-с


                                                                                                                                          Спросить можно, но пока не знаю когда дойдут руки - работаю сейчас на двух работах, иногда и поспать не удаётся
                                                                                                                                            Цитата Vit, 08.09.2005, 14:10:55, 850676
                                                                                                                                            Спросить можно, но пока не знаю когда дойдут руки - работаю сейчас на двух работах, иногда и поспать не удаётся

                                                                                                                                            Сочувствую.... :(
                                                                                                                                              Виталий, если не трудно, поменяйте, пожалуйста, везде буффер на буфер.
                                                                                                                                                Цитата Ozzя @
                                                                                                                                                Виталий, если не трудно, поменяйте, пожалуйста, везде буффер на буфер.



                                                                                                                                                Обязательно! Хех... сказывается мой английский...
                                                                                                                                                  Виталий, компонент MiTeC System Information Component
                                                                                                                                                  теперь по адресу

                                                                                                                                                  http://www.mitec.cz/Downloads/MSIC.zip
                                                                                                                                                    Цитата Ozzя @
                                                                                                                                                    Виталий, компонент MiTeC System Information Component
                                                                                                                                                    теперь по адресу

                                                                                                                                                    http://www.mitec.cz/Downloads/MSIC.zip

                                                                                                                                                    Тогда его вообще нужно убрать, потому что он тут без исходников, а в ДРКБ написано Source: Included. А ссылки в FAQ на коммерческие компоненты можно расценивать только как рекламу.
                                                                                                                                                      Вот ещё дублирующиеся темы: "Как преобразовать указатель на метод в указатель на функцию?" и "Method pointers --> function pointers"

                                                                                                                                                      З.Ы. Я там подправил один из своих предыдущих постов - нашёл ещё одну дублирующуюся тему (по поводу приоритета приложения)...
                                                                                                                                                        Предлогаю немного дополнить статью "Как показывать встроенный редактор ComboBox в ячейке StringGrid".

                                                                                                                                                        1. Дело в том, что в оригинальной статье при выделении какой-либо ячейки в StrinGrid-е, в ComboBox ничего не передается. Это немного не верный способ, т.к. сам ComboBox не переходит на позицию (ItemIndex) того текста который находится в StgingGrid-е, а встает в позицию ноль и если ничего не изменить в ComboBox, а просто выйти из ячейки, то значение в StringGrid-е изменится на значение текста присвоенному нулевой позиции (ItemIndex) ComboBox-а. С этим многие наверное сталкивались и исправить это довольно легко. Поэтому предлогаю просто внести в статью еще одну функцию, которая не просто передает значение из StringGrid-а в ComboBox, а ставит ComboBox в необходимю позицию.

                                                                                                                                                        2. Поработав с такими вставками я пришел к выводу, что "помещать выбранный элемент из ComboBox-а в Grid" стоит не в событии ComboBox1Change, а в событии ComboBox1CloseUp. Это более верно, т.к. Windows не будет путать где происходит прокрутка и где сейчас стоит фокус!

                                                                                                                                                        3. Есть еще одна проблема со вставками компонентов в StringGrid, который проявляется не на всех компьютерах. Если конкретно то это пропадание объетов вставки при пользовании скрула в StringGrid-е. Что бы не повторятся вот ссылка на вопрос --> Исчезает ComboBox из StringGrid-а . Видимо мало народу с ней сталкивалось. И все же проблему эту решить оказалось проще некуда... Оказывается, если прокрутить роликом над StringGrid-ом, то он принимает StayOnTop, а все компоненты, соответственно, оказываются под ним. Следовательно, надо сделать StringGrid-у SendToBack.

                                                                                                                                                        Оригинальная статья:
                                                                                                                                                        ExpandedWrap disabled
                                                                                                                                                          procedure TForm1.FormCreate(Sender: TObject);
                                                                                                                                                          begin
                                                                                                                                                           {Высоту у combobox не получится установить, поэтому мы будем}
                                                                                                                                                           {подгонять размер у грида под размер combobox!}
                                                                                                                                                            StringGrid1.DefaultRowHeight := ComboBox1.Height;
                                                                                                                                                           {Скрываем combobox}
                                                                                                                                                            ComboBox1.Visible := False;
                                                                                                                                                          end;
                                                                                                                                                           
                                                                                                                                                          procedure TForm1.ComboBox1Change(Sender: TObject);
                                                                                                                                                          begin
                                                                                                                                                           {Получаем выбранный элемент из ComboBox и помещаем его в грид}
                                                                                                                                                            StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := ComboBox1.Items[ComboBox1.ItemIndex];
                                                                                                                                                            ComboBox1.Visible := False;
                                                                                                                                                            StringGrid1.SetFocus;
                                                                                                                                                          end;
                                                                                                                                                           
                                                                                                                                                          procedure TForm1.ComboBox1Exit(Sender: TObject);
                                                                                                                                                          begin
                                                                                                                                                           {Получаем выбранный элемент из ComboBox и помещаем его в грид}
                                                                                                                                                            StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := ComboBox1.Items[ComboBox1.ItemIndex];
                                                                                                                                                            ComboBox1.Visible := False;
                                                                                                                                                            StringGrid1.SetFocus;
                                                                                                                                                          end;
                                                                                                                                                           
                                                                                                                                                          procedure TForm1.StringGrid1SelectCell(Sender: TObject; Col,
                                                                                                                                                           Row: Integer;  var CanSelect: Boolean);
                                                                                                                                                          var
                                                                                                                                                            R: TRect;
                                                                                                                                                          begin
                                                                                                                                                            if ((Col = 3) AND
                                                                                                                                                                (Row <> 0)) then begin
                                                                                                                                                             {Размер и расположение combobox подгоняем под ячейку}
                                                                                                                                                              R := StringGrid1.CellRect(Col, Row);
                                                                                                                                                              R.Left := R.Left + StringGrid1.Left;
                                                                                                                                                              R.Right := R.Right + StringGrid1.Left;
                                                                                                                                                              R.Top := R.Top + StringGrid1.Top;
                                                                                                                                                              R.Bottom := R.Bottom + StringGrid1.Top;
                                                                                                                                                              ComboBox1.Left := R.Left + 1;
                                                                                                                                                              ComboBox1.Top := R.Top + 1;
                                                                                                                                                              ComboBox1.Width := (R.Right + 1) - R.Left;
                                                                                                                                                              ComboBox1.Height := (R.Bottom + 1) - R.Top;
                                                                                                                                                             {Показываем combobox}
                                                                                                                                                              ComboBox1.Visible := True;
                                                                                                                                                              ComboBox1.SetFocus;
                                                                                                                                                            end;
                                                                                                                                                            CanSelect := True;
                                                                                                                                                          end;


                                                                                                                                                        Дополненая статья:
                                                                                                                                                        ExpandedWrap disabled
                                                                                                                                                          procedure TForm1.FormCreate(Sender: TObject);
                                                                                                                                                          begin
                                                                                                                                                           {Высоту у combobox не получится установить, поэтому мы будем}
                                                                                                                                                           {подгонять размер у грида под размер combobox!}
                                                                                                                                                            StringGrid1.DefaultRowHeight := ComboBox1.Height;
                                                                                                                                                           {Скрываем combobox}
                                                                                                                                                            ComboBox1.Visible := False;
                                                                                                                                                          end;
                                                                                                                                                           
                                                                                                                                                          procedure TForm1.ComboBox1CloseUp(Sender: TObject);
                                                                                                                                                          begin
                                                                                                                                                           {Получаем выбранный элемент из ComboBox и помещаем его в грид}
                                                                                                                                                            StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := ComboBox1.Items[ComboBox1.ItemIndex];
                                                                                                                                                            ComboBox1.Visible := False;
                                                                                                                                                            StringGrid1.SetFocus;
                                                                                                                                                          end;
                                                                                                                                                           
                                                                                                                                                          procedure TForm1.ComboBox1Exit(Sender: TObject);
                                                                                                                                                          begin
                                                                                                                                                           {Получаем выбранный элемент из ComboBox и помещаем его в грид}
                                                                                                                                                            StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := ComboBox1.Items[ComboBox1.ItemIndex];
                                                                                                                                                            ComboBox1.Visible := False;
                                                                                                                                                            StringGrid1.SetFocus;
                                                                                                                                                          end;
                                                                                                                                                           
                                                                                                                                                          procedure TForm1.StringGrid1SelectCell(Sender: TObject; Col,
                                                                                                                                                           Row: Integer;  var CanSelect: Boolean);
                                                                                                                                                          var
                                                                                                                                                            R: TRect;
                                                                                                                                                          begin
                                                                                                                                                            SGWriteRead.SendToBack;  
                                                                                                                                                            if ((Col = 3) AND
                                                                                                                                                                (Row <> 0)) then begin
                                                                                                                                                             {Размер и расположение combobox подгоняем под ячейку}
                                                                                                                                                              R := StringGrid1.CellRect(Col, Row);
                                                                                                                                                              R.Left := R.Left + StringGrid1.Left;
                                                                                                                                                              R.Right := R.Right + StringGrid1.Left;
                                                                                                                                                              R.Top := R.Top + StringGrid1.Top;
                                                                                                                                                              R.Bottom := R.Bottom + StringGrid1.Top;
                                                                                                                                                              ComboBox1.Left := R.Left + 1;
                                                                                                                                                              ComboBox1.Top := R.Top + 1;
                                                                                                                                                              ComboBox1.Width := (R.Right + 1) - R.Left;
                                                                                                                                                              ComboBox1.Height := (R.Bottom + 1) - R.Top;
                                                                                                                                                              //Определяем индекс
                                                                                                                                                              ComboBox1.ItemIndex := ComboBoxNumIndex(StringGrid1.Cells[3, ARow], ComboBox1.Items.Text);
                                                                                                                                                              //Показываем СomboBox
                                                                                                                                                              ComboBox1.Visible := True;
                                                                                                                                                              ComboBox1.SetFocus;
                                                                                                                                                            end;
                                                                                                                                                            CanSelect := True;
                                                                                                                                                          end;
                                                                                                                                                           
                                                                                                                                                          // Ставим ComboBox в позицию текста который отбражен в StringGrid-е
                                                                                                                                                          Function ComboBoxNumIndex(TextGrid, TextCombo : String): Integer;
                                                                                                                                                          var
                                                                                                                                                           NumIndex: Integer;
                                                                                                                                                          begin
                                                                                                                                                             NumIndex := 0;
                                                                                                                                                             while Pos(#13#10, TextCombo) <> 0 do
                                                                                                                                                             begin
                                                                                                                                                                if Copy(TextCombo, 0, Pos(#13#10, TextCombo)-1) = TextGrid then break
                                                                                                                                                                else
                                                                                                                                                                begin
                                                                                                                                                                   NumIndex := NumIndex + 1;
                                                                                                                                                                   TextCombo := Copy(TextCombo, Pos(#13#10, TextCombo)+2, Length(TextCombo));
                                                                                                                                                                end;
                                                                                                                                                             end;
                                                                                                                                                             ComboBoxNumIndex := NumIndex;
                                                                                                                                                          end;
                                                                                                                                                        Сообщение отредактировано: Gugle -
                                                                                                                                                          хелп плиз, тока не бейте зонтиком я чиго-то ненашел аналогичных топов

                                                                                                                                                          у меня при открытии chm файла всплывает окно "Delphi Russian Knowledge Base from Vit"
                                                                                                                                                          слева отображается содержание, а справа в окне

                                                                                                                                                          "Действие отменено
                                                                                                                                                          Internet Explorer не удается подключиться к запрошенной веб-странице. Возможно, страница временно недоступна."

                                                                                                                                                          при попытке открыть любой из разделов:

                                                                                                                                                          "Невозможно отобразить страницу
                                                                                                                                                          Эта страница сейчас недоступна. Возможно, это вызвано техническими проблемами на веб-узле, или требуется изменение параметров обозревателя."


                                                                                                                                                          никто не сталкивался с такой проблемой ?
                                                                                                                                                            CiD, такое бывает, когда например в браузере (Internet Explorer) стоит кодировка OEM, например.
                                                                                                                                                              Посмотри здесь: Глюк с CHM
                                                                                                                                                                посмотрел, тока мне это не помогло:
                                                                                                                                                                переименовал файл в c:\folder\file.chm - ошибка та же
                                                                                                                                                                при открытии "с помощью..." IE выдает сообщение "Открыть файл предупреждение безопасности. издатель неизвестен", на диалоге 2 кнопки открыть и отмена, нажимаю открыть - ошибка та же, по отмене соответственно отваливается, но если внизу снять галочку "всегда спрашивать при открытии файлов этого типа" и нажать открыть - все нормально открывается.

                                                                                                                                                                ЗЫ если после переименовать файл - проблема возвращается.
                                                                                                                                                                  TRichEdit -> Установка каретки в RichEdit
                                                                                                                                                                  ---------------
                                                                                                                                                                  Узнать положение курсора в RichEdit не составляет труда (richedit.getcaret). А вот как установить каретку в нужное место ?.
                                                                                                                                                                  ExpandedWrap disabled
                                                                                                                                                                    [CODE=pas]Procedure setline(WhichEdit:TRichedit;Linepos,charpos:integer);
                                                                                                                                                                    Begin
                                                                                                                                                                     with WhichEdit do  
                                                                                                                                                                       begin  
                                                                                                                                                                         selstart:=perform(EM_LineIndex,Linenum,0)+charpos;  
                                                                                                                                                                         perform(EM_ScrollCaret,0,0);  
                                                                                                                                                                       end;  
                                                                                                                                                                    end;


                                                                                                                                                                  Комментарии:
                                                                                                                                                                  Если Вам не нужно, чтобы происходил скроллинг к позиции каретки, то EM_ScrollCaret можно убрать. RichEdit должен иметь фокус, иначе em_ScrollCaret не сработает.

                                                                                                                                                                  ---------------

                                                                                                                                                                  У меня не работает :( (извените если не в тему, просто проблема может возникнуть не только у меня. Может ещё есть какие-либо условия? Если есть, то надо дополнить)

                                                                                                                                                                  Перевод курсора на определённую строку
                                                                                                                                                                  Сообщение отредактировано: MamontDel -
                                                                                                                                                                    А не завести (или переименовать) ли тему в "Delphi Russian Knowledge Base BugTrack" ?
                                                                                                                                                                    Или же просто уточнить в описании темы "BugTrack"
                                                                                                                                                                    Сообщение отредактировано: Romtek -
                                                                                                                                                                      Цитата Romtek @
                                                                                                                                                                      А не завести (или переименовать) ли тему в "Delphi Russian Knowledge Base BugTrack" ?
                                                                                                                                                                      Или же просто уточнить в описании темы "BugTrack"



                                                                                                                                                                      Против, мне легче если всё будет в одном месте сконцентрировано
                                                                                                                                                                        Vit, как там по поводу новой версии? А то уже больше года - и ни одного обновления... :unsure:
                                                                                                                                                                          Народ, отсюда http://www.drkb.ru/ вобще хоть кто-то что-то может скачать?
                                                                                                                                                                          Второй день пытаюсь и на все попытки закачки пишет
                                                                                                                                                                          Notice: Use of undefined constant QUERY_STRING - assumed 'QUERY_STRING' in /home/httpd/vhosts/drkb.ru/httpdocs/clicks_counter.php on line 24

                                                                                                                                                                          Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/drkb.ru/httpdocs/clicks_counter.php:24) in /home/httpd/vhosts/drkb.ru/httpdocs/clicks_counter.php on line 52
                                                                                                                                                                            _Vetal_
                                                                                                                                                                            http://www.delphist.com/drkb23.chm
                                                                                                                                                                              Не удается скачать drkb с его родного сайта.

                                                                                                                                                                              Вылетает ошибка

                                                                                                                                                                              Notice: Use of undefined constant QUERY_STRING - assumed 'QUERY_STRING' in /home/httpd/vhosts/drkb.ru/httpdocs/clicks_counter.php on line 24

                                                                                                                                                                              Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/drkb.ru/httpdocs/clicks_counter.php:24) in /home/httpd/vhosts/drkb.ru/httpdocs/clicks_counter.php on line 52
                                                                                                                                                                                aelita, читай предыдущие сообшения!!
                                                                                                                                                                                  Сайт исправил :)
                                                                                                                                                                                    Цитата Vit, 13.03.2006, 15:45:13, 1042526
                                                                                                                                                                                    Сайт исправил

                                                                                                                                                                                    а новую версию? ;)
                                                                                                                                                                                      Пустые статьи "Sending a file via DCOM" и "Deploying Midas" (v.2.3)
                                                                                                                                                                                        Цитата --= Eagle =-- @
                                                                                                                                                                                        а новую версию?



                                                                                                                                                                                        Как показал опыт работы над предыдущими версиями реальной помощи от коголибо ждать не приходится, а у меня по жизни сейчас туго со временем и предположительно будет туго ещё как минимум пол года. С другой стороны я и сам DRKB в работе пользуюсь и по большому счёту там особенно нечего и добавлять - в принципе охвачены почти все основные аспекты и есть ответы на подавляющее большинство вопросов... Естествеено можно найти новое, исправить баги, но... в целом - а надо ли?
                                                                                                                                                                                          Vit
                                                                                                                                                                                          Если только добавлять из серии практическое программирование - численные методы, например.
                                                                                                                                                                                            Цитата Vit, 22.03.2006, 6:49:43, 1051688
                                                                                                                                                                                            Как показал опыт работы над предыдущими версиями реальной помощи от коголибо ждать не приходится

                                                                                                                                                                                            Ну, смотри сам - проект - твой, всю помощь, которую мы можем оказать - найти какие-нить неточности и указать на них, при возможности - с указанием того, как должно быть правильно. Вроде, так и делаем...
                                                                                                                                                                                            Цитата Vit, 22.03.2006, 6:49:43, 1051688
                                                                                                                                                                                            С другой стороны я и сам DRKB в работе пользуюсь и по большому счёту там особенно нечего и добавлять - в принципе охвачены почти все основные аспекты и есть ответы на подавляющее большинство вопросов...

                                                                                                                                                                                            Vit, а если я дам ссылочки с готовыми решениями на этом форуме, что было бы неплохо включить в DRKB - добавишь?
                                                                                                                                                                                            Цитата Vit, 22.03.2006, 6:49:43, 1051688
                                                                                                                                                                                            Естествеено можно найти новое, исправить баги, но... в целом - а надо ли?

                                                                                                                                                                                            Ну, ИИХО, справить баги - это обязательно. Добавить новое - это уж как тебе позволяет время.
                                                                                                                                                                                            Полагаю, за это время было найдено много ляпов в версии 2.3, которые следует исправить, выпустить final release и, если у тебя не хватает времени на проект (жаль конечно, но тут мы тебе не можем помочь) - поставить на нём жирную точку. Может на год, может на три, а может и навсегда...
                                                                                                                                                                                              Цитата --= Eagle =-- @
                                                                                                                                                                                              Vit, а если я дам ссылочки с готовыми решениями на этом форуме, что было бы неплохо включить в DRKB - добавишь?


                                                                                                                                                                                              Да
                                                                                                                                                                                                Спасибо вам всем за то, что вы есть !!!!
                                                                                                                                                                                                    У нас в FAQ много новых и интересных решений, которые было бы полезно включить в DRKB.
                                                                                                                                                                                                      yry :)
                                                                                                                                                                                                        Vit, так что?
                                                                                                                                                                                                          Как будет свободное время и "вдохновение" - займусь новым релизом
                                                                                                                                                                                                            Для тех кто занимается графикой, предлагаю полезую функцию, позволяющую определять взаимное расположение точки и прятой (можно использовать для определения нахождения точки внутри сложного контура):
                                                                                                                                                                                                            ExpandedWrap disabled
                                                                                                                                                                                                              {Расчет нормали от точки до линии и расстояния от начала и до конца линии}
                                                                                                                                                                                                              function Dfptl(key:byte;x,y,xn,yn,xk,yk:real):real;//Distance From Point To Line
                                                                                                                                                                                                              Const r0=2*pi;r1=pi;r2=pi/2;r3=3*pi/4;r4=1e-4;
                                                                                                                                                                                                              var
                                                                                                                                                                                                              a,dx,dy:double;
                                                                                                                                                                                                              begin
                                                                                                                                                                                                              dx:=xk-xn;dy:=yk-yn;
                                                                                                                                                                                                              if abs(dx)<r4 then begin if dy>0 then a:=r2 else a:=-r2;end else a:=arctan2(dy,dx);
                                                                                                                                                                                                               Case key of
                                                                                                                                                                                                               0://расстояние от точки до прямой; <0 - точка слева; >0 - точка справа
                                                                                                                                                                                                                 Result:=(xn-x)*Sin(a)-(yn-y)*Cos(a);
                                                                                                                                                                                                               1://расстояние от точки до начала линии
                                                                                                                                                                                                                 Result:=(x-xn)*Cos(a)+(y-yn)*Sin(a);
                                                                                                                                                                                                               2://проекция точки на направление прямой попадает на нее если Result=0
                                                                                                                                                                                                                 Result:=(sqrt(sqr(dx)+sqr(dy))-Abs((xn-x)*Cos(a)+(yn-y)*Sin(a))-Abs((xk-x)*Cos(a)+(yk-y)*Sin(a)));
                                                                                                                                                                                                               3://расстояние от точки до конца линии
                                                                                                                                                                                                                 Result:=(x-xk)*Cos(a)+(y-yk)*Sin(a);
                                                                                                                                                                                                               else result:=1e30;
                                                                                                                                                                                                               end;
                                                                                                                                                                                                              if isZero(Result,r4) then Result:=0;
                                                                                                                                                                                                              end;


                                                                                                                                                                                                            Добавлено
                                                                                                                                                                                                            Столкнулся однажду с такой проблемой: взял исходник на Delphi 7 с другого компа, на котором всё работало нормально, перенёс на свой комп..
                                                                                                                                                                                                            УЖАС! Все пункты меню выдавались в виде ряда вопросительных знаков. И Ведь Что интересно, при использовании этих исходников в Delphi 6 этого не происходило. Долго мучался, но нашёл. В компе с которого я брал исходники на вкладке "ЯЗЫК И РЕГИОНАЛЬНЫЕ СТАНДАРТЫ" был установлен английский язык. Пишу это замечание, потому что на форуме мне так никто и не смог подсказать в чём была проблеммаю
                                                                                                                                                                                                              Цитата Digar @
                                                                                                                                                                                                              Пишу это замечание, потому что на форуме мне так никто и не смог подсказать в чём была проблеммаю

                                                                                                                                                                                                              Этот вопрос просто так часто повторяется, что уже влом каждому рассказывать, в чем проблема. Так что искать нужно, прежде чем вопрос задавать.

                                                                                                                                                                                                              А вообще уже есть однозначный ответ на этот вопрос - использование BDS 2006 (не имеет проблем с региональными настройками) + TNT Unicode Library (позволяет избавиться от неправильного отображения текста в юникодной среде, такой как Win2000/XP/2003 и выше при любых настройках).
                                                                                                                                                                                                                а когда будет новая версия? :rolleyes:
                                                                                                                                                                                                                  Пока нашёл ещё один недочёт:

                                                                                                                                                                                                                  Статья "Как назначить горячие клавиши?" полностью содержится в "Использование ловушек, блокировка мышки, клавиатуры и т.д.", а "Регистрируем горячие клавиши" - просто чуть более урезанная их веррсия.

                                                                                                                                                                                                                  "Выставляем горячие клавиши для Delphi приложения" повторяют предыдущий код, но не учитывают того, что один ID для горячей клавиши должен использоваться только один раз на поток, и его рекомендуется получать через через GlobalAddAtom()

                                                                                                                                                                                                                  Добавлено
                                                                                                                                                                                                                  Вот ещё пара решений, которые заинтересовали именно меня:
                                                                                                                                                                                                                  Hotlkeys
                                                                                                                                                                                                                  Обернуть JOURNALRECORD-хук в класс
                                                                                                                                                                                                                    Дубли: "Как ограничить перемещение курсора?" и "Как ограничить движения мышки определённой областью?"

                                                                                                                                                                                                                    Пример из "Using the Shell API function SHBrowseForFolder" содержится "Как использовать Shell API SHBrowseForFolder?", а пример "Как вывести диалог Обзор папок" является упрощённым, но РАБОЧИМ вариантом второго примера предыдущей статьи. Кроме того, ИМХО, стоит упомянуть, что в статье "Пример простейшего HTTP сервера" также есть пример использования SHBrowseForFolder. Кстати, можно добавить, что если к флагам добавить "or BIF_USENEWUI",
                                                                                                                                                                                                                    то по-умолчанию (если нет флага BIF_NOCREATEDIRS = $200) можно будет ещё и создавать новые папки.
                                                                                                                                                                                                                      Меня всегда интересовало... а почему народ так сильно недоволен дубляжом и почему больше половины всех замечаний по дублированным темам. Вопрос для меня лично не праздный по 2м причинам:

                                                                                                                                                                                                                      1. Очень трудно дубли предотвратить и их предотвращение ОЧЕНЬ сильно замедляет выпуск новых версий. Если бы не шквал сообщений о дублях, то не обращая внимания на 1-2% возможных дублирующих тем я смог бы обновлять DRKB на порядок чаще и подобрать гораздо больше материала. Если честно, то соотношение затрат времени примерно такое: за время потраченное на вставку одного топика с тщательной проверкой его на дублирование можно вставить от 20-50 топиков без проверки на дублирование (отсеивая дубляжи только по памяти)

                                                                                                                                                                                                                      2. Чем мешают дублирующие темы? Занимаемым объёмом? Дык их всего-то не более нескольких процентов, и мегабайт в общей сложности не набежит. Или просто так мешают, от нечего делать? Как по мне так они даже полезны - поиск облегчают, натыкаешься на нужные вопросы и в одном разделе и в другом...


                                                                                                                                                                                                                      Если честно, то именно дублирующие темы и неприятные воспоминания о том что с выходом новой версии на меня опять обрушится шквал замечаний о дублежах то там то там психологически меня удерживают от выпуска новой версии. Я не знаю как избавится от дублирующих тем приемлимыми затратами времени, а к тому же совершенно не вижу смысла в том чтоб тратить своё время на их выискивание...
                                                                                                                                                                                                                        нет дубляжей - типа порядок) программеры все аккуратные выходит :rolleyes:
                                                                                                                                                                                                                          Цитата Алексей @
                                                                                                                                                                                                                          нет дубляжей - типа порядок)



                                                                                                                                                                                                                          Тогда я - пасс. Следующую версию считаю невозможным выпустить, у меня в памяти не вмещается столько тем, а поиск дубликатов при внесении каждой новой статьи это несопоставимая с получаемой выгодой трата моего личного времени.
                                                                                                                                                                                                                            Цитата Vit @
                                                                                                                                                                                                                            Тогда я - пасс. Следующую версию считаю невозможным выпустить, у меня в памяти не вмещается столько тем, а поиск дубликатов при внесении каждой новой статьи это несопоставимая с получаемой выгодой трата моего личного времени.
                                                                                                                                                                                                                            Да в баню эти дубляжи! Не заморачивайся. Если кому не нравится, пусть возьмет да поможет, а нет - так пусть молчит >:(

                                                                                                                                                                                                                            Лично мне DRKB во многом очень помогла. И было бы замечательно, если бы она расширялась и дальше.
                                                                                                                                                                                                                              Vit да конечно не заморачивайся на дубляжах!
                                                                                                                                                                                                                                Vit, споки :) Я не укоряю тебя дубляжём, просто помогаю по возможности избавиться от лишних дублей. Это НЕ порок базы, просто это то, что можно и даже нужно изъять ввиду отсутствия в нем необходимости... Лично мне база нравится и с дублями, просто хочется больше обновлений :)
                                                                                                                                                                                                                                З.Ы. Если тебя расстраивают мои темы с дублями, больше не буду их постить... По мне так лучше с дублями, но чтоб было, чем вообще никак ;)
                                                                                                                                                                                                                                  Цитата Vit @
                                                                                                                                                                                                                                  Тогда я - пасс. Следующую версию считаю невозможным выпустить, у меня в памяти не вмещается столько тем, а поиск дубликатов при внесении каждой новой статьи это несопоставимая с получаемой выгодой трата моего личного времени.

                                                                                                                                                                                                                                  если всё-таки решишь выпустить новую версию и будешь не против моей помощи в поиске дублей для исправления - помогу чем смогу, :yes:
                                                                                                                                                                                                                                  З.Ы. Не бросай проект, он так многим помогает! :wub:
                                                                                                                                                                                                                                    Кстати, а как выявляются дубликаты? Может, проблема решается программно?
                                                                                                                                                                                                                                      Цитата Romtek, 26.08.2006, 11:51:48, 1237084
                                                                                                                                                                                                                                      Кстати, а как выявляются дубликаты?

                                                                                                                                                                                                                                      Просто ищу чего-то в базе и нахожу рахные ответы. Пролистывая ответы иногда (редко) наталкиваюсь на дубли...

                                                                                                                                                                                                                                      Цитата Romtek, 26.08.2006, 11:51:48, 1237084
                                                                                                                                                                                                                                      Может, проблема решается программно?

                                                                                                                                                                                                                                      А это идея :) Только, думаю, это будет не совсем легко: нужно выбрать часто встречающиеся слова и игнорить их, а редко встречающиеся сравнивапть и если в 2-х текстах есть много совпадений по таким редким словам, то предложить их человеку для сверки :) Только, боюсь, ложных вызовов будет многовато.
                                                                                                                                                                                                                                        Цитата --= Eagle =-- @
                                                                                                                                                                                                                                        Пролистывая ответы иногда (редко) наталкиваюсь на дубли...
                                                                                                                                                                                                                                        Дубли это полностью или частично совпадающие статьи?
                                                                                                                                                                                                                                        Если полностью, то можно сгенерировать типа хэша определенной статьи и сравнивать их программно. Да и частичным дублям можно найти решение проблемы (при желании).

                                                                                                                                                                                                                                        За алгоритмами знаете куда обращаться...
                                                                                                                                                                                                                                          Цитата Romtek, 27.08.2006, 0:39:29, 1237688
                                                                                                                                                                                                                                          Дубли это полностью или частично совпадающие статьи?

                                                                                                                                                                                                                                          Чаще всего частично...
                                                                                                                                                                                                                                            Даже полностью совпадающие по хэшам не сравнишь, где-то пробел всунется, где-то абзац, где-то перевод каретки... С точностью до байта совпадающих наверняка нет...
                                                                                                                                                                                                                                              Vit, а как ты добавляешь статьи, вообще? При добавлении ты разве не смотришь на совпадение, хотя бы по заголовку или строчке из кода?
                                                                                                                                                                                                                                                Цитата Romtek @
                                                                                                                                                                                                                                                Vit, а как ты добавляешь статьи, вообще? При добавлении ты разве не смотришь на совпадение, хотя бы по заголовку или строчке из кода?


                                                                                                                                                                                                                                                Для интереса возьми попробуй добавить две-три сотни статей и ты всё поймёшь... На совпадение можно смотреть если только есть специфические слова, по строке кода искать бесполезно - они могут либо быть в других статьях, либо не находится из-за лишнего пробела... По разделам иногда смотрю, но не факт что статья попадёт именно в тот раздел, а не окажется в каком-то другом...
                                                                                                                                                                                                                                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                                                                                                                                                                                                                                0 пользователей:


                                                                                                                                                                                                                                                Рейтинг@Mail.ru
                                                                                                                                                                                                                                                [ Script execution time: 0,2072 ]   [ 15 queries used ]   [ Generated: 20.05.24, 18:13 GMT ]