Как на delphi написать программу

Delphi

Наши проекты

Как на delphi написать программу. rss. Как на delphi написать программу фото. Как на delphi написать программу-rss. картинка Как на delphi написать программу. картинка rss

Первая программа конечно будет очень простой! Для начала выложим на форму простую кнопку. Для этого в панели инструмментов ищем на вкладке Standard компонент Button Как на delphi написать программу. btn. Как на delphi написать программу фото. Как на delphi написать программу-btn. картинка Как на delphi написать программу. картинка btnи щелкаем по нему левой кнопкой мыши. Далее щелкаем той же кнопкой в нужном месте на форме.

Итак, компонент разместили. Теперь рассмотрим его основные свойства. Если кнопка не выделена, то ее необходимо выделить чтобы инспекторе объектов отображались именно ее свойства.

Свойство Cancel, если его установить в true, определяет, что нажатие пользователем клавиши Esc будет эквивалентно нажатию на данную кнопку. Это свойство целесообразно задавать равным true для кнопок Отменить в различных диалоговых окнах, чтобы можно было выйти из диалога, нажав на эту кнопку или нажав клавишу Esc.

Свойство Default, если его установить в true, определяет, что нажатие пользователем клавиши ввода Enter будет эквивалентно нажатию на данную кнопку, даже если данная кнопка в этот момент не находится в фокусе. Правда, если в момент нажатия Enter в фокусе находится другая кнопка, то все-таки сработает именно кнопка в фокусе.

Вот и все основные свойства. Теперь рассмотрим события. Для этого перейдем на вкладку Events.

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

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

То же самое можно было бы сделать, перейдя на вкладку Events и щелкнув два раза по пустому полю справа от onClick.

Пишем между Begin и End следующую строку:

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

Ну теперь можно попробовать запустить нашу программу, для этого жмем кнопку F9 или на кнопку Как на delphi написать программу. Run. Как на delphi написать программу фото. Как на delphi написать программу-Run. картинка Как на delphi написать программу. картинка Runрядом с панелью инструментов.

Если Вы все сделали правильно то программа должна запуститься. А при нажатии на кнопку «Выход» программа закрывается.

Теперь нужно сохранить результаты, для этого нажимаем кнопку Save All Как на delphi написать программу. Save. Как на delphi написать программу фото. Как на delphi написать программу-Save. картинка Как на delphi написать программу. картинка Save. Желательно сохранять каждый проект в отдельную папку, т.к. проект содержит много файлов. В появившемся окне вводим имя модуля (я не буду менять имя) и жмем кнопку сохранить. Следом появляется еще одно окно, т.к. нажата была кнопка сохранить все. Снова жмем кнопку сохранить. Только что сохраненный файл нужно будет запускать для загрузки нашего проекта, чтобы продолжить работу. А файл который был сохранен первым и есть тот модуль где содержится исходный код нашей программы.

Терерь вернемся в Delphi и перейдем в окно редактора кода. Там написанно следующее:

Разберемся с основными блоками кода:

unit Unit1 — указание названия модуля;
interface — секция интерфейса. В ней объявляются процедуры и функции, описываются типы, классы и глобальные переменные;
uses — секция модулей, в ней указываются те модули которые используются в программе;
var — зарезервированное слово, означающее что за ним будут идти объявления переменных. В данном месте кода это глобальные переменные;
implementation — секция определяет процедуры и функции, которые объявлены в секции интерфейса;
end. — указание окончания программы. Любой текст находящийся после этого слова не читается. End обязательно должен быть с точкой;

Пишем программу дальше

Теперь после нажатия на вторую кнопку первая сместится вправо на 10 пикселей. Жмем F9 и проверяем.

Почему мы написали именно так? Многие просто не понимают почему в событиях связанных с Button2 изменяет свое положение кнопка Button1. Постараюсь объяснить доступно. Чтобы обратиться к свойствам любого компонента нужно написать имя этого компонента — в данном случае это Button1. Далее через символ «.» осуществляется доступ к его свойствам и методам. Для удобства работы в Delphi после ввода точки было сделанно появление меню в котором отображаются все доступные свойства и методы объекта.

Как на delphi написать программу. menu. Как на delphi написать программу фото. Как на delphi написать программу-menu. картинка Как на delphi написать программу. картинка menu

Рис 1. Меню выбора свойств объекта

Через точку мы и написали свойство Left, т.е. координаты по горизонтали от левой границы родителя, в данном случае формы. Мы свойству Left присваиваем координату на 10 пикселей больше чем она сама. Свойство Left можно найти в инспекторе объектов.

Таким образом можно обратиться к любому свойству которое видно в инспекторе объектов (например поменять Caption кнопки, шинину, высоту, и т. д.)

Чтобы поменять размеры кнопки пишем следующий код:

Код можно написать там же где и изменение координат кнопки.

Как на delphi написать программу. comments. Как на delphi написать программу фото. Как на delphi написать программу-comments. картинка Как на delphi написать программу. картинка commentsОбсудить на форуме

Источник

Программирование на Delphi. Часть 1. Установка Delphi Community Edition (бесплатная версия)

Компания Embarcadero в 2018 году представила Delphi Community Edition — бесплатную версию легендарной среды разработки Delphi. Использовать её могут студенты, стартаперы, небольшие команды, некоммерческие организации. Условия использования: ​лицензия на использование продолжает действовать до тех пор, пока прибыль физического лица или компании от приложений Delphi не достигнет 5 000 долларов США, или штат команды разработчиков не превысит 5 человек.

С помощью Delphi Community Edition можно разрабатывать мультиплатформенные приложения на Windows, Android, iOS и macOS. В этой статье мы пошагово пройдём процесс установки среды и напишем тестовое приложение под Windows. Delphi всегда был инструментом для быстрого старта в разработке под Windows на языке Pascal, это мы сегодня и проверим.

Примерное время установки: около 40-60 минут.

1. Скачивание бесплатной версии Delphi

Для того, чтобы получить доступ к Delphi Community Edition, пройдите по этой ссылке https://www.embarcadero.com/ru/products/delphi/starter/free-download

Заполните форму, введенный пароль сохраните. В качестве компании я указал один из своих сайтов, телефон реальный, но мне никто пока что не звонил :). Главное: правильно укажите электронную почту.Как на delphi написать программу. img 2019 12 13 19 09 25. Как на delphi написать программу фото. Как на delphi написать программу-img 2019 12 13 19 09 25. картинка Как на delphi написать программу. картинка img 2019 12 13 19 09 25

