Как сделать таблицу в rad studio

Обновлено: 04.07.2024

В своем блоге я уже несколько раз затрагивал тему IDE и рассказывал про некоторые из инструментов в RAD Studio. Например, рассказывал об инструменте History и его возможностях, затрагивалась тема использования ToDo-List, а также подробно рассмотрел работу с Code Formatter. Последний обзор получился достаточно большой на целых раз, два поста в блоге и плюс добавления касательно Delphi XE. Было и ещё несколько заметок.

Очевидно, что по сравнению с предыдущими версиями RAD Studio XE приросла и ещё рядом “вкусностей” для разработчиков, в т.ч. и поддержкой Subvrsion. И у меня возник такой вот простой вопрос к читателям блога: а какие инструменты RAD Studio Вы используете наиболее часто или вообще постоянно?

Ведь кто бы и что ни говорил, каждый использует в IDE только то, что ему необходимо или, на крайний случай, только то, о чем он знает. Например, кому-то хватает за глаза Ctrl+Space, Ctrl+Shift+C, другому подавай Model Maker и прочие “навороты”, а третий даже и не в курсе, что у него под рукой находится Code Formatter.

Форму голосования я оставлю внизу поста и в сайдбаре, а пока перечислю те инструменты RAD Studio XE, которые я использую наиболее часто, а также те, возможности которых я познаю о мере необходимости и наличия свободного времени.

Templates

Ну с этим инструментом познакомился и дружит каждый пользователь Delphi. Его “волшебство” – функцию автозавершения, можно почувствовать, набрав в редакторе кода, например begin и зажав [Enter] – IDE автоматически поставит end. Аналогично работают и другие шаблоны, доступные “из коробки”, например, циклы, try..finally..end и т.д.

Также можно создавать собственные шаблоны кода и использовать их в своей работе об этом я писал, когда подробно рассматривал работу с этим инструментом.

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

Code Formatter

To-Do List

Не так уж и давно, но начал активно использовать этот инструмент при работе над проектами. Удобная вещь, когда необходимо оставить какую-либо заметку по работе прямо в исходнике. Особенно, когда проект достаточно большой. Вызвал окно To-Do List’а – все заметки на виду, ткнул по заметке – попал аккурат в тот модуль и на ту строку где эта заметка оставлена. Супер.

History

Этот инструмент использую довольно редко, можно сказать, что практически им не пользуюсь с того момента, как начал работать с SVN и GIT, но, тем не менее History включен всегда. Есть мнение, что на больших проектах с включенным History IDE начинает подвисать, но иметь под рукой резервные копии исходников все же необходимо, особенно, если нет возможности скинуть их на DropBox или ещё на какое-нибудь онлайн-хранилище.

Refactor

Вот уж где моё упущение так это как раз в том, что не оценил и не изучил когда-то должным образом этот инструмент для улучшения своего кода. Нет, тут опять же дело каждого – использовать или нет. Можно целый день ковыряться в модулях выискивания использование переменной для того, чтобы заменить её имя или вручную разбивать громоздкие методы на более мелкие. Но недавно попробовал использовать (кстати, в проекте “Пинговалка”) возможности рефакторинга в RAD Studio XE и надо сказать остался доволен как слон. Теперь более углубленно по мере появления свободного времени изучаю содержимое меню Refactor и, возможно, когда-нибудь напишу небольшой обзор в блоге по поводу этого инструмента.

Вот, собственно, по-крупному, пожалуй все. Есть, конечно, ещё ряд возможностей RAD Studio XE, которые использую по мере необходимости (например инструмент для работы с Subversion) или уже просто “на автомате”. Есть желание разобраться с Model View, но пока, думаю сначала освоить более менее полно Refactor.

Ну, а теперь форма опроса. Если какого-то пункта в опросе не хватает – пишите комментарий и я дополню опрос новым вариантом ответа. Пока ограничусь теми инструментами про которые говорил в посте:

Книжная полка

Описание Подробно рассматривается библиотека FM, позволяющая создавать полнофункциональное программное обеспечение для операционных систем Windows и OS X, а также для смартфонов и планшетных компьютеров, работающих под управлением Android и iOS

Описание: Рассмотрены практические вопросы по разработке клиент-серверных приложений в среде Delphi 7 и Delphi 2005 с использованием СУБД MS SQL Server 2000, InterBase и Firebird. Приведена информация о теории построения реляционных баз данных и языке SQL. Освещены вопросы эксплуатации и администрирования СУБД.

Описание: Рассмотрены малоосвещенные вопросы программирования в Delphi. Описаны методы интеграции VCL и API. Показаны внутренние механизмы VCL и приведены примеры вмешательства в эти механизмы. Рассмотрено использование сокетов в Delphi: различные режимы их работы, особенности для протоколов TCP и UDP и др.

Описание: Книга рассчитана на подготовленного пользователя ПК, желающего самостоятельно научиться программировать и разрабатывать приложения и базы данных в среде Delphi. Опытные программисты смогут использовать издание как справочник. В тексте подробно описаны более 80 компонентов VCL, функции Object Pascal и Win32 API.

Описание: Описаны общие подходы к программированию приложений MS Office. Даны программные методы реализации функций MS Excel, MS Word, MS Access и MS Outlook в среде Delphi.

Желание приукрасить, или хотя бы раскрасить свой труд есть у многих людей. Таблицы с цветом намного информативнее и просто красивее. В Fire Monkey для компонента TStringGrid эта задача немного усложнилась по сравнению с в VCL. Перейду непосредственно к тому, как раскрашивать TStringGrid. Поясню на примере ниже.

tableraskr

Весь код приводится в обработчике события

procedure TForm1.StringGrid1DrawColumnCell(Sender: TObject;const Canvas: TCanvas; const Column: TColumn; const Bounds: TRectF; const Row: Integer; const Value: TValue; const State: TGridDrawStates);

чтобы раскрасить цветом $FF94DDFD только первый горизонтальный ряд (красная цифра 1 на рисунке) нужен такой код:

Метод StringGrid1.DefaultDrawColumnCell заполняет ячейку по умолчанию текстом и прочими атрибутами, код меняет только заливку ячейки. Ряд заполняется цветом полностью.

Чтобы заливка не касалась разделительных линий между ячейками, нужно указать границы заливки по одному пикселю с каждой стороны ячейки:

И еще одно новшество TStringGrid в Fire Monkey: к ряду можно обратится прямо — через константу Row, а вот к колонке — нет, поэтому нужно вводить дополнительный тип и обращаться к колонке через него:

Отдельные ячейки (красная цифра 2 на рисунке) можно залить так:

Горизонтальные ряды (красная цифра 4 на рисунке) :

Вертикальные ряды (красная цифра 3 на рисунке) :

ну вот и всё раскрашивание.
Если захочется выравнивать текст в ячейках, то это можно сделать так (я выравнивал первый столбец по левому краю, остальное — по центру )

После успешной инсталляции на вашем компьютере RAD Studio можно начать изготавливать полезные программы с помощью этой замечательной системы быстрой (и качественной) разработки программ.

Для запуска на выполнение RAD Studio XE 3 нужно щелкнуть мышью по кнопке Пуск, выбрать Все программы, затем Embarcadero RAD Studio XE 3 , в появившемся меню выбрать элемент RAD Studio XE 3 . Появится главное окно программы.

Для создания нового проекта (программы) в Delphi нужно в этом окне щелкнуть мышью по элементу главного меню File , в выпадающем списке выбрать New и в появившемся субменю выбрать элемент VCL Forms Application — Delphi . Будет создана пустая форма.



В центре располагается форма, в левом нижнем углу — Инспектор объектов ( Object Inspector ), в правом нижнем углу — Панель инструментов ( Tool Palette ).

Инспектор объектов позволяет изменять характеристики выбранного на форме компонента. Он содержит две вкладки — Properties (свойства) и Events (события).

Во вкладке Properties содержится список свойств текущего компонента формы или самой формы. Во вкладке Events присутствует список событий, допустимых для данного компонента.

Панель инструментов содержит большое количество компонентов, как визуальных, так и невизуальных, которые позволяют очень удобно создавать программы любой сложности и с хорошим интерфейсом. Насколько разумной будет функциональность программы и сколь хороший интерфейс — это уж зависит от разработчика.


или нажать клавиши Shift + Ctrl + F 9 .

Через несколько секунд после трансляции появится пустая форма. Ее можно перемещать по экрану обычным образом, изменять размеры, максимизировать, сворачивать.

Сейчас давайте установим некоторые свойства формы, создадим классическую программу, которую вначале создают практически все специалисты, обучающие программистов началам использования языков программирования и средств быстрой разработки программ. Я имею в виду программу Hello world , иными словами — здравствуй мир.

Далее сделайте так, чтобы форма при запуске на выполнение располагалась в центре экрана. Для этого в Инспекторе объектов для свойства Position из выпадающего списка справа выберите значение poScreenCenter .

Pax Beach

Столкнулся с проблемой взаимодействия своего приложения Android с сервером MySQL в локальной сети.

Задача простая: скачать на планшет таблицу с данными с сервера MYSQL в локальной сети, выполнить на планшете действия с данными, выгрузить обратно на MySQL уже в другую таблицу результат действий.

Начал разбираться, пересмотрел и перечитал множество примеров других разработчиков. Оказалось, что в RAD Studio 10 Seattle нет компонентов, способных заставить работать Android устройство напрямую с сервером MySQL.

Конечно есть FireDAC, dbExpress.

По факту, хоть разработчики dbExpress и заявляют, что компонент TSQLConnection работает с Android platform, но при попытке открыть соединение с MySQL сервером на Android устройстве сообщает об ошибке. На Windows компонент отрабатывает соединение нормально.

post-1437-0-08690500-1451243114.jpg

Разработчики FireDAC честно заявили, что их соединение с MySQL на Android работать не будет.

post-1437-0-59239200-1451243114.jpg

Какие есть выходы:

1. Создать DataSnap сервер, который будет установлен на сервере и взаимодействовать с Android клиентом и сервером MySQL. DataSnap будет являться прослойкой между Android и MySQL, через него можно осуществлять обмен данными, обернутыми в JSON.

Для меня этот вариант не подходит, потому что по различным причинам устанавливать на сервер (или даже рабочую станцию) дополнительный сервер приложений не представляется возможным.

2. Использовать дополнительные компоненты, позволяющие работать с MySQL из-под Android и iOS.

Поиск нужных компонентов для RAD Studio показал, что все они платные. И уж если бесплатных не найти, покупать нужно хороший продукт, которые поддерживает как минимум MySQL, SQLite, SQLServer.

post-1437-0-10460300-1451243115.jpg

post-1437-0-09485400-1451243424_thumb.pn

post-1437-0-57794800-1451243112.jpg

Реализация кода:

Как видно на рисунке, тестировалась работа компонентов dbExpress, MyDAC, UniDAC.

post-1437-0-08856900-1451243113_thumb.pn

Двойной щелчок на компоненте соединения, открываются свойства соединения, прописываем для компонентов необходимые параметры и запускаем.

post-1437-0-61938100-1451243111_thumb.pn

Я прилагаю пример приложения, который вы самостоятельно сможете запустить на своей RAD Studio.

В результате, как и ожидалось, компоненты dbExpress не смогли соединиться с базой данных и вывалился с ошибкой “TDBXError: Unable to find procedure DBXLoader_GetDriver”. Которую было не просто отловить из-за отсутствия в компоненте обработчика Connection Timeout.

post-1437-0-07702600-1451243111_thumb.jp

Компоненты MyDAC и UniDAC мгновенно соединялись с MySQL и считывали записи.

Моя задача решена, переписываю решение в рабочий проект. Надеюсь и вам будет полезен этот пример.

Читайте также: