Разработка формы. Delphi. Учимся на примерах
Разработка формы. Delphi. Учимся на примерахВикиЧтение
Delphi. Учимся на примерах
Парижский Сергей Михайлович
Содержание
Разработка формы
Создадим новый проект Delphi. Интерфейс программы сделаем похожим на интерфейс стандартного блокнота. Разместите на форме компонент Memo (многострочное текстовое поле) категории Standard. Для того чтобы при любых размерах окна этот компонент заполнял всю форму, измените значение свойства Memo1.Align на alClient. Для текстового поля должна отображаться только вертикальная полоса прокрутки (то есть, будет выполняться автоматический перенос слов на новую строку). Для этого следует изменить значение свойства ScrollBars на ssVertical.
Разместите на форме компонент MainMenu категории Standard и создайте меню, представленное на рис.
Рис. 7.1. Меню программы Блокнот-шифровальщик
? Разработка меню рассматривается в предыдущей главе.
Для пункта меню Формат?Перенос по словам следует установить свойство Checked равным True, поскольку этот пункт меню будет выполнять роль переключателя.
Для вызова диалогового окна открытия файла будем использовать компонент OpenDialog категории Dialogs, а для сохранения файла — компонент SaveDialog той же категории. Для обоих компонентов измените значение свойства Filter на Блокнот|*.txt|Все файлы|*.*. Также разместите на форме еще один компонент категории Dialogs: FontDialog. Он будет служить для изменения шрифта.
Больше ничего добавлять на форму не нужно, и результат оформления должен соответствовать рис. 7.2.
Рис. 7.2. Форма блокнота-шифровальщика
Разработка формы
Разработка формы Создайте новый проект Delphi. Первым делом разработаем интерфейс программы. Изменим некоторые свойства главной формы. Прежде всего, присвойте соответствующее значение свойству Caption (заголовок формы) — например, Работа с файлами. Поскольку окно нашейРазработка формы
Разработка формы Создадим новый проект Delphi и разработаем интерфейс программы. Измените значение свойства Caption главной формы на Статистика. Разместите на форме компонент Label категории Standard, и присвойте его свойствам значения согласно табл. 3.1.Таблица 3.1. Свойства
Разработка формы
Разработка формы Создайте новый проект Delphi и измените заголовок формы (свойство Caption) на Screenshot. Чтобы пользователь не мог изменять размеры окна при работе с программой, следует присвоить свойству BorderStyle значение bsDialog. Для удобства создания копий экрана окно программы
Разработка формы
Разработка формы Создадим новый проект Delphi. Как известно, экранные заставки хранятся в файлах с расширением .scr, а по умолчанию проект Delphi компилируется как выполняемый файл .exe. Для того чтобы наша программа имела расширение .scr, выполним команду меню Project?Options, на вкладке
Разработка формы
Разработка формы Создайте новый проект Delphi. Разместите на форме компонент Image категории Additional, который будет служить для отображения рисунка. Для того чтобы при любых размерах окна рисунок всегда заполнял всю форму, следует изменить значение свойства Align на alClient.Для
Разработка формы
Разработка формы Создадим новый проект Delphi. Интерфейс программы сделаем похожим на интерфейс стандартного блокнота. Разместите на форме компонент Memo (многострочное текстовое поле) категории Standard. Для того чтобы при любых размерах окна этот компонент заполнял всю форму,
Разработка формы
Разработка формы Создадим новый проект Delphi. Мелькающее окно у нас будет необычным: оно будет без заголовка и не прямоугольным, а эллиптической формы. Измените свойства формы согласно табл. 8.1.Таблица 8.1. Свойства формы игры «Успей щелкнуть» Свойство Значение
Разработка формы
Разработка формы
Разработка формы Создайте новый проект Delphi и измените свойства формы согласно табл. 10.1.Таблица 10.1. Свойства формы программы входа в систему Свойство Значение Пояснение Caption Очистить заголовок Align alCustom Запрет на перемещение окна ВorderStyle bsNone Убираем границу и
Разработка формы
Разработка формы Создайте новый проект Delphi и присвойте свойству Caption формы значение Memory Info.
Для вывода различной информации о памяти мы будем использовать компонент Label категории Standard. Разместите на форме один над другим семь таких компонентов, присвоив свойству LeftРазработка формы
Разработка формы Создайте новый проект Delphi. Присвойте свойству Caption формы значение Настройка ОС Windows. Разместите на форме компонент GroupBox категории Standard и присвойте его свойству Caption значение Опции. На компоненте GroupBox разместите один над другим три компонента CheckBox
Разработка формы
Разработка формы Создайте новый проект Delphi. Для того чтобы выполнять периодические действия, нам понадобится компонент Timer категории System. Программа будет выполнять каждую минуту случайно выбранную шутку. Для того чтобы таймер срабатывал каждую минуту, необходимо
Разработка формы
Разработка формы
Разработка формы Создайте новый проект Delphi. Присвойте свойству Caption формы заголовок Remote Mouse. Разместите на форме компонент Label категории Standard и присвойте его свойству Caption значение Port. Справа от этой метки разместите компонент Edit категории Standard. Назовите его port (свойство
Разработка формы
Разработка формы Для того чтобы отправить SMS, необходимо знать номер телефона, на который мы будем отправлять сообщение, оператора этого номера и, естественно, — само отправляемое сообщение.Создайте новый проект Delphi и присвойте форме заголовок SMS-sender (свойство Caption).
Разработка формы
Разработка формы Создайте новый проект Delphi. Приготовьтесь к тому, что форма получится довольно большой (ширина — около 800 пикселей) и будет содержать большое количество разных кнопок и полей ввода. Присвойте ей заголовок FTP-client (свойство Caption) и разместите компоненты
Тонкости работы с переносами строк в Excel
80551 13.04.2019 Скачать пример
Переносы строк внутри одной ячейки, добавляемые с помощью сочетания клавиш Alt+Enter — дело весьма частое и привычное. Иногда их делают сами пользователи, чтобы добавить красоты длинному тексту. Иногда такие переносы добавляются автоматически при выгрузке данных из каких-либо рабочих программ (привет 1С, SAP и т.д.) Проблема в том, что на такие таблицы приходится потом не просто любоваться, а с ними работать — и вот тогда эти невидимые символы переноса могут стать проблемой. А могут и не стать — если уметь правильно с ними обращаться.
Давайте-ка мы разберёмся в этом вопросе поподробнее.
Удаление переносов строк заменой
Если нам нужно избавиться от переносов, то первое, что обычно приходит в голову — это классическая техника «найти и заменить». Выделяем текст и затем вызываем окно замены сочетанием клавиш Ctrl+H или через Главная — Найти и выделить — Заменить (Home — Find&Select — Replace). Одна неувязочка — не очень понятно, как ввести в верхнее поле Найти (Find what) наш невидимый символ переноса строки. Alt+Enter тут, к сожалению, уже не работает, скопировать этот символ непосредственно из ячейки и вставить его сюда тоже не получается.
Поможет сочетание Ctrl+J — именно оно является альтернативой Alt+Enter в диалоговых окнах или полях ввода Excel:
Обратите внимание, что после того, как вы поставите мигающий курсор в верхнее поле и нажмёте Ctrl+J — в самом поле ничего не появится. Не пугайтесь — это нормально, символ-то невидимый 🙂
В нижнее поле Заменить (Replace with)
Нюанс: после выполнения замены введённый с помощью Ctrl+J невидимый символ остаётся в поле Найти и может помешать в дальнейшем — не забудьте его удалить, установив курсор в это поле и несколько раз (для надёжности) нажав на клавиши Delete и Backspace.
Удаление переносов строк формулой
Если нужно решить задачу именно формулами, то можно использовать встроенную функцию ПЕЧСИМВ (CLEAN), которая умеет очищать текст от всех непечатаемых символов, включая и наши злополучные переносы строк:
Такой вариант, однако, не всегда бывает удобен, т. к. строки после этой операции могут склеиваться между собой. Чтобы этого не происходило, нужно не просто удалять символ переноса, а заменять его на пробел (см. следующий пункт).
Замена переносов строк формулой
А если хочется не просто удалить, а именно заменить Alt+Enter на, например, пробел, то потребуется уже другая, чуть более сложная конструкция:
Чтобы задать невидимый символ переноса мы используем функцию СИМВОЛ (CHAR), которая выводит символ по его коду (10). А потом функция ПОДСТАВИТЬ (SUBSTITUTE) ищет в исходных данных наши переносы и заменяет их на любой другой текст, например, на пробел.
Деление на столбцы по переносу строки
Знакомый многим и очень удобный инструмент Текст по столбцам с вкладки Данные (Data — Text to Columns) тоже может замечательно работать с переносами строк и разделить текст из одной ячейки на несколько, разбив его по Alt+Enter. Для этого на втором шаге мастера нужно выбрать вариант пользовательского символа-разделителя Другой (Custom) и использовать уже знакомое нам сочетание клавиш Ctrl+J как альтернативу Alt+Enter:
Если в ваших данных может встречаться несколько переносов строк подряд, то можно их «схлопнуть», включив флажок Считать последовательные разделители одним (Treat consecutive delimiters as one).
После нажатия на Далее (Next) и прохождения всех трёх шагов мастера мы получим желаемый результат:
Обратите внимание, что до выполнения этой операции необходимо вставить справа от разделяемого столбца достаточное количество пустых колонок, чтобы образовавшийся текст не затёр те значения (цены), которые были справа.
Деление на строки по Alt+Enter через Power Query
Ещё одной любопытной задачей является деление многострочного текста из каждой ячейки не на столбцы, а на строки:
Вручную такое делать долго, формулами — сложно, макросом — не каждый напишет. А на практике подобная задача встречается чаще, чем хотелось бы. Самым простым и лёгким решением будет использовать для этой задачи возможности надстройки Power Query, которая встроена в Excel начиная с 2016 года, а для более ранних версий 2010-2013 её можно совершенно бесплатно скачать с сайта Microsoft.
Чтобы загрузить исходные данные в Power Query их нужно сначала преобразовать в «умную таблицу» сочетанием клавиш Ctrl+T или кнопкой Форматировать как таблицу на вкладке Главная (Home — Format as Table). Если по каким-то причинам вы не хотите или не можете использовать «умные таблицы», то можно работать и с «глупыми». В этом случае просто выделите исходный диапазон и дайте ему имя на вкладке Формулы — Диспетчер имен — Создать (Formulas — Name Manager — New).
После этого на вкладке Данные (если у вас Excel 2016 или новее) или на вкладке Power Query (если у вас Excel 2010-2013) можно жать на кнопку Из таблицы / диапазона (From Table/Range), чтобы загрузить нашу таблицу в редактор Power Query:
После загрузки выделим столбец с многострочным текстом в ячейках и выберем на Главной вкладке команду Разделить столбец — По разделителю (Home — Split Column — By delimiter):
Скорее всего, Power Query автоматически распознает принцип деления и сам подставит условное обозначение #(lf) невидимого символа переноса строки (lf = line feed = перенос строки) в поле ввода разделителя. Если нужно, то другие символы можно выбрать из выпадающего списка в нижней части окна, если включить предварительно галочку Разделить с помощью специальных символов (Split by special characters).
Чтобы всё разделилось на строки, а не не столбцы — не забудьте переключить селектор Строки (By rows) в группе расширенных параметров.
Останется только нажать на ОК и получить желаемое:
Готовую таблицу можно выгрузить обратно на лист с помощью команды Закрыть и загрузить — Закрыть и загрузить в… на вкладке Главная (Home — Close&Load — Close&Load to…).
Важно отметить, что при использовании Power Query необходимо помнить о том, что при изменении исходных данных результаты автоматически не обновляются, т.к. это не формулы. Для обновления нужно обязательно щёлкнуть правой кнопкой мыши по итоговой таблице на листе и выбрать команду Обновить (Refresh) или нажать кнопку Обновить всё на вкладке Данные (Data — Refresh All).
Макрос для деления на строки по Alt+Enter
Для полноты картины давайте упомянем решение предыдущей задачи ещё и с помощью макроса. Откройте редактор Visual Basic с помощью одноимённой кнопки на вкладке Разрабочик (Developer) или сочетания клавиш Alt+F11. В появившемся окне вставьте новый модуль через меню Insert — Module и скопируйте туда нижеприведённый код:
Sub Split_By_Rows() Dim cell As Range, n As Integer Set cell = ActiveCell For i = 1 To Selection.Rows.Count ar = Split(cell, Chr(10)) 'делим текст по переносам в массив n = UBound(ar) 'определяем кол-во фрагментов cell.Offset(1, 0).Resize(n, 1).EntireRow.Insert 'вставляем пустые строки ниже cell.Resize(n + 1, 1) = WorksheetFunction.Transpose(ar) 'вводим в них данные из массива Set cell = cell.Offset(n + 1, 0) 'сдвигаемся на следующую ячейку Next i End Sub
Вернитесь в Excel и выделите ячейки с многострочным текстом, который надо разделить. Затем воспользуйтесь кнопкой Макросы на вкладке Разработчик (Developer — Macros) или сочетанием клавиш Alt+F8, чтобы запустить созданный макрос, который и проделает за вас всю работу:
Вуаля! Программисты — это, на самом деле, просто очень ленивые люди, которые лучше один раз как следует напрягутся, чтобы потом ничего не делать :)
Ссылки по теме
- Зачистка текста от мусора и лишних символов
- Замена текста и зачистка от неразрывных пробелов функцией ПОДСТАВИТЬ
- Как разделить слипшийся текст на части в Excel
DELPHI — Часто задаваемые вопросы и ответы на них
001 Как зделать, чтобы TEdit воспринимал одни цифры и DecimalSeparator002 Как осуществить быстрый поиск в Listbox
003 Как сделать так, чтобы при щелчке по кнопке или по TLabel запускался, например, браузер с сайтом программы или почтовая программа с определенным адресом получателя?
004 Создание компонентов
005 TTimer работает не достаточно точно. Как получить более высокую точность?
006 Как сделать так, чтобы по Alt-F4 форма не закрывалась, а выдавала запрос на сохранение?
007 Как уменьшить размер исполняемого файла программы?
008 Как создать невизуальный компонент без иконоки, которая изображается в палитре компонентов в «design-time» (вроде TField)?
009 Как писать текст в StringGrid в стиле Exel (не обрезая, если он не помещается в ячейку)
010 Как заставить TEdit не ‘пикать’ при нажатии недопустимых клавиш?
011 Когда пользователь щелкает по listview, он переходит в режим редактирования. Как перевисти его в редим редактирования по нажатию клавиши (например F2)?
012 Как получить число и список всех компонентов, расположенных на TNoteBook?
013 Как узнать размеры TComboBox с показанным выпадающим списком до показа списка?
014 Как добится того чтобы TMemo и TEdit имели работали не только в режиме вставки символов, но и в режиме замены?
015 При попытке присвоить значение свойству «selected» ListBox’а вырабатывается exception «Index is out of bounds». В чем тут дело и как присвоить значение свойству selected?
016 Как ограничить длинну текста, вводимого в TEdit, так чтобы ширина текста не превышала ширину TEdit’а?
017 Как перемещать компонент мышкой во время работы программы «runtime»?
018 Как перехватить сообщения прокрутки в TScrollBox?
019 Можно ли использовать иконку как картинку на кнопке TSpeedButton?
020 Как поместить прозрачную фоновую каринку на компонент CoolBar?
021 Можно ли сделать так чтобы TStringGrid автоматически изменял ширину колонок, чтобы вместить самую длинную строчку в колонке?
022 Ползунок компонента TScrollBar все время мигает. Как это отключить?
023 Как поместить курсор в определенную позицию edit’а и подобных ему элементов управления?
024 Как сделать клавишу-акселератор (keyboard shortcut) компонету у которого нет заголовка?
025 Можно ли как-то уменьшить мерцание при перерисовке компонента?
026 Как запретить изменение размера моего компонента в design-time?
027 Можно ли уменьшить потребляемые компонентами TNotebook и TTabbedNotebook ресурсы?
028 Функция keybd_event() принимает значения до 244 — как мне отправить нажатие клавиши с кодом #255 в элемент управления Windows?
029 Можно ли обратиться к колонке или строке grid’а по заголовку?
030 Как использовать клавишу-акселератор в TTabsheets? Я добавляю клавишу-акселератор в заголовок каждого Tabsheet моего PageControl, но при попытке переключать страницы этой клавишей программа пикает и ничего не происходит.
031 При обработке события DrawCell компонента DrawGrid я пишу Font.Color := clRed; и получаю бесконечный цикл мерцаний. Почему?
032 При использовании BitBtn Caption(текст) и картинка(bitmap) из файла не видны одновременно. Почему?
033 Как сделать многострочную надпись на TBitBtn?
034 Можно ли динамически изменять свойство «owner» компонента во время выполнения программы?
035 Почему при изменении цвета букв StatusBar’а ничего не происходит?
036 Как программно «щелкнуть» по компоненту speed button? Я пытался использовать SendMessage но у Speedbuttons нет «handle».
037 Можно ли отключить определенный элемент в RadioGroup?
038 Как опеделить состояние списка ComboBox, выпал/скрыт?
039 Как создать эквивалент TEdit но только с выравниваением вводимого текста по центру или по правой стороне?
040 Как бы мне создать эдакий trackbar в котором вместо широкой белой полоски с ползунком была бы тонкая линия?
041 Как показывать нестандартный встроенный редактор (inplace editor) в ячейке stringgrid (например combobox).
042 В некоторых видео режимах прозрачная часть glyph’а стандартного TBitBtn становится видной. Как этого избежать?
043 Как создать невизуальный компонент без иконоки, которая изображается в палитре компонентов в «design-time» (вроде TField)?
044 В чем отличие между Create(Self) и Create(Application)?
045 Как разместить маленькие картинки в компоненте TPopUpMenu?
046 При перемещении фокуса ввода клавишей Tab чтобы переместить его в RadioGroup нужно нажать клавишу Tab дважды если какой нибудь пункт RadioGroup уже выбран, но только один раз если не выбран. Можно ли сделать поведение RadioGroup логичным?
047 Как использовать технологию Drag&Drock (перетаскивание элементов управления)
048 Возникла проблема: как скрыть/отобразить конкретную закладку в PageControl?
049 Как динамически подключить необходимый фрейм к Panel: TPanel во время выполнения программы?.
050 Зачем нужен TAction ?
051 Если я свой компонент наследую от чужого, и мне не нужны некотоpые его свойства, то есть ли способ от них избавиться? Hапpимеp, я не хочу, чтобы у панели был Caption. Пpобовал объявлять property в private/protected — не помогло.
052 Где достать всяких иконок, картинок для кнопок, etc. для своей программы?
053 Как вставить растровое изображение в компонент ListBox?
054 GUI. Перегрузка контролами
055 RTTI в действии
056 Дублирование компонентов и их потомков во время выполнения приложения
057 Дублирование компонентов и их потомков во время выполнения приложения 2
058 Как перемещать компоненты во время работы программы
059 Показ свойств во время выполнения программы
060 Свойство только для чтения во время выполнения программы
061 Создание компонент в Run-Time
062 Создание компонент во время выполнения программы и обработка их событий
063 Теория и практика использования RTTI
064 Пересборка индексов с помощью TBatchMove
065 Создавать таблицы такой же структуры
066 CHARTFX — минимум максимум
067 Использование ChartFX
068 Как использовать ChartFX
069 Пример CHARTFX
070 CheckBox в DBGrid
071 DBGrid — выбранные строки
072 DBGrid — сохранение конфигурации
073 DBGrid c FixedCols
074 DBGrid CutToClipboard
075 DBGrid DefaultDrawDataCell
076 DBGrid и Memo-поля
077 DbGrid и множественный выбор
078 DBGrid компонент, который отображает разными цветами удалённые, обновлённые и добавленные записи
079 DBGrid с номером строки
080 DBGrid с цветными ячейками
081 DBGrid с цветными ячейками 2
082 DBGrid с цветными ячейками 3
083 DbGrid со свойствами Col и Row
084 Grid с человеческим лицом
085 OnClick для DBGrid
086 OnClick для DBGrid 2
087 Буфер обмена и ячейки DBGrid
088 В DBGrid напротив некоторых строк можно поставить галочку
089 Вставить Combobox в DBGrid
090 Выделить все строки в DBGrid
091 Замечательные возможности DBGrid
092 Изменение месторасположение колонок в TDBGrid
093 Изменение размеров колонок DBGrid
094 Использование Enter как Tab в TDBGrid
095 Использование опции MultiSelect в DBGRID
096 Как в TDBGrid pазpешить только опеpации UPDATE записей
097 Как в TDBGrid узнать над каким полем висит мышь
098 Как выделить цветом текущую строку в TDBGrid
099 Как зафиксировать один или несколько столбцов в TDBGrid
100 Как зафиксировать один или несколько столбцов в TDBGrid 2
101 Как защитить запись в DBGrid от удаления
102 Как из DBGrid перенести данные в существующий Excel файл
103 Как изменить цвет отмеченных записей в DBGrid
104 Как изменить цвет ячейки TDBGrid в зависимости от текущего значения
105 Как изменить шрифт определённой строки в DBGrid
106 Как определить изменение фокуса строки в TDBGrid
107 Как остановить автодобавление из DBGrid
108 Как отобразить выбранную строку DBGrid различными цветами
109 Как отучить TDBGrid от автодобавления новой записи
110 Как показать DbGrid в режиме disabled
111 Как программно перевести DBGrid в режим редактирования
112 Как сделать, чтобы в DBGrid вместо цифр были соответствующие константы
113 Как сделать, чтобы необходимая ячейка DBGrid получила фокус ввода
114 Как удалить вертикальную полосу прокрутки (скроллбар) из DBGrid
115 Как узнать значения, которые пользователь вводит в TDBGrid
116 Как экспортировать содержимое DBGrid в Excel или ClipBoard
117 Копирование информации из DBGrid-а в Clipboard
118 Многострочный DBGrid
119 Модуль, позволяющий в Delphi осуществить форму запроса для компонентов DBGrid
120 Несколько таблиц в одном TDBGrid
121 Несколько таблиц в одном TDBGrid 2
122 Обрабатываем выделенные строки в DBGrid
123 Перемещение из DbGrid
124 Перемещение по таблице с помощью вертикальной полосы прокрутки
125 Позиция ячейки в TDBGrid
126 Поиск в DBGride без ввода искомого значения в поле ввода
127 Показ Memo-поля в DBGrid
128 Показ Memo-поля в DBGrid 2
129 Показ изображений в DBGrid
130 Помещение компонентов в DBGrid
131 Различные цвета строк в DBCtrlGrid
132 Решение проблемы передачи фокуса TDBGrid
133 Рисование текста в DBGrid
134 Рисование текста в DBGrid 2
135 Симуляция нажатия кнопки при наличии DBGrid
136 Сортировка колонок в DBGrid
137 Сохранить порядок колонок в DBGrid, после того как пользовать их перестроил
138 Текущая строка и поле в DBGrid
139 Цветной DBGrid
140 Шапка в TDBGrid
141 Экспортировать DBGrid в HTML
142 DBNavigator без иконок
143 Вызов кнопок DBNavigator
144 Выключение кнопок в DBNavigator
145 Настройки всплывающих подсказок в DBNavigator
146 Пример KeyDown компонента DBNavigator
147 Работа в коде с кнопками DBNavigator
148 Свойства кнопок DBNavigator
149 Edit с возможностью автоматического выбора
150 Insert и Override с помощью DBEdit
151 SetFocus в Edit на OnExit
152 TEdit с выравниваением текста по центру
153 Автоматический формат даты в компоненте Edit
154 Денежное поле редактирования
155 Изменить вид курсора TEdit или другого элемента управления Windows
156 Исправление DBEdit MaxLength
157 Как автоматически расширить TEdit
158 Как в TEdit расположить текст справа
159 Как в TEdit расположить текст справа 2
160 Как заставить TEdit не пикать при нажатии недопустимых клавиш
161 Как ограничить длину текста, вводимого в TEdit, так чтобы ширина текста не превышала ширину TEditа
162 Как очистить DBEdit
163 Как очистить все окошки редактирования на форме
164 Как перехватить клавишу табуляции Tab в TEdit
165 Как сделать, чтобы TEdit воспринимал одни цифры и DecimalSeparator
166 Как создать нестандартную процедуру переноса слов для TEdit, TMemo
167 Массив Edit-компонентов
168 Матрица на основе TEdit
169 Ограничение TEdit на ввод не-цифровой информации
170 Перевод в верхний регистр первого вводимого символа
171 Подстановка в TEdit
172 Поиск и управление TEdit и TField
173 Правое выравнивание текста в компоненте Edit
174 Проверка на соответствие содержимого TEdit
175 Числовая маска компонента Edit
176 Как заставить GroupBox прорисовать на форме свой Caption неактивным цветом
177 Рисование на GroupBox
178 TImage — эффект плавного перехода
179 TImageList. Не отображаются иконки на контролах
180 Изменение палитры при выводе изображения
181 Как бороться с квадратичностью Image
182 Как поместить картинку из базы данных, например MsSQL, в компонент TIMAGE
183 Как сделать картинки в TImageList прозрачными
184 Перемещение Image
185 Проблема хранения TDBImage
186 Рисование прямоугольника на изображении
187 Хитрость вывода изображения
188 3D-рамка для текстовых компонентов
189 TLabel и TEdit без контейнера
190 Как осуществить ввод текста в компоненте Label
191 Комбинация TLabel и TEdit
192 TListView и TTreeView — Windows Explorer
193 Virtual ListView с контекстным меню
194 Искать текст в TListView
195 Как ListView перевести в режим редактирования по нажатию на F2
196 Как поместить картинку в заголовок TListView
197 Как узнать, по какой колонке был клик в TListView
198 Перехват изменения размера колонки в TListView
199 Получить список файлов в ListView как в проводнике
200 Поменять местами пункты ListView
201 Прокрутка для TListView или TTreeView
202 Сортировка ListView в режиме vsReport при нажатии на заголовок колонки
203 Memo со своими шрифтами
204 Memo со свойствами Row и Col
205 RichEdit замена текста
206 RichEdit поиск текста
207 TDBMemo в TDBCtrlGrid
208 В TRichEdit или TMemo при нажатии Enter позиционирование курсора в позицию как в предыдущей строке
209 Вставка текста в TMemo в текущую позицию
210 Выделить строку в Memo
211 Добавление строк в Memo
212 Изменение величины табуляции в Memo
213 Импортирование файла в компонент Memo
214 Исправление загрузки RTF текста через поток
215 Как в Memo прокрутить текст
216 Как в компоненте TMemo перехватить нажатие Ctrl+V и вставить специальный текст не из буфера обмена
217 Как вставить содержимое файла в текущую позицию курсора в компоненте TMemo
218 Как выделить в RichEdit 4 строки
219 Как запихать в Мемо больше текста, чем оно может вместить по умолчанию
220 Как изменить стиль шрифта RichEdit нажатиями соответствующих клавиш (например включить курсив по нажатию Ctrl+I)
221 Как нарисовать что-нибудь на TMemo
222 Как настроить табуляцию в компоненте TMemo
223 Как получить определённую часть текста из RichEdit
224 Как прокрутить TRichEdit в конец
225 Как сделать окошко подсказки в редакторе как Delphi по CTRL-J
226 Как сделать отступ в Memo
227 Как сделать так, чтобы в Memo переносилось не слово целиком, а только та часть слова, которая не помещается
228 Как сделать, чтобы TMemo и TEdit работали в режиме вставки и замены
229 Как скопировать содержимое одного RichEdit в другой
230 Как узнать количество видимых строчек в TMemo
231 Как указать максимальный размер текста для RichEdit Control
232 Координаты курсора в Memo
233 Координаты курсора в Memo 2
234 Копирование текста DBMemo
235 Обнаружение прокрутки TMemo
236 Ограничение длины и количества строк компонента Memo
237 Ошибка RichEdit в Delphi2 под NT4
238 Перейти на строку в RichEdit
239 Подсветить HTML теги в RichEdit
240 Подсветка синтаксиса
241 Подсчет слов в Richedit
242 Поиск и замена текста в TMemo
243 Поиск строки текста в наследниках TCustomEdit
244 Поиск текста в DBMemo
245 Получить слово под курсором в RichEdit
246 Постраничная прокрутка Memo, когда фокус находится на Edit
247 Предел на размер текста в RichEdit
248 Прокрутка Memo
249 Событие Key Press и курсорные клавиши в TMemo
250 Сортировка строк в MEMO
251 Управление прокруткой Memo
252 TOutline OwnerDraw — значение индекса
253 Поточность TOutline
254 Пример отрисовки TOutline
255 Производная TOutline
256 Раскрытие пути к элементу TOutline по его индексу
257 Для создания панелей в двумя полосами слева, которые можно двигать
258 Как рисовать на органе управления, например, на TPanel
259 Компонент со вложенной панелью
260 Панель с изменяющимися размерами
261 Перемещение мышью панели на форме во время выполнения программы
262 Плавающие панельки
263 Сделать плавающую панель
264 Использование TParser
265 Недокументированный TParser
266 Пример TParser
267 Простое использование TParser
268 ProgressBar с невидимой рамкой
269 Как вставить ProgressBar в StatusBar
270 Как вставить ProgressBar в StatusBar 2
271 Как изменить стандартный цвет ProgressBar
272 Как изменить стандартный цвет ProgressBar 2
273 Создать ProgressBar в колонке TListView
274 Заголовок окна предварительного просмотра QuickReport
275 Переключение принтеров при печати в QuickReport
276 Проблемы со шрифтами у QuickReport
277 Как перехватить сообщения прокрутки в TScrollBox
278 Синхронизация двух компонентов ScrollBox
279 Splitter Bar
280 Конструирование Splitter
281 Как вывести цветную надпись на StatusBare
282 Обработчик события OwnerDraw в компоненте StatusBar
283 Показ всплывающих подсказок в строке состояния
284 Показ всплывающих подсказок в строке состояния 2
285 Показ даты, времени и состояния клавиш в строке состояния
286 Установить размер шрифта для панели StatusBar
287 Bitmap в StringGrid ячейке
288 CheckBox в StringGrid
289 CheckBoxes в StringGrid
290 SetFocus в TStringGrid
291 StringGrid без выделенной ячейки
292 StringGrid как DBGrid
293 Tab как Enter в StringGrid
294 TStringGrid и файловый поток
295 TStringGrid с фокусом (OnDrawCell)
296 Авторазмер для StringGrid
297 Авторазмер ширины колонок TStringGrid
298 В StringGrid ширина колонки подгоняется под длину самой длинной строки
299 Вставка и удаление строк в StringGrid
300 Выбор строки или колонки компонента TStringGrid
301 Выравнивание колонок StringGrid
302 Выравнивание колонок StringGrid 2
303 Выравнивание колонок StringGrid 3
304 Выравнивание колонок StringGrid 4
305 Выравнивание колонок StringGrid 5
306 Как перехватывать горячие клавиши в StringGrid
307 Как показывать встроенный редактор ComboBox в ячейке StringGrid
308 Как снять выделение в StringGrid
309 Как создать отдельную подсказку Hint для каждой ячейки StringGrid
310 Как удалить выделенную запись из TStringGrid
311 Компонет TWrapGrid, осуществляющий перенос текста в TStringGrid
312 Манипуляция словами в TStringGrid
313 Многострочность в заголовках колонок StringGrid
314 Многострочный TStringGrid
315 Многострочный TStringGrid 2
316 Множественный выбор в TStringGrid
317 Назначение цвета для каждой строки, вывод ячейки в несколько строк в StringGrid
318 Обновление картинки в ячейке StringGrid
319 Обратиться к колонке или строке StringGrid по заголовку
320 Ограничение длины поля TStringGrid
321 Перетащить колонки и строки в StringGrid
322 Покрашенный StringGrid
323 Покрашенный StringGrid 2
324 Помещение изображения в ячейку StringGrid
325 Помещение компонентов в StringGrid
326 После первого щелчка начать редактировать
327 Правое выравнивание ячеек TStringGrid
328 Пример TDrawGrid Drawcell
329 Проверить, выделена ли ячейка в StringGrid
330 Сменить цвет выделения в StringGrid
331 Событие OnDraw для TStringGrid
332 Сортировка StringGrid с целыми значения
333 Сохранение и чтение TStringGrid
334 Текст в ячейке StringGrid если не помещается переносится на следующую ячейку
335 Установка атрибута Только для чтения у столбцов компонента StringGrid
336 Фокус ячейки TStringGrid
337 Форматирование ячеек TStringGrid
338 Цвет неактивной ячейки StringGrid
339 Цветные ячейки в StringGrid и в DBGrid
340 Дублируем TTable со всеми индексами
341 Замена KeyFind
342 Записать TDataSet в Excel файл
343 Использование DBIopenlocklist
344 Как научить VCL делать Refresh для запросов правильно
345 Как обновить TQuery не потеряв при этом текущей записи
346 Можно ли вызвать хранимую процедуру через TQuery
347 Получение значения Memo-поля с помощью Query
348 Пример SetText, GetText строкового поля
349 Синхронизация таблицы и StringList
350 Создание компонента TTable без формы
351 Создание компонента TTable без формы 2
352 Создание компонента TTable без формы 3
353 Создание компонента TTable без формы 4
354 Создание таблицы в модуле
355 Текущая TTable пуста
356 Высокоточный таймер
357 Имплантация таймера в компонент
358 Как можно обойтись без TTimer и наиболее рационально использовать ресурсы системы
359 Как отчитывать промежутки времени с точностью
360 Класс TRyTimer
361 Элемент управления Edit, реагирующий на событие OnTimer
362 DBTreeView своими руками
363 TTreeView с возможностью MultiSelect
364 В TreeView текущий Node выделяется другим шрифтом
365 Возможность отмены вставки нового узла в TTreeView по нажатию кнопки Esc
366 Как убрать всплывающие подсказки в TreeView
367 Копировать и вставлять TreeNode
368 Получение доступа к узлам TreeView
369 Получить строковый путь в TTreeView
370 Поточность TreeView
371 Прокрутка TreeView, чтобы держать выделение посередине
372 Рекурсивные механизмы спуска по дереву
373 Ускорение работы TreeView
374 Ускорение работы TreeView 2
375 Хочется выделять некоторые строчки в TTreeView жирным
376 Хочется выделять некоторые строчки в TTreeView жирным или бледным
377 TWriter и TReader — читаем и пишем в файл
378 Пример TWriter и TReader
379 kaCtrls — библиотека компонент и классов
380 KOL — кодоэкономичная объектная библиотека для Delphi
381 Круглая кнопка, кнопка с изменяющимися размерами
382 Notebook — добавление и удаление страниц
383 Notebook как контейнер для форм
384 Notebook как контейнер для форм 2
385 Tabbednotebook и куча ресурсов
386 Включение и выключение закладки Notebook
387 Динамические PageControl и TabSheet
388 Динамические PageControl и TabSheet 2
389 Динамические создание объектов в TabbedNotebook
390 Динамические создание объектов в TabbedNotebook 2
391 Добавление элементов управления в TTabbedNotebook и TNotebook
392 Доступ к страницам Tabbednotebook
393 Изменяем цвет TPageControl
394 Итерация элементов управления компонента Notebook
395 Как использовать клавишу-акселератор в TTabSheets
396 Над какой закладкой курсор в TabControl
397 Как работать с формой, куда динамически передаются страницы (PageControl) из форм-хранителей (с использованием наследования)
398 Клавиши-акселераторы для TPageControl
399 Недоступная закладка в компоненте TabbedNotebook
400 Перемещение на страницу TabSet по имени
401 Проблема с освобождением ресурсов Notebook
402 Разделяемые элементы управления для Tabbednotebook
403 Разделяемые элементы управления для Tabbednotebook 2
404 Разделяемые элементы управления для Tabbednotebook 3
405 Синхронизация TabSet c ListBox
406 События KeyPress и KeyDown не вызываются для Tab — как определить ее нажатие
407 Создание страниц компонента Notebook во время работы приложения
408 Вывести информацию о классах
409 Иерархия классов
410 Изменить заголовки компонент различных классов
411 Информация о TClass
412 Информация о классах
413 Переназначения объектов
414 Поиск класса
415 Получение информации о классе и об окне
416 Как программно щелкнуть по компоненту SpeedButton
417 Получение ссылки на класс из объекта
418 Получение ссылки на класс из объекта 2
419 Регистрация классов
420 Создание потомка от класса зарегистрированного в Delphi
421 Создать компонент любого класса
422 Список объектов класса TDate
423 Удаление объектов, освобождение памяти
424 Автоматически нажимающаяся кнопка
425 Анимированная пиктограмма кнопки
426 Визуализация нажатия кнопки
427 Из ресурсов поочередно загружать глифы для кнопок SpeedButton
428 Изменить цвет TButton
429 Как текст на кнопке расположить под заданным углом
430 Кнопка с многострочным заголовком
431 Кнопка с многострочным заголовком 2
432 Кнопка со звуком
433 Многострочный заголовок у TBitBtn
434 Многострочный заголовок у TBitBtn 2
435 Расширяем возможности кнопок в Delphi
436 Смена иконки BitBtn во время работы приложения
437 Цветная кнопка
438 Класс для реализации списка Variant-ов на основе TCollection
439 Коллекции и работа с ними
440 Работа с коллекциями — сохранение и загрузка
441 Сохранение и загрузка данных в объекты на примере коллекций
442 Блокировка и разблокировка перерисовки компонента
443 Глобальный поиск компонента
444 Иерархия VCL
445 Использование холста в собственных компонентах
446 Как заставить произвольный компонент реагировать на изменения в TDataSource
447 Как передать фокус следующему контролу
448 Как получить число и список всех компонентов, расположенных на TNoteBook
449 Как получить ширину ScrollBar
450 Как работать с компонентами по их индексу
451 Клонирование объекта
452 Копирование компонента через TFileStream
453 Поменять владельца компонента
454 Работа с именем компонента
455 Связывание строки и компонента
456 Сохранить несколько контролов в один файл
457 Чтение и запись компонента
458 TRyMenu — собственная отрисовка меню
459 Автоматический выбор произвольного пункта PopupMenu
460 Блокировка меню без закрашивания серым
461 Выделение меню
462 Вызов контекстного меню в координатах курсора мыши
463 Вызов контекстного меню в позиции курсора
464 Вызов контекстного меню в позиции курсора 2
465 Вызов контекстного меню в позиции курсора 3
466 Динамическое добавление пунктов меню
467 Динамическое добавление пунктов меню 2
468 Динамическое добавление пунктов меню 3
469 Добавить пункт к системному меню приложения
470 Добавление иконки в меню
471 Добавлять новые пункты меню
472 Изменить системное меню
473 Иконки в PopupMenu
474 Использование контекстного меню с VBX
475 Исправление иконок выключенных пунктов меню
476 Как главное меню приложения вставить в TToolBar (как в Delphi)
477 Как динамически создавать пункты подменю в PopupMenu
478 Как поместить маленькие битмапы в TPopupMenu
479 Как программно заставить выпасть меню
480 Как рисовать картинки в пунктах меню (через OwnerDraw)
481 Как сделать пункты меню с картинками
482 Каким образом узнать, открыто меню или нет
483 Меню с правой стороны
484 Обработчик динамически созданного пункта меню
485 Очень длинные меню
486 Перехват клавиши SHIFT во время выбора пункта меню
487 Пишем свой текст в Меню
488 Прозрачные меню для XP, Win2000
489 Создание pop-up меню своего компонента и кое-что еще о классе TComponentExpert
490 Чтобы клавиши shortcut пунктов главного меню главной формы действовали только в этой форме (но не в модальных окнах)
491 Элементы меню на основе изображений
492 Если нет модуля Math
493 Имя класса компонента и модуля
494 Получение имени модуля
495 Текущий модуль и проект
496 FileReaderWriter-поток
497 TMemoryStream
498 Взять один символ из потока памяти
499 Вызов процедуры в другом потоке
500 Как при создании объекта TThread передать ему некоторое значение
501 Как реализовать обработку информации одновременно несколькими потоками
502 Как создавать потоки без класса TThread
503 Как создавать потоки без класса TThread 2
504 Копирование файлов потоком
505 Помещение формы в поток
506 Рассуждения о потоках
507 Реализация собственного потока
508 Сжимаем и разжимаем потоки
509 Сохранение и загрузка формы с компонентами потоком
510 Сохранение и чтение из потока данных объекта
511 Override, Vitual, Dynamic — методы
512 Вызов c-шной функции с переменным числом параметров
513 Вызов процедуры, имя которой содержится в переменной
514 Вызов процедуры, имя которой содержится в переменной 2
515 Выполнение процедуры по адресу
516 Динамические и виртуальные методы
517 Конфликт имен параметров
518 Макро-процедуры
519 Передача функции как параметра
520 Перекрытие виртуальных методов
521 Переменное количество параметров любого типа
522 Пример переменного количества параметров
523 Работа метода Assign
524 Вложенные свойства
525 Два и более обработчика события
526 Декларация события OnPassword
527 Делегирование события
528 Демонстрация DefineProperties
529 Имя свойства в течение выполнения программы
530 Интерфейсы и published свойства
531 Использование перечислимых констант
532 Как во время выполнения определить поддерживает ли обьект заданное свойство
533 Как определить, есть ли некоторое свойство у объекта
534 Как разделить обработку OnClick и OnDblClick
535 Как скрыть свойства объекта
536 Как убрать публичное свойство компонента
537 Код определения свойств
538 Назначение события во время выполнения программы
539 Определить и выставить значение текстового свойства
540 Определить каким свойством определяется заголовок у компонента, и изменить его
541 Поиск свойств
542 Получение имени обработчика события
543 Получить список свойств перечисляемого типа и список их значений
544 Получить список событий и их описание
545 Получить список типов свойств и их описание
546 Пример использования ActiveControl
547 Присвоить значение защищённому свойству класса
548 Присвоить одно событие всем компонентам
549 Проверка на существование свойства
550 Публикование свойств-наборов
551 Регистрация редактора свойства
552 Редактор свойств для точки
553 Редактор свойства Color с заданными ограничениями
554 Редактор свойства TStringListProperty
555 Свойства в Delphi
556 Свойство FileName в невизуальном компоненте
557 Синтаксис ссылки на событие
558 Создание редактора свойства
559 Создание свойства-массива компонентов
560 Создание события во время выполнения приложения
561 Как запретить изменение размера моего компонента в design-time
562 Как реализовать правильный выпадающий контрол (Combo)
563 Как сделать, чтобы орган управления, например, сложная линия, хваталась только за некий контур, и пропускала мышь под себя в других местах
564 Как создать TrackBar, в котором вместо широкой белой полосы была бы тонкая линия
565 Как создать клон произвольного компонента
566 Как создать невизуальный компонент без иконки, которая изображается в Design-Time
567 Компонент DirectoryTree
568 Компонент FontListBox
569 Компонент PowerControl
570 Компонент TMinMax
571 Компонент TrayIcon
572 Компонент для работы с FLIC-анимацией
573 Компонента HTML — редактора
574 Показ всплывающих подсказок компонентов
575 Пособие по написанию компонентов
576 Прерывание создания компонента
577 Пример компонента HotSpot
578 Пример компонента типа XPButton
579 Пример создания компонента TDBNavigationButton
580 Прозрачный компонент
581 Регистрация компонент
582 Решение для динамически создаваемых компонентов
583 Сгруппировать свойства наподобие Font
584 Создание компонента
585 Создание компонентов для работы с базами данных
586 Создание порядка компонент — решено
587 Установка границ для вновь создаваемых элементов управления
588 Элементы управления с автовыравниванием
589 FileListBox с двумя колонками
590 ListBox с графикой
591 PChar в TStringList
592 TStringList и потоки
593 TStringList, владеющий объектами
594 TStringList. Неустойчивость сортировки
595 TStringList.IndexOf. Зависимость от сортировки
596 Автозаполнение в ComboBox
597 Быстрая отрисовка BitMap в компоненте TListBox
598 Быстрый поиск в списке
599 Включение табуляторов в Listbox
600 Внешние данные и ListBox
601 Выравнивание в ListBox
602 Выровнять текст в TListBox вправо
603 Две колонки в DBLookupComboBox
604 Заполнение TDBComboBox
605 Значение DBLookupComboBox
606 Изменение шрифта в Listbox
607 Инкрементальный поиск в ListBox
608 Инкрементальный поиск в ListBox 2
609 Как вставить растровое изображение в компонент ListBox
610 Как добавить горизонтальную полосу прокрутки в TListBox
611 Как изменить фоновый цвет текста в различных строчках TListBox
612 Как определить состояние списка ComboBox, выпал или скрыт
613 Как показать Hint для частично видимых элементов ListBox
614 Как поместить графический элемент в TListBox
615 Как поместить картинки в ComboBox
616 Как присвоить значение свойству Selected в ListBox
617 Как сделать так, чтобы каждая строка в ListBox имела свой цвет
618 Как узнать размеры TComboBox с показанным выпадающим списком до показа списка
619 Как элемент списка нарисовать своим цветом
620 Когда я добавляю обьект в список TStrings как мне его потом уничтожить
621 Колонки в TListBox — Вставка символа табуляции
622 Компонент CheckList
623 Многостроковый TComboBox
624 Можно ли изменить число колонок и их ширину в компоненте TFileListBox
625 Навигация по выбранным элементам в ListBox
626 Наследник TComboBox, показывающий Hint для строки в ListBox-овой части, не видимой целиком
627 Несколько колонок в TComboBox
628 Обнаружение прокрутки TListBox
629 Обновить DBLookUpComboBox при скролинге таблицы
630 Отображение полных строк списка при перемещении мыши по списку
631 Показываемое DBLookupComboBox значение
632 Предварительная загрузка элементов
633 Пример OwnerDraw для Listbox
634 Проверка ситуации Выход За Границы Списка при нажатии правой кнопки на списке
635 Программное открытие ComboBox
636 Расширение компонента ListBox
637 Свойство TStringList
638 Создание TList со списком файлов, отсортированных по дате
639 Создание списка списков (TStringList)
640 Список объектов
641 Табуляция в графическом ListBox
642 Уменьшение мерцания ListBox в обработчике OwnerDraw
643 Щелчок в пустой области TListBox
644 TCheckListBox — использование методов LoadFromFile и SaveToFile
645 Видоизменяем чекбоксы в Delphi
646 Группа радиокнопок и ActiveControl
647 Как поместить TCheckBox в TRichEdit
648 Можно ли отключить определённый элемент в TRadioGroup
новая строка в заголовке ярлыка?
новая строка в заголовке ярлыка? — дельфи
жизнь Разработчик Delphi | Чт, 28 июля 2005 г. , 05:03:58 по Гринвичу новая строка в заголовке ярлыка?Привет, Как можно поместить новую строку/возврат каретки в заголовок ярлыка? ТИА.
|
Ханс ван Гемерт / ZZ Разработчик Delphi | Чт, 28 июля 2005 г., 05:26:37 GMT Re: новая строка в подписи к этикетке? Установите для свойства wordwrap значение true. Цитата—— Исходное сообщение —— |
жизнь Разработчик Delphi | Чт, 28 июля 2005 г., 05:32:53 по Гринвичу Re: новая строка в подписи к этикетке? Спасибо, Ганс, я сделал это, но я хочу начать новый абзац и иметь «Ханс ван Гемерт / ZZE» Цитата> Установите свойство wordwrap true. |
Ханс ван Гемерт / ZZ Разработчик Delphi | Чт, 28 июля 2005 г., 05:42:28 GMT Re: новая строка в подписи к этикетке? Нажмите на метку, посмотрите свойства, посмотрите на заголовок, нажмите маленькую кнопку «lifa» Цитата> Спасибо Ганс, я сделал это , но я хочу начать новый абзац и иметь |
жизнь Разработчик Delphi | Чт, 28 июля 2005 г., 05:49:02 GMT Re: новая строка в подписи к этикетке? У меня нет кнопки справа 🙁 «Hans van Gemert / ZZE» Цитата> Нажмите на метку, посмотрите свойства, посмотрите на заголовок, нажмите маленькую |
Ханс ван Гемерт / ZZ Разработчик Delphi | Чт, 28 июля 2005 г. , 05:54:37 GMT Re: новая строка в подписи к этикетке? Хм. Я использую Д7. И только что посмотрел: я заметил, что этой маленькой кнопки не было «lifa» Цитата> У меня нет кнопки справа 🙁 |
Ханс ван Гемерт / ZZ Разработчик Delphi | Чт, 28 июля 2005 г. , 06:14:54 GMT Re: новая строка в подписи к этикетке? Просто подумал об этом… «lifa» Цитата> У меня нет кнопки справа : -( |
жизнь Разработчик Delphi | Чт, 28 июля 2005 г. , 06:35:06 GMT Re: новая строка в подписи к этикетке?Спасибо Ганс, Похоже, мне придется, если не появится решение сделать это в режиме дизайна «Ханс ван Гемерт / ZZE» Цитата> Просто подумал об этом… |
Патрик Разработчик Delphi | Чт, 28 июля 2005 г., 15:05:04 GMT Re: новая строка в подписи к этикетке?Привет, Вы можете щелкнуть правой кнопкой мыши по форме, выбрать «Просмотреть как текст» AFAIK, вам нужно установить JEDI (я забыл, JEDI или нет), чтобы отобразить правильную маленькую кнопку Патрик Цитата> Привет, |
1. Заголовки многострочных меток
2. Символы новой строки в заголовке
3. RichEdit: всегда на одну строку больше после добавления новой строки
4. Qreport, вращение текста, label.caption
5. Изменить заголовок ярлыка других приложений
6. label.caption + 1 ?
7. Читать подписи ярлыков в других программах?
8. TOpenDialog — подписи к меткам и кнопкам
9. Показать реальное значение в label.caption
10. Label.caption не обновляется при изменении
Delphi 2005 — разрыв строки XML
Родриг Разработчик Delphi | Пн, 28 июля 2008 г. 00:35:33 GMT Delphi 2005 — разрыв строки XMLПривет! Я создал XML с помощью привязки данных XML. Позвольте мне привести вам пример XML: Я создаю объект IXMLTesteType, чем делаю: Test.Data := ‘Строка 1 #13 Строка 2 #13 Строка 3’; Я сериализую объект и получаю: Все в порядке! Но когда я создаю новый объект IXMLTesteType, используя приведенный выше XML, я Как сохранить разрывы строк? спасибо —
|
Команда Разработчик Delphi | Пн, 28 июля 2008 г. 03:14:32 GMT Re:Delphi 2005 — Разрыв строки XMLQuoteВ статье <[email protected]. com> Родриго написал: Этот вопрос лучше задать в b.p.delphi.xml, Разрывы строк являются пробелами, а пробелы не имеют значения в XML, если только они — |
Родриг Разработчик Delphi | Пн, 28 июля 2008 г. 18:10:27 GMT Re:Delphi 2005 — Разрыв строки XMLСпасибо, Питер! Я использовал тег Еще раз спасибо! — «Питер Ниже (TeamB)» <[email protected]> escreveu na mensagem |
1. XML 2005 Крайний срок публикации и презентации продукта — Учебники добавлены/изменены
2. Поздняя отправка экстренных новостей для XML 2005 — доступны скидки
3. Надежный источник всего XML — обновление XML 2005
4. Надежный источник всего XML — зарегистрируйтесь со скидкой на XML 2005
5. XML в Win32 и DotNet (Delphi 2005)
6. XML-документация в Делфи 2005
7. (Запуск Delphi 2005) Строка 12 Ошибка: Сервер автоматизации не может создать объект
8. Объявлено о последних презентациях для XTECH 2005
9. Обновление 1 прерывает отладку asp в 2005?
10. Visual Studio 2005, Delphi 2005, Document Explorer не найден
Программное обеспечение TMS | Поддержка
Мини HTML ссылка
Реализация мини-HTML для отображения текста с тегами HTML в различных TMS. компоненты являются подмножеством стандарта HTML и поддерживают следующие теги :
B : Жирный тег
: Начать жирный текст
: Конец полужирного текста
Пример : Это тест
U : Тег подчеркивания
< U> : начало подчеркнутого текста
: конец подчеркнутого текста
Пример : Это test
I : Курсив
: начало курсива
: конец текста курсивом
Пример : Это тест
S : зачеркнутый тег
: начало зачеркнутого текста : конец зачеркнутого текста
Пример : Это тест
Примеры: Это тест
Это тест
Это тест
FONT : тег спецификатора шрифта
: указывает шрифт текста после тега.
с
- начертание: название шрифта
- size : размер стиля HTML, если он меньше 5, в противном случае размер в пунктах шрифт 908:35
- color : цвет шрифта с шестнадцатеричной спецификацией цвета или Название цвета в стиле Borland, т. е. clRed, clYellow, clWhite… и т. д.
- bgcolor : цвет фона с любой шестнадцатеричной спецификацией цвета или название цвета в стиле Borland : завершает настройку шрифта
Примеры: это тест.
Это тест
P : параграф
:
начинает новый абзац с выравниванием по левому, правому краю или по центру. Межстрочный интервал можно контролировать с помощью атрибута line-height. Значение 1,5 означает, что будет применяться 1,5-кратный стандартный межстрочный интервал. Абзац
цвет фона задается необязательным параметром bgcolor. Если bgcolor и
bgcolorto,
отображается градиент от начального до конечного цвета.
Пример:
Это тест
Пример:
Это тест
Пример :
Красный фон
Пример:
Желтый фон
Пример:
Это градиентный фон
* LINE-HEIGHT
Атрибут межстрочного интервала для абзацев, чтобы указать межстрочный интервал между строками в HTML
текст.
Пример:
.
HR : горизонтальная линия
: вставка разрыва строки с горизонтальной линией. Цвет по умолчанию черный. Для установки цвета горизонтальной линии можно использовать атрибут COLOR:
BR : разрыв строки
: вставка разрыва строки
BODY : спецификатор цвета тела/фона
Пример:
: устанавливает желтый цвет фона: устанавливает мозаичный фон в файл test.bmp
: устанавливает вертикальный градиент от желтого к белому
IND : тег отступа
Это не часть стандартных тегов HTML, но его можно использовать для простого создания
многоколоночный текст
Пример:
Это будет
P INDENT : тег отступа абзаца
Атрибут отступа
позволяет определить отступ абзаца, который сохраняется до сброса.
IMG : тег изображения
: вставляет изображение в позицию
спецификатор может быть : idx : имя является индексом изображения в связанном
imagelist
ssys : имя — это индекс маленького изображения в системном списке изображений или
имя файла, для которого выполняется поиск в соответствующем системном списке образов
lsys : то же, что и ssys, но для большого системного списка образов image
file : имя — полный спецификатор имени файла
res : имя изображения ресурса (не отображается во время разработки) Поддерживаемые типы изображений: BMP, GIF, PNG. Обратите внимание, что тип ресурса должен быть RT_RCDATA!
без спецификатора: имя изображения в PictureContainer
Дополнительно может быть включен тег выравнивания. Если выравнивание не включено, выравнивание текста относительно изображения по нижнему краю. Другие возможности являются: align=»top» и align=»middle»
Также можно указать ширину и высоту для рендеринга изображения. Если изображение встроено в теги привязки, другое изображение может отображаться, когда мышь находится в области изображения через атрибут Alt.
Примеры: Это изображение
Это изображение и еще одно
Это изображение
Это изображение
Это изображение
FLOAT : плавающий атрибут для абзаца и изображения
Оба тега IMG и P могут иметь плавающий атрибут. Для изображения атрибут float может быть «левым» или «правым». Для тега P атрибут float может быть «левым». С помощью атрибута float можно сделать так, чтобы изображение плавало влево или вправо, а текст отображался на нескольких строках рядом с изображением. Для текста можно, например, выровнять текст как по левому, так и по правому краю в одной строке.
Пример 1:
Lorem Ipsum — это просто фиктивный текст в полиграфии и наборной индустрии. Lorem Ipsum был стандартным фиктивным текстом в отрасли с тех пор, как 1500s, когда неизвестный печатник взял гранку шрифта и зашифровал ее, чтобы сделать Типовая книга образцов.
Пример 2:
Шампейн
79,23
Виски
65,50
Кальвадос
53,35
Джин
41,99
SUB : тег нижнего индекса
: начальный текст нижнего индекса
: текст конечного нижнего индекса
Пример: это выглядит как 9/16 9/16
SUP : тег надстрочного индекса
: начальный текст надстрочного индекса
: текст в конце надстрочного индекса
BLINK : тег мигания (поддерживается в TAdvStringGrid и его потомках и
THTMListbox)
: перестать мигать текст
Пример : Это текст.