На почту вам придёт письмо с ключом — его лучше сохранить. После отправки формы начнётся процесс загрузки. Если загрузка не начнётся, ссылка будет также в письме. Письмо вам необходимо — если оно не пришло, проверяйте спам. Если вообще не пришло, регистрируйтесь заново на другой ящик. Я регистрировался дважды на разные email — один на доменную почту, второй на Gmail. Оба раза всё было ок. Вот как выглядит письмо:

Как на delphi написать программу. img 2019 12 11 18 15 45. Как на delphi написать программу фото. Как на delphi написать программу-img 2019 12 11 18 15 45. картинка Как на delphi написать программу. картинка img 2019 12 11 18 15 45

2. Установка Delphi Community Edition

Как на delphi написать программу. img 2019 12 13 19 12 51. Как на delphi написать программу фото. Как на delphi написать программу-img 2019 12 13 19 12 51. картинка Как на delphi написать программу. картинка img 2019 12 13 19 12 51

Как на delphi написать программу. img 2019 12 13 19 15 20. Как на delphi написать программу фото. Как на delphi написать программу-img 2019 12 13 19 15 20. картинка Как на delphi написать программу. картинка img 2019 12 13 19 15 20

Как на delphi написать программу. img 2019 12 13 19 20 06. Как на delphi написать программу фото. Как на delphi написать программу-img 2019 12 13 19 20 06. картинка Как на delphi написать программу. картинка img 2019 12 13 19 20 06

Введите Serial number из письма в почте и нажмите Register.

Программа начнёт связываться с серверами Embarcadero и попытается зарегистрировать вашу копию. На одном компьютере у меня всё произошло мгновенно, на другом с третьей попытки. Судя по сообщениям, проблема была с серверами Embarcadero. Если всё получилось, переходите к следующему разделу статьи. Если нет, попробуйте сделать следующее. На скриншоте ниже кликните по ссылке «Trouble connection…»

Источник

Здравствуй уважаемый новичок! В этом уроке мы познакомимся с Delphi 7 и научимся компилировать программу.
Итак, если вы приняли решение изучать язык программирования Delphi, то сразу без предисловий перейдем к делу.
Программа Delphi 7 состоит из четырех основных окон:

Как на delphi написать программу. les1 1. Как на delphi написать программу фото. Как на delphi написать программу-les1 1. картинка Как на delphi написать программу. картинка les1 1
Главное окно (Рис 1).

Как на delphi написать программу. les1 2. Как на delphi написать программу фото. Как на delphi написать программу-les1 2. картинка Как на delphi написать программу. картинка les1 2
Инспектор объектов (Рис 2).
Как на delphi написать программу. les1 3. Как на delphi написать программу фото. Как на delphi написать программу-les1 3. картинка Как на delphi написать программу. картинка les1 3
Окно Form (Рис 3).

Как на delphi написать программу. les1 4. Как на delphi написать программу фото. Как на delphi написать программу-les1 4. картинка Как на delphi написать программу. картинка les1 4
Редактор кода (Рис 4).

Главное окно – окно управления проектом и средой разработки. Здесь же находятся вкладки с компонентами (Рис 1).
Инспектор объектов – окно, в котором задаются свойства различным компонентам (Рис 2).
Окно Form – визуальное окно программы. (Рис 3)
Редактор кода – окно, в которое мы будем записывать код (Рис 4).

Давайте уже напишем нашу первую программу!
Нажмите на зеленый треугольник в главном окне. Как на delphi написать программу. les1 5. Как на delphi написать программу фото. Как на delphi написать программу-les1 5. картинка Как на delphi написать программу. картинка les1 5
После нажатия на зеленый треугольник, наша программа начнет компилироваться (создаваться), то есть компилятор проверит окно редактора кода на наличие ошибок, но так как мы в окно редактора кода еще ничего не писали, то ошибок возникнуть не должно. После компиляции, Delphi запустит нашу программу для тестирования.
Вот что мы увидим:

Как на delphi написать программу. les1 6. Как на delphi написать программу фото. Как на delphi написать программу-les1 6. картинка Как на delphi написать программу. картинка les1 6

Теперь закройте скомпилированную программу и мы продолжаем знакомство с Delphi. В главном окне можно увидеть палитру компонентов. На рисунке она обведена красным прямоугольником.

Как на delphi написать программу. les1 11. Как на delphi написать программу фото. Как на delphi написать программу-les1 11. картинка Как на delphi написать программу. картинка les1 11

Между компонентами можно переключаться, щелкая по вкладкам. Каждая вкладка имеет свои уникальные компоненты. Так же, если у вас не помещаются все вкладки в палитру компонентов, то появляются так называемые ушки, для перелистывания вкладок в ту или иную сторону. На вкладке Standard самым первым стоит значок курсора (к нему проведена зеленая линия), это не компонент. Он нужен для отмены выбора компонента. Вот например, вы выбрали какой-то компонент и для того, чтобы отменить свой выбор, нужно просто щелкнуть по этому значку курсора. Существуют не только стандартные компоненты Delphi, но и создаваемые любителями. О том как устанавливать компоненты мы поговорим в следующих уроках.

А теперь добавим на форму компонент под названием Button (кнопка). Он находится в на вкладке Standard. Нажмите на него, а потом нажмите где-нибудь на форме.
Получится вот так:

Как на delphi написать программу. les1 7. Как на delphi написать программу фото. Как на delphi написать программу-les1 7. картинка Как на delphi написать программу. картинка les1 7

Готово! Кнопка на форме! Перейдем в инспектор объектов.
На вкладке Properties отображены все свойства компонента, в данном случае свойства нашей кнопки.
На вкладке Events отображены все события компонента, в данном случае опять же свойства нашей кнопки.
Изменим свойство Caption (заголовок). Вместо Button1 напишем Выход:

Как на delphi написать программу. les1 8. Как на delphi написать программу фото. Как на delphi написать программу-les1 8. картинка Как на delphi написать программу. картинка les1 8

Вы можете поэкспериментировать с другими свойствами, изменяя их значения. Например попробуйте изменить свойства Width и height (ширина и высота), left и top (расстояние слева и сверху внутри формы), Cursor (выберите любой курсор из списка и после компиляции при наведении на кнопку будет отображаться выбранный вами курсор).

