KRField.pas
Типы данных
- TKRFieldDateTime – список возможных вариантов отображения текущего значения как даты
- fdtNone – текущее значение не является датой
- fdtTime – отображать текущее значение как время
- fdtDate – отображать текущее значение как дату
- fdtDateTime – отображать текущее значение как дату и время
TKRFieldValueEvent = procedure (Sender: TObject; var AValue: Variant) of object;
- TKRFieldValueEvent – событие передающее текущее значение до его отображения, для возможности корректировки
- Sender – указатель на текущий объект класса TKRField
- AValue – текущее значение
Переменные
- KRFldMsgMaximumLimit – сообщение о превышении максимального предела. Маска максимального предела [#Value]
- KRFldMsgMinimumLimit – сообщение о преодолении минимального предела.
- KRFldMsgAskBeforeInput – вопрос подтверждения ввода значения. Маска текущего значения [#Value]
- KRFldMsgIncorrectValue – сообщение о некорректном вводе значения
Классы
Класс TKRField
Родительский класс TCustomEdit
Интерфейсы: IKRTimer
TKRField – компонент удаленного управления и мониторинга для ввода/вывода значения переменной класса TKRVariable
Свойства класса TKRField
property Variable: TKRVariable;
- Variable – переменная, значение которой будет отображаться. Если свойство VarSet пусто, то данная переменная будет использоваться и для ввода значения
property VarSet: TKRVariable;
- VarSet – переменная для ввода значения
property ValType: TVarType;
- ValType – тип переменной. Устанавливается автоматически при добавлении переменной в поле Variable, но может быть изменено. Изменять данное значение есть смысл в том случае если предполагается корректировка значения до его вывода/ввода с помощью событий OnShowValue и OnSetValue
property Format: String;
- Format – формат вывода значения. В зависимости от типа значения переменной используются разные функции форматирования. Для целочисленного значения Format, для значения с плавающей точкой FormatFloat. Если свойство DateTime не равно fdtNone, то для форматирования используется функция FormatDateTime
property Timer: TKRTimer;
- Timer – таймер класса TKRTimer для обновления значения в поле
property EnterAftExit: boolean;
- EnterAftExit – если значение равно False, то для ввода значения нужно нажать клавишу Enter. Если значение равно True, то ввод происходит при потере фокуса
property ErrorColor: TColor;
- ErrorColor – цвет фона при ошибке в переменной Variable
- ErrorFontColor – цвет шрифта при ошибке в переменной Variable
property ChangeFontColor: TColor;
- ChangeFontColor – цвет шрифта при редактировании
property InputMax: Variant;
- InputMax – максимальный предел для ввода значения. Если введенное пользователем значение превыситзаданный предел, то отобразится диалоговое окно с сообщением из переменной KRFldMsgMaximumLimit
property InputMin: Variant;
- InputMin – минимальный предел для ввода значения. Если введенное пользователем значение будет меньше заданного предела, то отобразится диалоговое окно с сообщением из переменной KRFldMsgMinimumLimit
property AskBeforeInput: boolean;
- AskBeforeInput – если включить данное свойство, то перед вводом значения отобразится диалоговое окно с подтверждающим вопросом из переменной KRFldMsgAskBeforeInput
property ErrorToHint: boolean;
- ErrorToHint – если включить данное свойство, то в всплывающей подсказке будет выводится текущая ошибка переменной Variable
property DateTime: TKRFieldDateTime;
- DateTime – свойство типа TKRFieldDateTime, которое говорит о том, что значение нужно рассматривать как дату
События класса TKRField
property OnSetValue: TKRFieldValueEvent;
- OnSetValue – событие вызывается при вводе значения до его отправки в переменную для возможной корректировки
property OnShowValue: TKRFieldValueEvent;
- OnShowValue – событие вызывается при обновлении значения до его вывода для возможной корректировки
Скачать:
Пример работы с полями ввода/вывода KRField в Delphi |
Примеры использования:
- Мини SCADA система на Delphi
- Пример передачи данных по протоколу Modbus
Delphi-программирование: блог Delphi-программиста
Andrey Опубликовано: 12 Сентябрь 2016
Приветствую всех читателей блога. Совсем недавно делал мини-программу по получению информации из фтп-сервера, то есть. Другими словами простенький фтп-клиент. Я не буду здесь рассказывать, как сделать полноценный фтп-клиент, я расскажу, как использовать компонент TListView для отображения информации фтп-сервера. Причем информация будет отображаться с иконками, ассоциируемые в Вашей системе Windows.
Скажу сразу, тот пример, который будем рассматривать мы в данной статье, основан на компоненте TidFTP из вкладки Indy Clients, но смысл остается тем же, если Вы будете использовать компонент, например библиотеки Synapse.
На форме у меня компонент TListView, в свойстве ViewStyle у меня выставлен vsReport, либо же можно vsIcon. У меня рабочий проект выглядит следующим образом (свойство ViewStyle=vsReport):
ФТП-клиент Delphi
Читать полностью »
Метки: ftp, idFTP, Indy, Indy Clients, ListView, TListView, иконки, ФТП
Другое, Мои работы Комментарии (0) »
Andrey Опубликовано: 26 Январь 2016
Приветствую всех. Продолжу я Вам рассказывать про некоторые задачи, которые было мне интересно рассматривать и соответственно как-то реализовывать.
Хочу рассказать о том, как мне пришлось организовать прием и отправку писем на своем сервере, на предприятии. Я уже рассказывал, что у нас на предприятии установлен свой собственный Microsoft Exchange. Весь прием и отправку я организовал через него, но, я поставил промежуточный собственный почтовый сервер, который выполнял всю грязную работу: обработка ошибок при отправке почты, при приеме почты, автоматическая отправка писем в заданное время, проверка почты в заданной время и так далее.
Данная статья будет разбита на серию, наверное, из трех. В сегодняшней статье я хотел бы рассказать, как установить и настроить промежуточный свой собственный почтовый сервер, который очень удобный, по моему мнению. Вторая статья будет содержать информацию о том, как читать и получать письма, а третья статья будет посвящена отправке писем.
Если честно, почему я пошел на такую схему? Не знаю, мне показалось это более удобным, чем постоянно администраторов просить посмотреть, почему сервер мои подключения отклоняет частые, либо почему сервер почтовый недоступен. Использую промежуточный сервер, я письмо отправил, если сервер Microsoft Exchange не доступен, ничего страшного, письмо будет лежать в папке для отправки, как только сервер оклемается, сразу же произойдет его доставка. То же самое касается и приема писем. Я ни о чем не беспокоюсь. Мне достаточно лишь организовать прием и отправку писем в автоматическом режиме.
Читать полностью »
Метки: Courier Mail Server, idMessage, Mail Server, SMTP
Сеть и интернет Комментарии (0) »
Andrey Опубликовано: 12 Январь 2016
Доброго времени суток дорогие читатели блога. Хочу поздравить Вас с прошедшими праздниками, пожелать в Новом Году всего самого наилучшего, выполнению всех желаний, чтобы у Вас было все, как Вы задумали. Теперь давайте вернемся непосредственно к самой статье.
Давайте продолжим нашу тему по работе с checkboxes в TDBGrid с использованием вычисляемого поля (предлагаю вспомнить первую часть статьи). В данной статье мы рассмотрим, как можно вообще работать с отмеченными записями подобным образом.
В данной статье мы рассмотрим следующие нюансы:
- Поиск нужного значения (отмечаем запись checkboxes)
- Удаление отмеченных записей
- Выборка отмеченных записей
- Отметка всех записей отображенных в TDBGrid
- Снятие отметки всех записей отображенных в TDBGrid
На самом деле, подобным образом с отмеченными записями можно производить любые операции. Это связано с тем, что идентификатор этих записей у нас хранятся в универсальном списке TList. А если у нас есть идентификатор записи, то можно его и удалить с таблицы и найти и так далее.
Давайте начнем с того, что нам необходимо поместить идентификаторы отмеченных записей в сам список TList (у меня переменная списка – ListSelect). Тут необходимо определиться, по какому событию мы будем добавлять в наш список идентификаторы записей. Обычно это делается, когда пользователь нажимает на сам checkboxes, но у меня еще сделано таким образом, что выделять (отмечать) запись можно и клавишей пробел (Space) с переходом на последующую строку. Поэтому, отмечать записи можно по любому событию, как будет удобно.
Читать полностью »
Метки: checkboxes, DBGrid, dbgrideh, ehlib
Базы данных Комментарии (5) »
Andrey Опубликовано: 28 Декабрь 2015
Приветствую читателей блога. Сегодняшняя статья будет посвящена работе с DBF-файлами, без использования ADO, BDE и компонентов доступа к данным. Я уже рассказывал про работу с DBF-файлами, это описано в этой статье.
Многим не нравится работа с ADO, BDE, так как для работы программы, которая была написана с использованием данной технологии, необходимо наличие установленных драйверов поставщика данных, BDE, dll-библиотеки и так далее.
В данной статье я расскажу как можно быстро и очень просто создавать DBF-таблицы, заполнять их данными и производить другие манипуляции с данными. Все это будет осуществляться при помощи бесплатного компонента TDBF. Я про него тоже мельком рассказывал уже, но всего лишь пару слов. Но очень часто им пользуюсь, когда необходимо осуществить доступ к DBF-таблицам.
Поначалу у меня были проблемы с использованием данного компонента, в частности с кодировками таблицами, но в итоге все разрешилось. Теперь он в моей коллекции, тем более является совершенно бесплатным. Скачать сам компонент можно по этой ссылке, там же есть и пример работы, а также инструкция с описанием методов, свойств компонента. Я Вам расскажу быстро самое основное, то есть, как открыть таблицу, как добавить данные или как создать новую DBF-таблицу.
Читать полностью »
Метки: Ado, BDE, DBF, TDBF
Базы данных Комментарии (3) »
Andrey Опубликовано: 15 Декабрь 2015
Доброго времени суток всем. В этой статье я хотел бы поговорить о том, как можно сделать checkboxes в ячейках для любой базы данных в нужном для Вас гриде (Grid). Я уже писал подобную статью и рассказывал, как в ячейках грида отображать checkboxes, но здесь речь пойдет совсем о другом способе, на мой взгляд, более правильным и лучшим.
Способ, что я рассказывал в прошлой статье тоже рабочий, но может получиться такая ситуация, когда одновременно могут работать с одним набором данных несколько пользователей, отмечая галочками нужные записи. При обновлении данных каждый пользователь увидит не только отмеченные свои записи, но и еще другого пользователя. В данной статье речь пойдет о таком отображении checkboxes и использовании их, когда пользователи не будут видеть отмеченные записи других пользователей, соответственно и не будут друг другу мешать при обновлении данных.
Сегодня я расскажу только Вам, как отобразить checkboxes в ячейках, а в другой статье уже речь пойдет о том, как перемещаться по данному набору данных, отмечать все ячейки, снимать выделение всех ячеек (checkboxes), работать только с отмеченными данным и так далее. Таким образом, данная статья будет состоять из двух частей.
Читать полностью »
Метки: checkboxes, DBGrid, dbgrideh, ehlib
Базы данных Комментарии (6) »
Страница 1 из 4112345. ..102030…»Последняя »
Delphi XE10 TQUERY SAVETOFILE — NAKEDNASAD
- #DELPHI XE10 TQUERY SAVETOFILE FULL
- #DELPHI XE10 TQUERY SAVETOFIL 1958
Текущий год => 2008 (на момент написания) Обратите внимание, что 49 обрабатывается как 2049 следующим образом:
#Delphi xe10 tquery savetofile code
ShowMessage(‘ c = ‘+ FormatDateTime(‘c’, myDate)) Пример кода: Отображение эффекта настроек локального формата даты ShowMessage(‘ tt = ‘+ FormatDateTime(‘tt’, myDate)) ShowMessage(‘ t = ‘+ FormatDateTime(‘t’, myDate)) ShowMessage(‘hh:nn: ss.zzz = ‘+ FormatDateTime(‘hh:nn:ss.zzz’, myDate)) Только время — числовые значения с ведущими нулями ShowMessage(‘ h:n:s.z = ‘+ FormatDateTime(‘h:n:s.z ‘, myDate)) Только время — числовые значения без начальных нулей Используйте настройки ShortDateFormat + LongTimeFormat ĭddd d of mmmm yyyy = Mon День 5 июня 2000 г. Пример кода: Отображение всех типов данных форматирования поля времени Используйте короткие имена для дня, месяца и добавьте текст произвольной формы (‘of’) įormatDateTime(‘ddd d of mmm yyyy’, myDate)) dddd d of mmmm yyyy’, myDate)) Только дата — числовые значения с начальными нулями Только дата — числовые значения без начальных нулей (кроме года)
#Delphi xe10 tquery savetofile full
Настройте нашу переменную TDateTime с полной датой и временем:
#Delphi xe10 tquery savetofile windows
Устанавливает пороговое значение столетия для двухзначного преобразования строки года – загрузите этот веб-сайт как программу Windows. Пример кода: Отображение всех типов данных форматирования поля даты. Символ, используемый для разделения отображаемых полей времени. Короткая версия формата времени в строку — преобразует строку даты и времени в значение TDateTime — определяет значение AM в процедуре DateTimeToString — определяет значение PM в процедуре DateTimeToString Длинная версия время в строковом формате – компактная версия даты в строковом формате – массив названий дней месяца, начиная с 1 = январь Длинная версия даты в строковом формате – массив названий дней недели, начиная с 1 = воскресенье – массив дней месяца имена, начиная с 1 = январь Символ, используемый для разделения отображаемых полей даты, преобразует значения даты и времени TDateTime в строку. это локальная копия глобальных переменных форматирования, которые делают подпрограмму потокобезопасной. Вы предоставляете запись FormatSettings перед вызовом. Версия 2 этой функции предназначена для использования в потоках. В дополнение к этому форматированию на различные из вышеперечисленных параметров влияют следующие переменные с их значениями по умолчанию: Важно: если вы хотите видеть такие символы, как dd, в форматированном выводе, поместив их в «метки», они не будут интерпретироваться как элементы даты или времени. В строке форматирования можно использовать следующие (не азиатские) строки символов форматирования: Это форматирование лучше всего поясняется в примере кода.Строка форматирования может содержать смесь обычных символов (которые передаются без изменений в строка результата) и символы форматирования данных. Форматирование определяется строкой Formatting. Функция FormatDateTime обеспечивает расширенное форматирование значения TDateTime DateTime в строку. Расширенное форматирование переменной TDateTime в строку — форматирование: строка DateTime: TDateTime — форматирование: строка DateTime : TDateTime const FormatSettings : TFormatSettings Основы Delphi : Команда FormatDateTime Основы Delphi
ссылка: logging_variables [mAirList Wiki]
Содержание
Переменные регистрации
Общие переменные
Информация о воспроизводимом элементе
Дополнительные переменные для протоколирования многокомпонентных/форм-данных HTTP POST
Дополнительные переменные для импорта плейлиста/рекламы (шаблон имени файла)
ФорматДатеВремя
Последующие элементы
Общие переменные
%Y Текущий год как ГГГГ %г Текущий год как ГГ %М Текущий месяц как ММ %D Текущий день как DD %h Текущий час как ЧЧ %m Текущая минута как ММ %s Текущая секунда как SS %w ISO 8601 неделя года %T{Format} Текущая дата/время с использованием форматирования FormatDateTime
(см. ниже)%S{Format} Время начала в FormatDateTime
форматирование (используется для остановки регистрации)%t Символ табуляции ( ASCII 9) %r Символ CR ( ASCII 13) %n Символ новой строки ( ASCII 10) %% Создает знак %
на выходе%g Уникальный идентификатор связанной операции воспроизведения %R{Key} Данные выполнения %# Общее количество текущих прослушивателей на всех подключениях кодировщика %${Digits} Индекс файла (используется для экспорта файла с пользовательским шаблоном имени файла) %x Имя компьютера %X Имя экземпляра %а Художник %b Название %l Общая продолжительность в секундах с дробями %l{Формат} Общая продолжительность, в формате FormatDateTime
%L Общая продолжительность в формате ЧЧ:ММ:СС %d Фактическая продолжительность воспроизведения в секундах DirectSound (для остановки записи) %e Фактическая продолжительность воспроизведения, в секундах с дробями (для остановки записи) %e{Format} Фактическая продолжительность воспроизведения в формате FormatDateTime
(для остановки записи)%p Эффективная продолжительность воспроизведения, в секундах с дробями %p{Format} Эффективная продолжительность воспроизведения в формате FormatDateTime
(начиная с версии 6. 3)%P Эффективная продолжительность воспроизведения, ЧЧ:ММ:СС %F Прогнозируемое время окончания (время начала + продолжительность), в формате FormatDateTime
%c{Тип} Кий-маркер, в секциях с дробями %E Тип конца %I Тип элемента (внутренний идентификатор) %J Тип элемента (удобочитаемый) %u{Ключ} Значение атрибута %C Комментарий %U ID внутренней базы данных %V Внешний идентификатор %k Имя файла значка %K Данные значка в виде строки BASE64 %1 Имя файла с путем %2 Имя файла без пути %3 Имя файла без пути и расширения %4 Имя файла без пути, только первый символ %i{Ключ} Необработанные данные тега файла Дополнительные переменные для протоколирования многокомпонентных/форм-данных HTTP POST
Следующие переменные поддерживаются только в журнале HTTP POST multipart/form-data.
Они должны быть введены в поле «значение» как есть, без других строк/переменных вокруг них.
%ALBUMART Обложка альбома (при наличии), в виде данных в двоичной форме (начиная с версии 6.3.3) Дополнительные переменные для импорта плейлиста/рекламы (шаблон имени файла)
%B Номер блока %2B Номер блока, две цифры, впереди 0 %3B Номер блока, три цифры, впереди 0 %N Номер региона %2N Номер региона, две цифры, впереди 0 %3N Номер региона, три цифры, впереди 0 ФорматДатеВремя
Для некоторых переменных требуется строка формата времени в нотации Delphi FormatDateTime, см. http://www.delphibasics.co.uk/RTL.asp?Name=FormatDateTime.
Последующие позиции
Используя знаки
+
в переменных, вы можете получить доступ к данным последующих (очередных) элементов в плейлисте.