Последние записи
- Рандомное слайдшоу
- Событие для произвольной области внутри TImage
- Удаление папки с файлами
- Распечатка файла
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
16th
Мар
Изменение динамического ip
как можно изменить динам айпи без перезагрузки модема? с пробовал программно с перезагрузкой но конект по времени немног долгий. (читать всё…)
8th
Ноя
ЗАМЕНИТЬ ЭЛЕМЕНТЫ ВЫШЕ ГЛАВНОЙ ДИАГОНАЛИ МАТРИЦЫ НА ЧИСЛО R
Programming articles
Создание сайтов на шаблонах
Множество вариантов работы с графикой на канве
Шифруем файл с помощью другого файла
Перехват API функций — Основы
Как сделать действительно хороший сайт
Создание почтового клиента в Delphi 7
Применение паскаля для
решения геометрических задач
Управление windows с помощью Delphi
Создание wap сайта
Операционная система unix, термины и понятия
SQL враг или друг
Возникновение и первая редакция ОС UNIX
Оптимизация проекта в Delphi
Ресурсы, зачем нужны ресурсы
Термины программистов 20 века
Советы по созданию собственного сайта с нуля
Шифруем файл с помощью пароля
Фракталы – геометрия природы
Crypt – Delphi программа для шифрования
Рассылка, зачем она нужна и как ее организовать?
Учебник по C++ для начинающих программистов
Уроки для изучения ассемблера
Загадочный тип PCHAR
Средства по созданию сайтов
Операторы преобразования
классов is и as
Borland Developer studio 2006. Всё в одном
Создание базы данных в Delphi, без сторонних БД
Software engineering articles
12th
Окт
Регистрация COM-библиотеки
Такая ситуация. В своей программе использую дополнительную dll библиотеку (она прописывается в uses). Если она установлена на компьютере пользователя этой программы, все работает. Если ее нет, то программа отказывается запускаться, выскакивает ошибка и программа закрывается.
Программа заработает если самостоятельно добавить эту библиотеку (regsvr32 IntCOM.dll)
Подскажите пожалуйста в delphi как-то можно автоматически если ее нет то добавить эту библиотеку перед включением программы? (читать всё…)
9th
Окт
Как в wordpress выводить страницу входа вместо главной страницы?
Как сделать на главной страницу-заглушку, на которой есть кнопка «Войти на сайт». То есть, чтобы страница-заглушка открывалась по адресу site.ru, а при клике на кнопку «Войти на сайт» открывалась страница index.php тоже по адресу site.ru. То есть ни категории, ни записи, а именно index.php. Желательно, без использование html-страницы в качестве заглушки. (читать всё…)
20th
Сен
Пример многоуровневого меню
Подскажите пожалуйста как создать список в HTML что бы при нажатии допустим на «Жанр» список раскрывался и появлялись дополнительные пункты как «Научная фантастика», «Юмористическая фантастика», «Фентези» и т.д. (читать всё…)
29th
Июн
Как создать динамическое меню?
У каждого меню должно быть еще и сабменю. Количество МЕНЮ и САБМЕНЮ заранее неизвестно и варьируется количеством записей в справочниках. (читать всё…)
20th
Май
Поиск числа по двумерному массиву
В программе поиска числа по двумерному массиву, что то не так с регистрами esi и ebx. Сама программа работает неправильно. Посмотрел в олли, а там адрес элемента неправильно в eax загружается. Попробовал к esi и ebx прибавлять по 4 (все таки тип данных двойное слово), программа немного другие числа в eax загружала, но все равно не те. Прошу помочь, в чем ошибка? (читать всё…)
8th
Ноя
МОНИТОР
Для начала узнаем, с какой видеокартой мы работаем:
procedure TForm1.Button1Click(Sender: TObject);
var
lpDisplayDevice: TDisplayDevice;
dwFlags: DWORD;
cc: DWORD;
begin
Memo1.Clear;
lpDisplayDevice.cb := sizeof(lpDisplayDevice);
dwFlags := 0;
cc := 0;
while EnumDisplayDevices(nil, cc, lpDisplayDevice, dwFlags) do
begin
Inc(cc);
Memo1.lines.add(lpDisplayDevice.DeviceString);
end;
end;
Теперь разместим на форме ListBox и Button. В обработчике создания формы пишем:
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
DevMode: TDevMode;
begin
i:=0;
while EnumDisplaySettings(nil,i,DevMode) do
begin
with Devmode do
ListBox1.Items.Add(Format(‘%dx%d %d Colors’,
[dmPelsWidth,dmPelsHeight,1 shl dmBitsperPel]));
Inc(i);
end;
end;
Вы увидите все возможные комбинации разрешений и цветов, которые поддерживает дисплей. Теперь пишем в нажатии на кнопку:
procedure TForm1.Button1Click(Sender: TObject);
var
DevMode: TDeviceMode;
liRetValue: Longint;
begin
if EnumDisplaySettings(nil,Listbox1.ItemIndex,Devmode) then
liRetValue := ChangeDisplaySettings(DevMode, CDS_UPDATEREGISTRY);
SendMessage(HWND_BROADCAST, WM_DISPLAYCHANGE, SPI_SETNONCLIENTMETRICS, 0);
end;
function ChangeDisplaySettings(var lpDevMode: TDeviceMode; dwFlags: DWORD): Longint; stdcall;
Параметры:
- lpDevMode Структура с описанием видеорежима, на который мы хотим переключиться.
- dwFlags Определяет как будет изменен видеорежим.
- 0 — Немедленное изменение видеорежима. Установка данного флага возвращает в видеорежим по умолчанию, установленному в реестре, если он был изменен с применением флага CDS_FULLSCREEN, при этом первый параметр функции должен быть nil и флаги равны 0.
- CDS_UPDATEREGISTRY — Видеорежим будет изменен немедленно и информация записана в реестр в пользовательский профиль.
- CDS_TEST — Запрос теста видеорежима средствами Windows
- CDS_FULLSCREEN — Установка видеорежима временна.
- CDS_GLOBAL — Видеорежим будет изменен для всех пользователей данной машины. Иначе видеорежим меняется только для текущего пользователя. Используется вместе с флагом CDS_UPDATEREGISTRY.
- CDS_SET_PRIMARY — Видеорежим становится первичным.
- CDS_RESET — Параметры видеорежима будут изменены, даже если совпадают с текущими.
- CDS_NORESET — Изменения будут записаны в реестр, но не вступят в силу. Используется с флагом CDS_UPDATEREGISTRY
- Возвращаемое значение:
- DISP_CHANGE_SUCCESSFUL Изменения прошли успешно.
- DISP_CHANGE_RESTART Необходима перезагрузка для вступления изменений в силу
- DISP_CHANGE_BADFLAGS Передан неверный набор флагов
- DISP_CHANGE_BADPARAM Неверные параметры.
- DISP_CHANGE_FAILED Драйвер видеоустройства не смог установить режим
- DISP_CHANGE_BADMODE Видеорежим не поддерживается
- DISP_CHANGE_NOTUPDATED Windows NT/2000: Ошибка записи в реестр
После этого Вам достаточно выбрать в ListBox нужную комбинацию и изменить разрешение нажатием на Button.
Внимание:
- Не рекомендуется устанавливать значение видео-режима, который не присутствует в списке доступных. Это может привести к мерцанию экрана либо вообще к исчезновению изображения.
- Многие адаптеры требуют перезагрузку компьютера при смене разрешения.
- SendMessage используется для оповещения всех окна о смене видеорежима.
При изменениях видеорежима генерируется сообщение WM_DISPLAYCHANGE. Необходимо создать обработчик данного сообщения в вашем приложении.
private
procedure WMDisplayChange(var message:TMessage); message WM_DISPLAYCHANGE;
//…
procedure TForm1.WMDisplayChange(var message: TMessage);
begin
ShowMessage(‘Какие-то параметры дисплея изменили!’);
inherited;
end;
Programming articles
Создание сайтов на шаблонах
Множество вариантов работы с графикой на канве
Шифруем файл с помощью другого файла
Перехват API функций — Основы
Как сделать действительно хороший сайт
Создание почтового клиента в Delphi 7
Применение паскаля для
решения геометрических задач
Управление windows с помощью Delphi
Создание wap сайта
Операционная система unix, термины и понятия
SQL враг или друг
Возникновение и первая редакция ОС UNIX
Оптимизация проекта в Delphi
Ресурсы, зачем нужны ресурсы
Термины программистов 20 века
Советы по созданию собственного сайта с нуля
Шифруем файл с помощью пароля
Фракталы — геометрия природы
Crypt — Delphi программа для шифрования
Рассылка, зачем она нужна и как ее организовать?
Учебник по C++ для начинающих программистов
Уроки для изучения ассемблера
Загадочный тип PCHAR
Средства по созданию сайтов
Операторы преобразования
классов is и as
Borland Developer studio 2006. Всё в одном
Создание базы данных в Delphi, без сторонних БД
Software engineering articles
1st
Сен
ВСТРОЕННАЯ В DELPHI БАЗА ДАННЫХ (ЧАСТЬ 2)
Создание базы данных в Delphi, без сторонних БД
Здравствуйте Delphi’сты и им сочувствующие.
В предыдущей статье о создании базы данных в delphi, я рассказывал про компонент TClientDataSet, как подключаться к локальной базе данных и создавать новую локальную таблицу. Сегодня я вам расскажу, как фильтровать записи в таблице и индексировать их. Фильтровка записей таблицы это эквивалент SQL запросам. Фильтровка нужна, для того чтобы показать пользователю меньше записей согласно определённому условию (например: показать только тех учеников группы у кого день рождения в июне или в декабре и т.д.). Также фильтрацию можно использовать как поиск некоторой записи в таблице. На практике в большинстве случаев SQL запросы используются именно в таких случаях, какой описан в примере.
Фильтр задается, как строка и её определяет свойство Filter, а активность фильтра определяет свойство Filtered, соответственно если оно True то записи фильтруются. Фильтр задаётся согласно всем правилам программирования Delphi, к которым вы привыкли. Фильтр имеет очень много функций:
1. Арифметические и логические функции и операторы сравнения
Примеры:
a. Population < 100;
b. Vozrast > 24 and Rost < 165;
c. Stoimost > 300 or Razmer < 400;
d. Town <> Moskva
e. Ves + Rost > 200;
f. Vozrast/Ves > 9;
2. Можно выполнят операции над строками
Примеры
a. Last_Name = ‘Иван’;
b. First_Name+Last_Name = ‘ИгорьПетров’;
c. Substring(Last_Name,1,2)= ‘Ca’;
3. Также функции даты и времени
Примеры
a. Year(Birth_Day) = 1986;
b. Day(Birth_Day) = 12;
4. Используются также операторы Like и In.
Все возможности фильтрации полностью документированы в файле справки Delphi в разделе Developing Database Applications > Using client datasets > Limiting what records appear.
Индексацию определяет свойство IndexFieldNames. Для того чтобы упорядочить по возрастанию таблицу по полю Vozrast нужно присвоить свойству IndexFieldNames значение ‘Vozrast’. Очень часто индексация нужна тогда, когда пользователь щёлкает на заголовках столбцов компонента DBGrid.
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
ClientDataSet1.IndexFieldNames:=Column.FieldName;
end;
Также можно создать индексы с помощью свойства IndexDefs. Индексы можно создать как во время выполнения, так и в стадии создания базы данных. Во время выполнения delphi приложения, для того чтобы создать индекс нужно вызвать метод Add свойства IndexDefs. Первый параметр это имя индекса, второй — имя поля (или полей), третий — опции. Теперь для того чтобы упорядочить таблицу по полю нужно присвоить свойству IndexName имя нужного индекса. Данный метод лучше, чем предыдущий, так как можно быстро переключаться между созданными заранее индексами. Для того чтобы изменить индексы нужно воспользоваться свойством Items свойства IndexDefs, указав порядковый номер индекса. Получить порядковый номер индекса можно через метод свойства IndexDefs IndexOf , указав имя индекса. Например:
var
i:integer;
begin
…..
i:=ClientDataSet1.IndexDefs.IndexOf(‘i3’);
ClientDataSet1.IndexDefs.Items.Fields:=’Birth_Day’;
…..
Руслан Аблязов E-mail
часть третьяОбсудить на форуме
Programming articles
Создание сайтов на шаблонах
Множество вариантов работы с графикой на канве
Шифруем файл с помощью другого файла
Перехват API функций — Основы
Как сделать действительно хороший сайт
Создание почтового клиента в Delphi 7
Применение паскаля для
решения геометрических задач
Управление windows с помощью Delphi
Создание wap сайта
Операционная система unix, термины и понятия
SQL враг или друг
Возникновение и первая редакция ОС UNIX
Оптимизация проекта в Delphi
Ресурсы, зачем нужны ресурсы
Термины программистов 20 века
Советы по созданию собственного сайта с нуля
Шифруем файл с помощью пароля
Фракталы — геометрия природы
Crypt — Delphi программа для шифрования
Рассылка, зачем она нужна и как ее организовать?
Учебник по C++ для начинающих программистов
Уроки для изучения ассемблера
Загадочный тип PCHAR
Средства по созданию сайтов
Операторы преобразования
классов is и as
Borland Developer studio 2006. Всё в одном
Создание базы данных в Delphi, без сторонних БД
Software engineering articles
25th
Авг
История появления и развития интернета
Закройте дверь
перед всеми ошибками,
и истина не сможет войти.
Рабиндранат Тагор
Своим зарождением Интернет обязан Министерству обороны США и его секретному исследованию, проводимому в 1969 году с целью тестирования методов, позволяющих компьютерным сетям выжить во время военных действий с помощью динамической перемаршрутизации сообщений. Первой такой сетью была ARPAnet, объединившая три сети в Калифорнии с сетью в штате Юта по набору правил, названных Интернет-протоколом (Internet Protocol или, сокращенно, IP).
В 1972 был открыт доступ для университетов и исследовательских организаций, в результате чего сеть стала объединять 50 университетов и исследовательских организаций, имевших контракты с Министерством обороны США.
В 1973 сеть выросла до международных масштабов, объединив сети, находящиеся в Англии и Норвегии. Десятилетие спустя IP был расширен за счет набора коммуникационных протоколов, поддерживающих как локальные, так и глобальные сети. Так появился TCP/IP. Вскоре после этого, National Science Foundation (NSF) открыла NSFnet с целью связать 5 суперкомпьютерных центров. Одновременно с внедрением протокола TCP/IP новая сеть вскоре заменила ARPAnet в качестве «хребта» (backbone) Интернета.
Ну а как же Интернет стал столь популярен и развит, а толчок к этому, а также к превращению его в среду для ведения бизнеса дало появление World Wide Web (Всемирная Паутина, WWW, 3W, вэ-вэ-вэ, три даблъю) — системы гипертекста (hypertext), которая сделала путешествие по сети Интернет быстрым и интуитивно понятным.
А вот идея связывания документов через гипертекст впервые была предложена и продвигалась Тедом Нельсоном (Ted Nelson) в 1960-е годы, однако уровень существующих в то время компьютерных технологий не позволял воплотить ее в жизнь, хотя кто знает, чем бы всё закончилось, если бы эта идея нашла применение?!
Основы того, что мы сегодня понимаем под WWW, заложил в 1980-е годы Тим Бернерс-Ли (Tim Berners-Lee) в процессе работ по созданию системы гипертекста в Европейской лаборатории физики элементарных частиц (European Laboratary for Particle Physics, Европейский центр ядерных исследований).
В результате этих работ в 1990 научному сообществу был представлен первый текстовый браузер (browser), позволяющий просматривать связанные гиперссылками (hyperlinks) текстовые файлы on-line. Доступ к этому браузеру широкой публике был предоставлен в 1991, однако распространение его вне научных кругов шло медленно.
Новым историческим этапом в развитии Интернет обязан выходу первой Unix-версии графического браузера Mosaic в 1993 году, разработанного в 1992 Марком Андресеном (Marc Andreessen), студентом, стажировавшимся в Национальном центре суперкомпьютерных приложений (National Center for Supercomputing Applications, NCSA), США.
С 1994, после выхода версий браузера Mosaic для операционных систем Windows и Macintosh, а вскоре вслед за этим — браузеров Netscape Navigator и Microsoft Internet Explorer, берет начало взрывообразное распространение популярности WWW, и как следствие Интернета, среди широкой публики сначала в США, а затем и по всему миру.
В 1995 NSF передала ответственность за Интернет в частный сектор, и с этого времени Интернет существует в том виде, каким мы знаем его сегодня.
Автор статьи ZEVS
Обсудить статью на форуме
Programming articles
Создание сайтов на шаблонах
Множество вариантов работы с графикой на канве
Шифруем файл с помощью другого файла
Перехват API функций — Основы
Как сделать действительно хороший сайт
Создание почтового клиента в Delphi 7
Применение паскаля для
решения геометрических задач
Управление windows с помощью Delphi
Создание wap сайта
Операционная система unix, термины и понятия
SQL враг или друг
Возникновение и первая редакция ОС UNIX
Оптимизация проекта в Delphi
Ресурсы, зачем нужны ресурсы
Термины программистов 20 века
Советы по созданию собственного сайта с нуля
Шифруем файл с помощью пароля
Фракталы — геометрия природы
Crypt — Delphi программа для шифрования
Рассылка, зачем она нужна и как ее организовать?
Учебник по C++ для начинающих программистов
Уроки для изучения ассемблера
Загадочный тип PCHAR
Средства по созданию сайтов
Операторы преобразования
классов is и as
Borland Developer studio 2006. Всё в одном
Создание базы данных в Delphi, без сторонних БД
Software engineering articles
Облако меток
css реестр ассемблер timer SaveToFile ShellExecute программы массив советы word MySQL SQL ListView pos random компоненты дата LoadFromFile form база данных сеть html php RichEdit indy строки Win Api tstringlist Image мысли макросы Edit ListBox office C/C++ memo графика StringGrid canvas поиск файл Pascal форма Файлы интернет Microsoft Office Excel excel winapi журнал ПРОграммист DelphiКупить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)