Советы по Delphi


Советы по Delphi

Сборник коротких, но очень практических советов по работе с Delphi

Очень медленный доступ к таблице
Задание псевдонима программным путем
Создание многомерного массива
Нажатие кнопки
Вызов Delphi DLL из MS Visual C++

Хитрость OnCalcFields
Получение идентификатора диска
Открытие и закрытие привода CD-ROM
Просмотр буфера обмена I
Работа с индексами Clipper'а

Как зарегистрировать OCX?
Программное открытие ComboBox
Директивы компилятора, способные увеличить скорость
Панель Управления
HEX -> Integer

CPU Speed routine
Создание db-файла во время работы приложения
Создание события во время выполнения приложения
Частичный показ DateTime
Таблицы dBASE: Структура .DBF-файла
Различные цвета строк в DBCtrlGrid

Перевод в верхний регистр первого вводимого символа
Использование опции MultiSelect в DBGRID
Проблема хранения TDBImage
Копирование текста DBMemo
Пример KeyDown компонента DBNavigator
Событие OnChange компонента DBRadioGroup

DCOM
Получение данных из Program Manager через DDE
Hard mode без перерыва
Задержка выполнения OnChange (Delphi 2)
Ошибка сохранения текста в Memo
Ошибка в руководстве "Getting Started"
Получение констант с определением ошибки функцией LoadStr
Снимок DESKTOP в form.canvas
Центрирование информационного диалога (MessageDlg)

Drag & Drop c Win95 Explorer I
Пример TDrawGrid Drawcell
Массив Edit-компонентов Procedure
Битное кодирование/декодирование I
Перехват ошибок DBEngine
DLL и ресурсы

Исключения в Delphi
FileListBox с двумя колонками...как
Поиск величины при вводе I
Как мне проверить готовность диска 'a:'? I
Как приложению воспользоваться своими шрифтами?
Заголовок TGA-файла
Серийный номер тома

Процедура форматирования
Header1
Оглавление файлов помощи
Вывод окна CPU (дизассемблер)
Изображение не масштабируется
Автоматический logon к локальной InterBase
Переход с Oracle на Interbase

Контроль джойстика в Delphi
Звуковой сигнал при нажатии <ENTER>
Label1
Изменение шрифта в Listbox
TListView, TTreeView
Перехват клавиши SHIFT во время выбора пункта меню
FFT аглоритм для Delphi
Прокрутка Memo
Общий доступ к памяти, распределенной DLL

Предел сегмента данных в 64K
Сообщения Windows
Перекрытие виртуальных методов
AT-команды модема
Добавление события OnMouseLeave

Excel
MAPI и MS Exchange
Delphi/MS Office 97/OLE/VB для приложений
Получение данных из Delphi-приложения в документе Word
Обзор сети
События OnClick/Onchange компонента Notebook

Создание объектных переменных
Конфигурирование ODBC
OLE тестер
Связь с personal Oracle

Техника оптимизации под линуха

Качество оптимизирующих компиляторов обычно оценивают по результатом комплексных тестов (мультимедийных, "общесистемных" или математических). Что именно оптимизируется и как — остается неясным. Основной "интеллект" оптимизаторов сосредоточен в высокоуровневом препроцессоре — своеобразном "ликвидаторе" наиболее очевидных программистских ошибок. Чем качественнее исходный код, тем хуже он поддается оптимизации. Только ведь… над качественным кодом _работать_ надо! Много знать и ожесточенно думать, ломая карандаши или вгрызаясь в клавиатуру. Кому-то это в радость, а кто-то предпочитает писать кое-как. Все равно, мол, компилятор, соптимизирует!
Желание перебросить часть работы на транслятор — вполне естественно и нормально (для творчества больше времени останется), но нужно заранее знать, что именно он оптимизирует, а что только пытается. Но как это можно узнать? На фоне полнейшей терминологической неразберихи, когда одни и те же приемы оптимизации в каждом случае называются по-разному, прячась за ничего не говорящими штаммами типа "copy propagation" (размножение копий) или "redundancy elimination" (устранение избыточности), требуется очень качественная документация на компилятор, но она — увы — обычно ограничивается тупым перечислением оптимизирующих ключей с краткой пометкой за что каждый из них отвечает. Какие копии размножает компилятор и с какой целью? Какую избыточность он устраняет и зачем? Не является ли размножение внесением избыточности, которую самому же оптимизатору и приходится удалять?!

Общие соображения по оптимизации
Обзор алгоритмов MOLAP

Оценочная оптимизация для магии алгебра и реализация
Обзор методов оптимизации запросов в реляционных системах

Безопасность и оптимизация Linux.Редакция для Red Hat

Linux это операционная система, которая изначально была создана как хобби молодого студента Линуса Торвальдса из Хельсинского университета в Финляндии. Линус интересовался Minix, небольшим вариантом UNIX, и решил разработать систему превосходящую Minix стандарт. Он начал свои работы в 1991 году, выпустив версию 0.02, и постоянно работал над ней до 1994 года, когда вышла версия 1.0 ядра Linux. Текущей версией ядра является 2.2 (выпущено 25 января 1999 года).
Linux распространяется под GNU General Public License и его исходные коды свободно доступны для всех желающих. Linux может использоваться как сетевая платформа, платформа для разработчиков и платформа для конечных пользователей. Linux часто считается как прекрасная и недорогая альтернатива других более дорогих операционных систем.

Введение
Рекомендации связанные с инсталляцией
Инсталляция вашего Linux сервера
Безопасность и оптимизация
Файл “/etc/profile”

Пакеты
Рекомендации связанные с сетью
Linux IPCHAINS
Маскарадинг и форвардинг в Linux
Функциональные возможности компилятора

Linux sXid
Конфигурации
Linux Tripwire 2.2.1
Linux GnuPG
Linux DNS и BIND сервер
Linux Sendmail сервер

Linux OPENSSL сервер
Linux OpenLDAP сервер
Прокси сервер Squid
Linux MM – библиотека совместно используемой памяти
Опциональные компоненты устанавливаемые с веб-сервером Apache - Webalizer

Linux Samba сервер
Резервное копирование и восстановление в Linux
Советы, рекомендации и задачи администрирования

Операционная система UNIX

Проект операционной системы Multics: неудача с положительными последствиями С 1965 по 1969 год компания Bell Labs совместно с компанией General Electric и группой исследователей из Масачусетского технологического института участвовала в проекте ОС Multics. Целью проекта было создание многопользовательской интерактивной операционной системы, обеспечивающей большое число пользователей удобными и мощными средствами доступа к вычислительным ресурсам. В этом курсе мы не ставим задачу познакомить слушателей с ОС Multics. Это могло бы быть темой отдельного большого курса. Однако отметим хотя бы некоторые идеи, которые содержались в проекте MAC (так назывался проект ОС Multics).

Исследовательский UNIX
Базовые библиотеки

Раздел - Конфликтология

Вот это по настоящему нужный раздел. Очень часто наши конфликты с другими людьми возникают из сущей чепухи и перерастают хрен знает во что. Может потому что все мы "лидеры", ну в душе? Не знаю, не берусь прям утверждать, но мо моему опыту очень много конфликтов происходит из неумения человека понятно изложить свое мнение другому человеку. Стоит сесть и спокойно поговорить и все, капец конфликту.

Организации
Политика
Психология
Разрешение
Социальная
Труд
Хрестоматии
Школа
Искусство обмана

ISaGRAF. Version 3.4

Этот раздел описывает инсталляцию системы разработки ISaGRAF. Кроме того, даны короткие примеры программ ISaGRAF. Они дают пользователю сжатый обзор его основных возможностей и позволяют сразу использовать ISaGRAF.

Первые шаги
Использование менеджера библиотек
Стандартные функциональные блоки
Сохранение переменных приложения

Организация и функционирование компьютеров

Программировать в широком смысле - это значит составить такое предписание для компьютера, чтобы он совершил то целенаправленное действие, которое от него ожидается. Причем обязателен один важный аспект этого процесса - повторяемость. Вы один раз совершаете некую работу - составляете программу - после чего компью­тер получает возможность выполнять нужное действие всякий раз, когда это от него требуется. Современные программы дискретны и состоят из отдельных элементарных операций – команд. Команда позволяет компьютеру в каждой ситуации однозначно и правильно выполнить следующее действие. Весь процесс программирования в общем случае подразу­мевает, прежде всего, формулировку цели программы, затем анализ содержания задачи и, наконец, создание программы для компьютера. Для этого программист должен уметь учитывать все случаи, которые могут встретиться в процессе работы программы, и предусмотреть для них правильное действие.
Уже с давних времен ученые задумывались над проблемой формализации умственной деятельности человека, в частности, вычислений. Проблема заключается в построении такой последовательности шагов решения задачи, при выполнении которой выбор очередного шага однозначно предопределен предыдущими шагами. Конкретная модель вычислительного процесса называется алгоритмом, а построение алгоритма решения задачи называется алгоритмизацией.

Компьютер – универсальная вычислительная машина
Основные понятия и сетевая терминология

Обнаружение атак

Существующие сегодня на рынке коммерческие системы обнаружения атак (Intrusion Detection Systems, IDS) используют для распознавания и отражения атак либо сетевой, либо системный подход. В любом случае эти продукты ищут сигнатуры атак, специфические шаблоны, которые обычно указывают на враждебные или подозрительные действия. В случае поиска этих шаблонов в сетевом трафике, IDS работает на сетевом уровне. Если IDS ищет сигнатуры атак в журналах регистрации операционной системы или приложения, то это системный уровень. Каждый подход имеет свои достоинства и недостатки, но они оба дополняют друг друга. Наиболее эффективной является система обнаружения атак, которая использует в своей работе обе технологии. В данном материале обсуждаются различия в методах обнаружения атак на сетевом и системном уровнях с целью демонстрации их слабых и сильных сторон. Также описываются варианты применения каждого из способов для наиболее эффективного обнаружения атак.

Продолжение