Маленько отвлеклись от курса. Продолжаем. На форме изменилось название кнопки. Теперь перейдем на вкладку Events и кликнем 2 раза напротив надписи OnClick:

Как на delphi написать программу. les1 9. Как на delphi написать программу фото. Как на delphi написать программу-les1 9. картинка Как на delphi написать программу. картинка les1 9

Если все сделано правильно, то автоматически станет активным окно редактора кода, в него мы и будем вписывать действие, которое случится при клике на кнопку.

Как на delphi написать программу. les1 10. Как на delphi написать программу фото. Как на delphi написать программу-les1 10. картинка Как на delphi написать программу. картинка les1 10

Кликая 2 раза по событию OnClick, мы вставили процедуру, такую некую заготовку. Думаю, по названию кнопки вы догадались, что при нажатии на нее программа закроется. Нам надо осуществить это действие. Пишем команду close между ключевыми словами begin и end. Все команды в Delphi заканчиваются точкой с запятой, по этому между ключевыми словами должен быть код close; Вообще в Delphi, все команды пишутся между ключевыми словами begin и end, то есть начинаем и заканчиваем.

После всех манипуляций получилось вот такое чудо: Компилируем нашу программу, нажимая на зеленый треугольник или на клавишу F9. Кстати, для того, чтобы просто скомпилировать программу и проверить код на ошибки, не запуская программу потом для тестирования, нужно нажать Ctrl + F9.

По умолчанию программа компилируется в папке C:\Program Files\Borland\Delphi7\Projects. Давайте сохраним проект в другую папку. Нажимаем в меню главного окна File->Save Project As… и выбираем папку для сохранения. Сейчас в папке находится только проект, для того чтобы там появился exe-файл, нужно еще раз скомпилировать программу.

Теперь давайте закроем наш проект, а потом снова откроем. Нажимаем в главном окне File->Close All, если вы не сохранили проект или после сохранения где-то его изменили, то у вас вылезет окно с запросом на сохранение проекта, нажмите на кнопку Save и сохраните проект.

Как на delphi написать программу. les1 12. Как на delphi написать программу фото. Как на delphi написать программу-les1 12. картинка Как на delphi написать программу. картинка les1 12

Далее в главном окне нажимаем File->Open Project. и открываем проект. У меня проект называется Project1.dpr, если вы при сохранении изменяли название, то соответственно открывайте то, что сохранили 🙂
Что бы создать новый проект, нажмите File->New->Application.

Ну вот и всё! Удачи!
Встретимся в следующем уроке!

Источник

Как работать в Delphi: конкретные уроки

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

Как на delphi написать программу. Delphi. Как на delphi написать программу фото. Как на delphi написать программу-Delphi. картинка Как на delphi написать программу. картинка Delphi

Видео на тему: #1 Программирование в Delphi. «Hello World» на Delphi

Теперь посмотрите, как легко получается программа в Delphi:

Как на delphi написать программу. . Как на delphi написать программу фото. Как на delphi написать программу-. картинка Как на delphi написать программу. картинка

Отсюда её можно скопировать и использовать так, как нам нужно. Я, например, для начала ставлю ярлык на рабочий стол, чтобы при тестировании проверять её без использования Delphi.

Мы получили программу, состоящую из одного пустого окна. Тем не менее наша программа имеет все атрибуты, присущие всем программам в Windows: заголовок, системное меню (кликните по левому краю заголовка!), кнопки свернуть, развернуть, закрыть, может менять свои размеры.

Закройте программу-Форму. Рассмотрим полезные для нас свойства Формы:

нормальном, минимизированном или максимизированном состоянии. За это отвечает.

Их наличием или отсутствием управляет

Как на delphi написать программу. yes. Как на delphi написать программу фото. Как на delphi написать программу-yes. картинка Как на delphi написать программу. картинка yes

Проект в целом сохраняется в файле с именем Project1. Форма функционирует вместе с программой, описывающей её работу, так называемым модулем. Если модулей в проекте несколько, для каждого из них Delphi создаст отдельный файл, и предложит его сохранить под именем Unit1, Unit2 и так далее.

В пустой форме смысла нет. Наполнить её содержанием помогут компоненты Delphi. Они располагаются на соответствующих вкладках палитры компонентов на главном окне. Все основные компоненты Delphi находятся на первых четырёх вкладках:

Как на delphi написать программу. Standart. Как на delphi написать программу фото. Как на delphi написать программу-Standart. картинка Как на delphi написать программу. картинка Standart

Их названия всплывают в виде подсказок при наведении мышки на пиктограммы. Чтобы перенести компонент на форму, нужно щёлкнуть его мышкой (при этом выбранный компонент выделяется), и затем щёлкнуть в том месте формы, где его предполагается разместить.

В дальнейшем компоненты можно свободно перетаскивать по форме мышкой, «конструируя» нужный интерфейс. Если, щёлкнув по компоненту, вы захотите отказаться от его переноса на форму, щёлкните по стрелке, расположенной слева на вкладке. Выделение компонента снимется.

Эти свойства получают значения в тот момент, когда компоненты попадают на форму. Примерно разместив на форме компоненты с помощью мышки, в Инспекторе объектов устанавливаем их точные размеры и координаты. В дальнейшем мы увидим, что их можно устанавливать и программно!
За визуальное представление отвечают для компонентов:

Вот что у нас получилось:

Кому лень, просто скопируйте отсюда и вставляйте между begin и end. Ну всё, сохраняем и жмём F9.

Урок Delphi 3. События Delphi

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

Удобство Delphi состоит в том, что мы избавлены от необходимости получать сообщения от Windows сами, Delphi это делает за нас. Каждый компонент имеет впечатляющий набор событий, на которые он может реагировать. Программист сам определяет, какие события в программе требуется обрабатывать.

Как на delphi написать программу. Events. Как на delphi написать программу фото. Как на delphi написать программу-Events. картинка Как на delphi написать программу. картинка Events

Откройте наш проект из предыдущего урока. Щелкните на компоненте Edit1. Он «появится» в Инспекторе объектов. Посмотрите: в Инспекторе объектов две вкладки: Properties (свойства) и Events (события). Перейдите на вкладку Events.

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

Есть другой способ, воспользоваться специально предназначенным для этого методом компонента Edit, который так и называется Clear (очистка англ.):

Но подумайте о пользователе, который будет работать с вашей программой. Ему должно быть удобно. Если при вводе текста он захочет что-то исправить, и щёлкнет мышкой в том месте текста, где нужно внести изменение?! И всё сотрётся! Поэтому лучше использовать событие onEnter, которое происходит, когда вы «входите» в него и компонент получает фокус ввода, или использовать для очистки специальную кнопку и её событие onClick.
Конечно, у каждого компонента свой набор событий. Мы познакомились с тремя из них:

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

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

Если вы захотите сделать невидимую программу, можно приравнять нулю ширину Width и высоту Height Формы. На этапе проектирования сделать этого нельзя, т.к. это помешает работе, поэтому делаем это по событию onCreate:

Form1.Width := 0;
Form1.Height := 0;

Дополнительно нужно убрать и заголовок Формы, выбрав в Инспекторе Объектов параметр BorderStyle равным None. Теперь Форма на экране не появится. Единственным визуальным признаком останется появление её «значка» на панели задач. В дальнейшем я расскажу, как избавиться и от него.

Урок Delphi 4. Переменные, константы и их типы

Данные в компьютере можно рассматривать как ячейки памяти, имеющие свои имена (идентификаторы). Все данные в программе на языке Delphi должны быть описаны до их первого использования. И компилятор следит, чтобы в программе они использовались в соответствии с этим описанием, что позволяет избежать ошибок.

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

Именно здесь, начиная со следующей строки, удобно объявлять глобальные переменные и константы. Как видим, одна (Form1) уже есть!

Команда объявления переменных в языке Delphi:

var имя_переменной : тип_переменной ;

Если несколько описаний следуют друг за другом, то ключевое слово var повторно можно не указывать:

Описание констант аналогично описанию переменных, но используется ключевое слово const, за именем идентификатора следует тип, затем знак равенства и его значение. Причём тип константы допускается не указывать:

const pi= 3.1415 ;
ZnakPi : String = ‘Это значение числа пи’ ;

К слову, константа Pi встроенная в Delphi, то есть для того чтобы использовать в Delphi число 3,1415. в расчётах, нужно просто присвоить встроенную константу Pi переменной типа Real или просто использовать непосредственно в выражениях.

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

Строкой называется последовательность символов, заключённая в одиночные кавычки:

‘это текстовая строка’

Если текст должен содержать сам символ кавычки, то его надо повторить дважды:

Если нужно ограничить размер строки фиксированным значением, то после ключевого слова String в квадратных скобках указывается число, определяющее количество символов в строке: String[50]. Более полно работа со строками Delphi описывается далее.
Одиночный символ имеет тип Char и записывается в виде знака в одиночных кавычках: ‘a’.

Есть символы, которые на экране отобразить невозможно, например, символ конца строки (равен #13), символ переноса строки (равен #10). Такие символы записываются в виде их числового кода (в кодировке ANSI), перед которым стоит знак #. Например, #0.
Наконец, существуют так называемые нуль-терминированные строки. Отсчёт символов в таких строках начинается с нуля, а заканчивается символом с кодом 0 (#0). Такие строки имеют тип PChar.

Числа бывают целые и дробные.
В следующей таблице перечислены стандартные типы целых чисел и соответствующие им дипазоны допустимых значений.

Наиболее удобным для использования в программах является тип Delphi Integer. Другие целые типы используются для уменьшения места, занимаемого данными в памяти компьютера.

Наиболее удобным для использования в программах является тип Delphi Real. Ему эквивалентен тип Double, но в будущем это может быть изменено. Вычисления с дробными числами выполняются приближённо, за исключением типа Currency (финансовый), который предназначен для минимизации ошибок округления в бухгалтерских расчётах.

Следующим типом данных является логический Boolean, состоящий всего из двух значений: True (Истина) и False (Ложь). При этом True > False.
Теперь, используя компоненты, их свойства и события, вводя собственные переменные, можно конструировать программы, содержащие вычисления. Осталось узнать, как вычисленное значение вывести на экран.
Про консольные программы я здесь не говорю! А в нормальных оконных Windows-приложениях это значение нужно поместить в какой-нибудь компонент, имеющий свойства Text или Caption.

Это, например, такие компоненты как Label и Edit, да и сама Форма имеет свойство Caption, куда тоже можно выводить информацию. Однако, в Delphi информацию перед выводом, как правило, необходимо преобразовывать. Так как присвоение возможно только между переменными одного типа, то такая программа (не пытайтесь её исполнять):

var A, B, C: Integer ;
begin
A := 5 ;
B := 10 ;
C := A+B ;
Label1.Caption := C ;
end ;

Такая программа, кроме показа числа 15, ни на что не способна. Мы должны научиться вводить в программу другие числа. Используем компоненты Edit. Введённые числа будут содержаться в свойстве Text этих компонентов. Расположим на форме два компонента Edit, один компонент Label и кнопку Button, по нажатию на которую и будем проводить вычисления.

В компоненты Edit1 и Edit2 будем вводить числа для суммирования. Чтобы переместиться в редактор кода, щёлкнем дважды по нашей кнопке Button1. Мы попадём прямо в сформированную для нас средой Delphi заготовку обработчика нажатия на кнопку, непосредственно между операторами begin и end. Напишем такой простой код:

procedure TForm1.Button1Click(Sender: TObject);
var A, B, C: Integer; //Не забудьте описание переменных
begin
//Начало кода:
A := Edit1.Text;
B := Edit2.Text;
C := A+B;
Label1.Caption := IntToStr(C);
//Конец кода
end ;

A := StrToInt(Edit1.Text);
B := StrToInt(Edit2.Text);

В данном случае переменные A, B, C использовались для наглядности. Можно обойтись одной строчкой:

Урок Delphi 5. Собственные и структурные типы данных

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

Чтобы ввести в программу (описать) новый тип данных, применяется оператор с ключевым словом type:
type название_типа = описание_типа;

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

type FootballTeam = (Spartak, Dinamo, CSKA, Torpedo, Lokomotiv);
var MyTeam: FootballTeam;
begin
MyTeam:=Spartak;
end;

Вообще, под перечислимыми типами понимают все типы, для которых можно определить последовательность значений и их старшинство. К ним относятся:

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

type имя_типа_массива = array [диапазон] of тип_элемента;

Диапазон определяет нижнюю и верхнюю границы массива и, следовательно, количество элементов в нём. При обращении к массиву индекс должен лежать в пределах этого диапазона. Массив из ста элементов целого типа описывается так:

Теперь можно описать переменные типа TMyArray:

Вместо присвоения типа можно явно описать переменные как массивы:

var A, B : array [1..100] of Integer;

Для доступа к элементу массива нужно указать имя массива и индекс элемента в квадратных скобках. В качестве индекса может выступать число, идентификатор или выражение, значение которых должно укладываться в диапазон, заданный при описании массива:

Иногда требуется узнать верхнюю или нижнюю границу массива. Для этого служат встроенные функции:

В скобки нужно подставить массив, границы которого требуется узнать.

Выражение B := A означает, что каждый элемент массива B будет равен элементу с таким же индексом массива A. Такое присвоение возможно только если оба массива объявлены через некий поименованный тип, или перечислены в одном списке. И в случае:

его использовать невозможно (но возможно поэлементное присвоение B[1] := A[2]; и т.д.).

Массивы могут иметь несколько измерений, перечисляемых через запятую. Например, таблицу из четырёх столбцов и трёх строк:

1234
5678
9101112

можно описать в виде массива с двумя измерениями:

type MyTable = array[1..4, 1..3] of Integer;
var X : MyTable;
Y : Integer;
begin
Y:=X[3, 2];
end;

Теперь в результате операции присвоения Y будет равен 7.
Многомерный, например, двумерный массив можно описать как массив массивов:

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

Это позволяет экономить ресурсы компьютера, хотя работа с такими массивами происходит гораздо медленнее. Описываются динамические массивы аналогично статическим, но без указания диапазона индексов:

type TDinArray = array of Integer;
var A : TDinArray;

После создания в динамическом массиве нет ни одного элемента. Необходимый размер задаётся в программе специальной процедурой SetLength. Массив из ста элементов:

Нижняя граница динамического массива всегда равна нулю. Поэтому индекс массива A может изменяться от 0 до 99.
Многомерные динамические массивы описываются именно как массивы массивов. Например, двумерный:

type T3DinArray = array of array of Integer;
var A : T3DinArray;

В программе сначала задаётся размер по первому измерению (количество столбцов):

Затем задаётся размер второго измерения для каждого из трёх столбцов, например:

SetLength(A[0], 3);
SetLength(A[1], 2);
SetLength(A[2], 1);

Таким образом создаётся треугольная матрица:A00 A10 A20
A01 A12
A02

Чтобы освободить память, выделенную динамическому массиву, нужно массиву как целому присвоить значение nil:
A:=nil;
Ключевое слово nil в Delphi означает отсутствие значения.

type TPers = record
Fam, Name, Par : String;
Year : Integer;
Dep : String;
end;
var Pers : TPers;
begin
Pers.Fam:=’Иванов’;
Pers.Name:=’Иван’;
Pers.Par:=’Иванович’;
Pers.Year:=1966;
Pers.Dep:=’Цех №1′;
end;

type TPers = record
Fam, Name, Par : String[20];
Year : Integer;
Dep : String[10];
end;

Теперь переменная такого типа занимает строго определённое место в памяти, и может быть записана в файл. Как это сделать, рассказывается во 2-й части Урока №7.

type имя_множества = set of диапазон_значений_множества ;

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

Конкретные значения множества задаются в программе с помощью перечисления элементов, заключённых в квадратные скобки. Допускается использовать и диапазоны:

Чтобы проверить, является ли некое значение элементом множества, применяется оператор in в сочетании с условным оператором:

Урок Delphi 6. Выражения и операторы Delphi

Выражения Delphi

В программах Delphi применяются

Математические выражения

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

У операций умножения и деления более высокий приоритет, чем у операций сложения и вычитания.
То есть, результат выражения

Если же мы хотим получить именно последовательное выполнение, то необходимо применять скобки (), обособляющие те операции, которые необходимо выполнить первыми. Скобки могут быть вложены друг в друга неограниченное число раз:

Вот теперь X будет равен 1.

Помимо четырёх математических действий в Delphi доступно множество математических функций, таких, например, как тригонометрические, логарифмические, и так далее. Они становятся доступны в программе после добавления в секцию Interface uses модуля Math.

Их описание также можно найти в модуле Math.pas (можно найти воспользовавшись поиском Windows). Многие из них можно реализовать и самому, но встроенные функции наверняка будут работать быстрее и лучше, так далее. написаны на языке ассемблера.

Логические выражения

Операторы Delphi

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

С оператором присваивания «:=» мы уже знакомились в уроке Delphi 2. Он работает следующим образом. Переменная, стоящая в левой части оператора, становится равной той величине, которая находится справа. Типы этих величин должны совпадать. В выражении, стоящем справа, также может использоваться переменная, стоящая слева.

С математической точки зрения это неправильно, но в программировании это означает, что из ячейки памяти берётся исходное значение, производятся вычисления, и результат записывается в эту же ячейку памяти, затирая прежнее значение. Пример:

Условный оператор позволяет изменить порядок выполнения операторов в зависимости от выполнения некоторого условия. Вот как он записывается:

if условие then действие else альтернатива ;

Из этого примера видно, что оператор end ; завершающий программу, никогда не будет выполнен, то есть программа зациклится. Именно поэтому, вообще, использование оператора перехода является плохим стилем программирования, и без его использования вполне можно обойтись использованием условных операторов и операторов цикла.

Урок Delphi 7. Работа с файлами в Delphi

Для «лирического» вступления нужно упомянуть компоненты Delphi, которые умеют работать с файлами. Они читают и сохраняют своё содержимое, строки типа String, в файл текстового формата. Это компоненты ListBox, ComboBox и Memo, расположенные на первой же вкладке палитры компонентов.

Как на delphi написать программу. ListCombo. Как на delphi написать программу фото. Как на delphi написать программу-ListCombo. картинка Как на delphi написать программу. картинка ListCombo

begin
Memo1.Lines.Add(‘Первая строка’);
ComboBox1.Items.Add(‘Первая строка’);
ComboBox1.Items.Add(‘Вторая строка’);
ListBox1.Items.Add(‘Первая строка’);
ListBox1.Items.Add(‘Вторая строка’);
end ;

Метод Add добавляет новую строку в конец. Метод Insert имеет дополнительный параметр, указывающий, после какой строки разместить новую строку. Доступ к строкам осуществляется так:

ComboBox1.Items[0] := ‘Первая строка изменилась‘ ;
ListBox1.Items[1] := ‘Вторая строка изменилась‘ ;

У компонента ComboBox дополнительно есть свойство Text, где (как и у компонента Edit) находится вводимый текст:

ComboBox1.Text := ‘ Вводимый текст ‘;

На выделенную в данный момент строку компонента ComboBox указывает свойство ItemIndex типа Integer, то есть это номер выделенной строки. Следовательно, получить саму выделенную строку компонента ComboBox можно следующей конструкцией:

или, пользуясь оператором присоединения

With ComboBox1 do
S:=Items[ItemIndex];

После очередного удаления количество строк меняется, таким образом, Items.Count-1 всегда указывает на последнюю строку. Последовательно нажимая Escape, мы можем удалить все строки. Командой
ComboBox1.Items.Delete(0);
можно добиться того же эффекта, только удаляться будут первые строки. Впрочем, чтобы стереть всё сразу, есть метод Clear!

Ну а теперь собственно о сохранении содержимого в файл. Для этого выполните команду

Впрочем, расширение можно поставить любое по желанию, не обязательно .txt, как и вообще без него обойтись. Но расширение .txt позволит легко открыть файл стандартным виндовским Блокнотом, что бывает очень удобно на этапе написания программы!
Для загрузки служит метод LoadFromFile:

Что делать, если в своей программе мы не работаем с компонентами Combobox, ListBox или Memo, а сохранять информацию нужно? Берём один из компонентов и делаем его невидимым, для этого в Инспекторе Объектов ставим в свойство Visible значение False. Функциональность его от этого не изменится!

begin
ListBox1.Items.Clear;
ListBox1.Items.Add(IntToStr(Form1.Left));
ListBox1.Items.Add(IntToStr(Form1.Top));
ListBox1.Items.SaveToFile(‘MyFormPos.txt’);
end ;

Этот обработчик сохраняет положение Формы на экране. Теперь напишем обработчик, помещающий Форму на прежнее место при старте программы. Создайте заготовку обработчика события OnCreate. Это событие происходит в момент «создания» Формы операционной системой. В этот момент и нужно присваивать ей необходимые свойства. Пишите:

begin
if FileExists(‘MyFormPos.txt’) then
begin
ListBox1.Items.LoadFromFile(‘MyFormPos.txt’);
Form1.Left:=StrToInt(ListBox1.Items[0]);
Form1.Top:=StrToInt(ListBox1.Items[1]);
end ;
end ;

В первой строке происходит проверка на существование файла, ведь если его не будет, произойдёт ошибка. Впрочем, программа после выдачи предупреждения откроется в том месте, где была на этапе проектирования, а при закрытии нужный файл будет воссоздан!
Затем в логических скобках begin / end содержится сам код, который будет выполнен только при наличии файла MyFormPos.txt в папке с программой, так как используется относительный путь. Можно указать конкретное местоположение, например, C:\Program Files\MyProg\MyFormPos.txt.

Урок Delphi 8. Работа с дополнительными формами Delphi

Редкая программа обходится одной формой. Мы можем с лёгкостью создавать дополнительные формы Delphi, предоставляющие возможность, например, вести диалог с пользователем, принимать и выводить любую необходимую информацию. В этом уроке научимся создавать несколько форм Delphi дополнительно к основной.

Как на delphi написать программу. NewForm. Как на delphi написать программу фото. Как на delphi написать программу-NewForm. картинка Как на delphi написать программу. картинка NewForm

Как на delphi написать программу. Remove1. Как на delphi написать программу фото. Как на delphi написать программу-Remove1. картинка Как на delphi написать программу. картинка Remove1

Как на delphi написать программу. Remove2. Как на delphi написать программу фото. Как на delphi написать программу-Remove2. картинка Как на delphi написать программу. картинка Remove2

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

Если же мы перевели дополнительные Формы в разряд доступных, то перед каждым вызовом такой Формы необходимо делать проверку на существование Формы (оператором Assigned) таким образом:

if (not Assigned(Form2)) then // проверка существования Формы (если нет, то
Form2:=TForm2.Create(Self); // создание Формы)
Form2.Show; // (или Form2.ShowModal) показ Формы

Теперь разберёмся в разнице между обычными и модальными Формами. Обычные Формы позволяют свободно переходить между всеми Формами, находящимися в данный момент на экране. Модальная Форма в момент вызова блокирует переход между Формами проекта до тех пор, пока не будет закрыта, и работа возможна только в ней.

При попытке компилирования программы, содержащей вызов второй формы, Delphi выдаст такой запрос:

Как на delphi написать программу. CreateForm2. Как на delphi написать программу фото. Как на delphi написать программу-CreateForm2. картинка Как на delphi написать программу. картинка CreateForm2

Форма Form1 содержит вызов формы Form2, которая объявлена в модуле Unit2, но который отсутствует в списке используемых модулей. Вы хотите добавить его?

Нужно разрешить, и в начале модуля перед директивой
<$R *.dfm>
будет добавлена фраза
uses Unit2;
В принципе, можно добавить её туда перед компиляцией «ручками», и тогда запроса не будет. Но смысл? Отвечаем «Yes» и снова жмём F9.

Первым делом введём в форму операцию её закрытия! Сделать это можно несколькими способами. Возьмём кнопку, напишем «Закрыть» и в обработчике OnClick напишем:

Form2.Close; // В принципе, достаточно просто Close;

Этот же оператор работает при вызове его из меню формы, если меню, конечно, туда ввести (компонент MainMenu на вкладке Standard), о чём в дальнейшем обязательно поговорим!

Теперь же необходимо рассмотреть способ закрытия Формы, который относится именно к модальным формам. Он используется диалоговыми окнами с вопросом, требующим подтверждения, и в других аналогичных случаях. На Форме нужно расположить несколько кнопок, нажатие которых предполагает соответствующий ответ: «Да», «Нет», «Отмена», и т.д.
У каждой кнопки есть свойство ModalResult, среди значений которой mrYes, mrNo, mrCansel и другие (посмотрите!). Значение ModalResult выбранной кнопки передаётся свойству ModalResult Формы. Это свойство отсутствует в списке свойств Формы, которые можно увидеть в Инспекторе Объектов, но программно оно доступно (напишите » Form2 «, поставьте точку и поищите в появившемся списке!).
Нажатие кнопки со значением свойства ModalResult, отличного от mrNone, приводит к закрытию Формы, даже если у кнопки отсутствует обработчик нажатия! Затем можно проанализировать свойство ModalResult Формы и выяснить, какой же ответ на поставленный вопрос дал пользователь:

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.ShowModal;
if Form2.ModalResult=mrYes then // Этот оператор будет доступен только после закрытия Form2
Form1.Caption:=’Пользователь ответил положительно!’;
end;

Как видно из этого примера, для доступа из одной Формы как к свойствам другой Формы, так и к свойствам её компонентов необходимо указывать имя Формы, к которой мы обращаемся. Мы также имеем доступ к данным, использующимся в модуле, описывающим её работу.

В момент закрытия Формы часто в программе необходимо выполнить определённые операции. Делается это в обработчике события OnClose Формы. А теперь рассмотрим блокировку закрытия Формы.

Если вдруг понадобится заставить пользователя выполнить определённые действия перед закрытием Формы (это касается как дополнительных форм, так и основной Формы программы), нужно воспользоваться обработчиком события OnCloseQuery.

В этом обработчике определена переменная логического типа CanClose. Форма будет закрыта только в том случае, когда
CanClose:=True;
Например, если создать такой обработчик OnCloseQuery основной Формы программы:

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:=False;
end;

то пользователь просто не сможет закрыть программу иначе как через Диспетчер задач Windows!

Урок Delphi 9. Создаём и используем подпрограммы Delphi

Вообще, существует методика программирования «сверху вниз». Методика программирования «сверху вниз» разбивает задачу на несколько более простых, которые оформляются в виде подпрограмм. Те, в свою очередь, при необходимости также делятся до тех пор, пока стоящие перед программистом проблемы не достигнут приемлемого уровня сложности (то есть простоты!).

Таким образом, эта методика программирования облегчает написание программ за счёт создания так называемого скелета, состоящего из описателей подпрограмм, которые в дальнейшем наполняются конкретными алгоритмами. Пустое описание подпрограммы иначе называется «заглушкой».

И процедуры, и функции позволяют добиться одинаковых результатов. Но разница всё же есть.

В частности, процедура может поменять значения переменных, записать новые значения в ячейки компонентов, сделать запись в файл и так далее.

Описание подпрограммы состоит из ключевого слова procedure или function, за которым следует имя подпрограммы со списком параметров, заключённых в скобки. В случае функции далее ставится двоеточие и указывается тип возвращаемого значения.

function Имя_функции(параметры): тип_результата;
begin
Код функции;
Result:=результат;
end;

procedure Имя_процедуры(параметры);
begin
Код процедуры;
end;

Теперь пример. Напишем программу суммирования двух чисел. Она будет состоять из Формы, на которой будет кнопка (компонент Button), по нажатию на которую будет выполняться наша подпрограмма, и двух строк ввода (компоненты Edit), куда будем вводить операнды. Начнём с процедуры.

Как на delphi написать программу. Summa. Как на delphi написать программу фото. Как на delphi написать программу-Summa. картинка Как на delphi написать программу. картинка Summa

var
Form1: TForm1;
A, B, Summa: Integer;
procedure Sum(A, B: Integer);

procedure TForm1.Button1Click(Sender: TObject);
begin
A:=StrToInt(Edit1.Text);
B:=StrToInt(Edit2.Text);
Sum(A, B);
Caption:=IntToStr(Summa);
end;

Наша процедура находится после обработчика нажатия кнопки, где осуществляется её вызов. И программа работает именно потому, что заголовок процедуры вынесен в блок описания данных. Но всё же операция суммирования в данном случае производится как-то невнятно.
Теперь сделаем то же самое с помощью функции.

var
Form1: TForm1;
A, B, Summa: Integer;
function Sum(A, B: Integer): Integer;

procedure TForm1.Button1Click(Sender: TObject);
begin
A:=StrToInt(Edit1.Text);
B:=StrToInt(Edit2.Text);
Summa:=Sum(A, B); // На мой взгляд, сейчас более понятно, откуда что берётся
Caption:=IntToStr(Summa);
end;

function Sum(A, B: Integer): Integer;
begin
Result:=A+B;
end;

Есть особенности в использовании в качестве параметров больших по объёму структур данных, например, массивов, состоящих из нескольких тысяч (и больше) элементов. При передаче в подпрограмму данных большого объёма могут быть большие расходы ресурсов и времени системы.

Поэтому используется передача не самих значений элементов (передача «по значению», как в предыдущих примерах), а ссылки на имя переменной или константы (передача «по имени»). Достигается это вставкой перед теми параметрами, которые мы хотим передать по имени, ключевого слова var.

function Sum(A, B: Integer; var Arr: array[1..1000000] of Integer): Integer;

Если взглянуть на описание нашей подпрограммы и описание обработчика нажатия кнопки (это тоже подпрограмма!), который был создан Delphi, то видим, что перед именем обработчика (Button1Click) стоит TForm1. Как мы знаем, в Delphi точкой разделяется объект и его атрибуты (свойства и методы).

Таким образом, Delphi создаёт Button1Click как метод объекта Form1. Причём, буква T перед объектом говорит о том, что Button1Click не просто метод объекта, а метод класса объекта. Не будем этим пока заморачиваться, а просто будем поступать также.

Описав свою процедуру или функцию как метод класса TForm1, мы получаем возможность использовать в ней объекты класса без указания его имени, что гораздо удобнее. То есть, если мы используем в нашей подпрограмме какие-либо компоненты, размещённые на Форме (например, Button1), то мы пишем

Button1.Width:=100; //Ширина кнопки
а не
Form1.Button1.Width:=100;

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

Произойдёт переход к описанию подпрограммы (чтобы вернуться обратно, повторите это действие ещё раз). Ставьте описание своей подпрограммы рядом, с новой строки. Обратите внимание, что TForm1 уже не пишется.

Естественно, приходится следить за тем, чтобы в подпрограмме обязательно было условие, при выполнении которого дальнейшая рекурсия прекращается, иначе подпрограмма зациклится.

Пример. Вычисление факториала

Создавая программу вычисления факториала числа, мы можем применить и функции, и рекурсию. Можно скачать проект данной программы.

Урок Delphi 10. Исключительные ситуации в Delphi

Исключительные ситуации в Delphi встречаются постоянно. Исключительная ситуация это такая ситуация, в результате которой генерируется ошибка, и выполнение программы прерывается.

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

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

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

Вот как выглядит оператор контроля исключительных ситуаций:

try
основные операторы фрагмента;
except
альтернативный вариант фрагмента;
end;

Вначале производится попытка выполнить операторы секции try/except, содержащие основной вариант программы. При возникновении в каком-либо операторе этой секции исключительной ситуации остальные операторы секции пропускаются, и выполняется секция except/end. Если всё «проходит штатно», то секция except/end пропускается.

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

try
операторы
finally
заключительные действия
end;
Основные операторы, находящиеся в секции try, могут пройти штатно, или вызвать исключительную ситуацию. Операторы заключительных действий, находящиеся в секции finally, будут выполнены в любом случае.

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

Таким образом, в случае ошибки ввода или вывода программа не прерывается. В конце участка с операторами ввода-вывода ставится директива, включающая автоконтроль: . Затем анализируется результат вызова функции IOResult. Если функция IOResult (вызывается без параметров) возвращает 0, значит ошибок ввода-вывода на данном участке не было.

Вот какой пример использования директив и функции IOResult содержит справка системы Delphi:

var
F: file of Byte;
begin
if OpenDialog1.Execute then
begin
AssignFile(F, OpenDialog1.FileName);
<$I->
Reset(F);
<$I+>
if IOResult = 0 then
begin
MessageDlg(‘File size in bytes: ‘ + IntToStr(FileSize(F)), mtInformation, [mbOk], 0);
CloseFile(F);
end
else
MessageDlg(‘File access error’, mtWarning, [mbOk], 0);
end;
end;

Функция IOResult досталась Delphi в наследство от Turbo Pascal. Тот же самый фрагмент можно составить и с использованием оператора try. На мой взгляд, это удобнее и проще.

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

Урок Delphi 11. Обзор компонентов Delphi

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

Страница Standart

Изучение Delphi естественным образом начинается со страницы палитры компонентов Standart. На этой странице расположены стандартные для Windows интерфейсные элементы, такие как главное и всплывающее меню, кнопка, однострочный и многострочный редакторы, переключатели, метки, списки, и некоторые другие компоненты, применяющиеся наиболее часто.

Страница Additional

На страницу Additional помещены дополнительные компоненты, без некоторых из которых сегодня трудно представить программу для Windows: кнопки с дополнительными свойствами, таблицы, компоненты для размещения изображений.

Страница Win32

Эта страница содержит компоненты, представляющие собой интерфейсные элементы для 32-разрядных операционных систем Windows 95/98/NT (В версии системы Delphi 2 эта страница называлась Win95). Использующие эти компоненты программы выглядят в стилистике последних версий операционных систем Windows.

Страница System

Урок Delphi 12. Работа со строками Delphi

Работа со строками Delphi позволяет извлечь из строки необходимую информацию и представить её в нужном виде. Система предоставляет весь спектр необходимых функций для работы со строками Delphi и преобразования строк Delphi в необходимые форматы:

Непосредственно сами строки Delphi поддерживают единственную операцию, так называемую операцию конкатенации, то есть присоединения. Несмотря на «научное» название, операция конкатенации выполняет очень простую процедуру. С помощью операции конкатенации одна строка присоединяется к другой:

Результирующая строка S будет суммой двух слагаемых строк. Длина строки, то есть количество символов в строке, возвращается встроенной функцией

function Length(S: String): Integer;

Delphi работает со строками типа String, в котором длина строки записывается в начале строки, перед первым символом. Поэтому индекс первого символа в строке не 0, а 1. То есть, если:

S:=’Строка типа String’;

function PChar(S: String): PChar;

Для полноценной работы со строками Delphi используются следующие стандартные процедуры и функции:

Функции преобразования в числовой формат и обратно

Выполняя вычисления, используем для ввода данных и отображения результатов следующие функции, работающие со строками Delphi:

функция IntToStr(N: Integer): String
Преобразует целое число N в строку.
функция StrToInt(S: String): Integer
Преобразует строку S в целое число.
функция FloatToStr(X: Extended): String
Преобразует число с плавающей точкой X в строку.
функция StrToFloat(S: String): Extended
Преобразует строку S в число с плавающей точкой.

Процедуры и функции преобразования дат и времени

Сначала собственно функции, предоставляющие информацию о текущих дате и времени:

функция Now: TDateTime
Возвращает текущую дату и время.
функция Date: TDateTime
Возвращает текущую дату.
функция Time: TDateTime
Возвращает текущее время.

Далее, функции, работающие с составляющими даты и времени (год, месяц, число, день недели, часы, минуты, секунды и даже миллисекунды):

Наконец, собственно, функции, переводящие дату и время из формата TDateTime в строчный формат:

функция DateTimeToStr(DateTime: TDateTime): String
Преобразует дату и время DateTime в строку.
функция DateToStr(Date: TDateTime): String
Преобразует дату Date в строку.
функция TimeToStr(Time: TDateTime): String
Преобразует время Time в строку.

Следующие функции работают с параметрами возвращаемой строки. Функции с приставкой Ansi работают в том числе и с кириллическими символами. Если символы в строках предполагаются исключительно латинские, то можно использовать аналогичные функции, но без приставки Ansi:

функция AnsiLowerCase(const S: String): String
Возвращает строку S, преобразованную к нижнему регистру.
функция AnsiUpperCase(const S: String): String
Возвращает строку S, преобразованную к верхнему регистру.
функция Length(const S: String): Integer
Возвращает количество символов в строке S.
функция Trim(const S: String): String
Удаляет из строки S начальные и завершающие пробелы и управляющие символы.
функция TrimLeft(const S: String): String
Удаляет из строки S начальные пробелы и управляющие символы.
функция TrimRight(const S: String): String
Удаляет из строки S завершающие пробелы и управляющие символы.

Следующие функции сравнивают две строки между собой:

функция AnsiCompareStr(const S1, S2: String): Integer
Сравнивает две строки S1 и S2 с учётом регистра символов.
Возвращает значение 0 если S1>S2
функция AnsiCompareText(const S1, S2: String): Integer
Сравнивает две строки S1 и S2 без учёта регистра символов.
Возвращает значение 0 если S1>S2

Следующие функции осуществляют поиск в текущей строке подстроки, вставляют, удаляют или заменяют подстроку:

Наконец, функция копирования части строки:

функция Copy(S: String; Index, Count: Integer): String
Возвращает подстроку строки S, начиная с номера символа, равного Index и содержащую до Count символов.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *