Форум начинающих программистов Delphi. Вопросы начинающих по Delphi. Помощь студентам и школьникам в решении задач. Книги по языку программирования Delphi, купить и скачать электронные учебники Delphi. Книги по Delphi и учебники для начинающих.
Начинаем изучать Delphi. Лирическое отступление.
В этом уроке я покажу, как создать примитивную программу на Delphi и покажу основы работы со средой программирования RAD Studio. А начинающим Delphi позволяет начать создавать программы сразу, не углубляясь в изучение внутренностей операционной системы, и даже. Иллюстрированный самоучитель по Delphi 7 для начинающих. Введение · Глава 1. Основы программирования · Глава 2. Управляющие структуры языка.
Среди программистов, как и среди людей других профессий, существует множество мифов. Например, в Интернете не раз попадались высказывания типа "С++ - это круто, а Delphi - отстой, на ней ничего путного не напишешь". Такие высказывания могут позволить себе только дилетанты. Не бывает плохих языков программирования - бывают плохие программисты (ну разве что плохой программист решит свой язык программирования придумать :-)). Я, например, за свою многолетнюю практику пока не встречал задачи, которую нельзя было бы решить с помощью Delphi.
Да, в некоторых случаях приходится использовать Assembler, внешние драйверы и библиотеки - но это делу не мешает. Что касается С++ и иже с ними, то там заморочек никак не меньше (с моей точки зрения даже намного больше, во всяком случае с продуктами фирмы Microsoft). Ну а среда разработки - это уже дело личных пристрастий. Я выбрал Delphi. И еще ни разу об этом не пожалел.
Устанавливаем программу на компьютер. Первый вопрос - где взять дистрибутив (если вы не знаете значения этого слова, то, возможно, вам рановато изучать программирование :-)). Использовать пиратские копии в наше время уже не модно, а купить Delphi не каждый может себе позволить. Поэтому могу посоветовать скачать бесплатную версию Turbo Delphi 2006 с сайта компании Borland: https://downloads. embarcadero.
com/free/turbo. Процедура регистрации и установки Turbo Delphi 2006 - процесс довольно сложный. Здесь вам придется вспомнить английский язык и поискать в интернете некоторые пограммы, необходимые для работы Turbo Delphi 2006. Но об этом как-нибудь в другой раз, а пока мы рассмотрим работу с Delphi 7. На любом, даже самом захудалом пиратском диске, есть инструкция по установке программы. Следуйте этим инструкциям, и все будет в порядке.
Однако, если у вас старый CD-ROM или диск, с которого вы устанавливаете программу, скверного качества, то в процессе установки вы можете увидеть тревожные сообщения. Сообщения на английском. Перевод может быть приблизительно таким: "Не могу загрузить такой-то файл в такую-то папку". В этом случае внимательно перепишите на листок бумаги названия файла и папки (полный путь) и продолжайте установку. Если сообщения будут повторяться - перепишите названия и других файлов/папок. Когда установка завершится - не перезагружайте компьютер (если он перезагрузится автоматически - тоже ничего страшного).
Но Delphi пока не запускайте. Сначала найдите на компакт-диске те файлы, которые программа установки не смогла переписать, и вручную скопируйте их в соответствующие папки. Только копируйте не все сразу (если их несколько), а по одному. После этого перезагрузите компьютер. Конечно, таким образом можно устанавливать любые программы - не только Delphi. Меня этот способ не раз выручал, когда у меня был старый, "заезженный" CD-ROM. Если на диске есть русификатор - не советую вам его устанавливать.
Delphi - очень мощная и сложная программа. Чтобы ее нормально русифицировать, требуется очень квалифицированный специалист. А у пиратов такие не всегда есть.
Не следует устанавливать русификатор по двум причинам:. Качественный русификатор для Delphi - большая редкость (во всяком случае, я таких не встречал).
Поэтому, он скорее всего внесет в программу какие-нибудь "глюки", или вообще "вырубит" ее. Придется потом все удалять и снова переустанавливать. Во всех учебных пособиях по Delphi пункты меню, вкладки и т. все равно имеют английские названия. Поэтому, даже если русификатор попадется более или менее работоспособный, вам он только повредит - придется читать в книге английское название, а затем еще думать, как его перевел русификатор и где этот пункт меню искать. Программа загружается довольно долго - несколько десятков секунд.
Ну а потом вы увидите панели инструментов и шаблон новой формы. Форма - это один из компонентов в Delphi. Сразу же вы можете "написать" свою первую программу - просто нажмите F9 или щелкните по зеленому треугольнику на панели инструментов.
Вы увидите ту же форму, но только это уже будет не компонент, а готовая программа. Она "ничего не делает". Можно только развернуть, свернуть или закрыть форму. Но эта простота обманчива.
Такая программа занимает около 360 КБ. Если вы писали когда-нибудь программы для DOS, вы поймете, что такое 360 КБ. На Паскале. например, в 360 КБ можно запихнуть очень мощную программу, я уж не говорю про Ассемблер.
Поэтому скажем огромное спасибо программистам фирмы Borland. которые выполнили за нас эту утомительную работу - создание стандартной формы Windows. Ну хорошо, программу мы какую-то "написали".
Но нужно ее куда-то сохранить, чтобы потом знать где ее найти и заняться уже наконец программированием. Для этого переходим в следующий раздел:. Определяем директории для проекта. Delphi - программа довольно капризная. Она не любит, когда с ней некорректно обращаются. Поэтому, особенно в первое время, вы постоянно будете вгонять ее в "ступор", т.
"вешать", причем капитально. Если программа не по настоящему зависла, то можно ее вывести из "ступора" нажатием клавиш Ctrl+F2.
Ну а если зависание серьезное - тогда только перезагрузка. При этом, конечно, все несохраненные данные будут потеряны. Поэтому, их время от времени нужно сохранять. Но сохранять куда? По умолчанию все ваши проекты сохраняются в Programm filesBorlandDelphi7Projects. Согласитесь, что это не всегда удобно. Каждый проект лучше разрабатывать в отдельной папке. Желательно (хотя и не обязательно) сразу же сохранить в подходящую папку ваш новый проект, в котором еще ничего нет, кроме новой формы.
Поступаем так: выбираем пункт меню File --> Save Project As. и сохраняем сначала модуль (по умолчанию Unit1 ), а затем файл проекта (по умолчанию Project1 ). Модулю и проекту вы можете присвоить другие имена. После этого сохраняем время от времени этот проект, выбирая пункт меню File --> Save или нажимая соответствующую кнопку на панели инструментов. Все прекрасно. Но вот вы решили проверить работу написанной вами программы не из Delphi. а автономно.
Стали искать ее в своей папке, и не нашли. А все дело в том, что откомпилированная программа устанавливается все в той же папке по умолчанию Programm filesBorlandDelphi7Projects. Как изменить настройки по умолчанию? Выбираем пункт меню Project --> Options. а в открывшемся окне выбираем вкладку Directories/Conditionals и в полях Output Directory, Unit Output Directory, BPL Output Directory и DCP Output Directory прописываем полный путь к вашей папке (можно выбрать обзор - кнопку с тремя точками, и открыть нужную папку). Нажимаем кнопку ОК. Теперь все выходные файлы будут записываться в указанную папку.
Но после закрытия Delphi все вернется в исходное состояние. Поэтому, если необходимо, чтобы ваши файлы записывались в эту папку по умолчанию - установите галочку напротив надписи Default (по умолчанию) и нажмите кнопку ОК.
Здесь я приведу только расширения файлов - имена могут быть любыми. dpr - код проекта. dfm или. xfm - описания форм.
pas - модули и модули форм. dof или. kof - параметры проекта.
cfg - параметры среды. res - описание ресурсов. dcu - временный файл. Файлы, помеченные значком ".
" - это резервные копии вышеуказанных файлов. Эти файлы и файл с расширением. dcu можно удалить - это никак не отразится на функционировании программы. Кроме этих файлов после компиляции создается файл с расширением.
ехе - сама программа. Значок этого файла - цифра 7 с желтой молнией (для Delphi 7). Инспектор объектов (Object Inspector). Инспектор объектов - эта маленькая таблица на экране. При запуске Delphi он появляется в левом нижнем углу.
Если его там почему-то нет, то вы можете его вызвать. Для этого нужно выбрать пункт меню View --> Object Inspector или нажать клавишу F11. С помощью Инспектора объектов можно установить свойства и события для выбранного компонента. Сделать это можно и другими способами, но в Инспекторе объектов делать это удобнее (особенно начинающим). Delphi похожа на конструктор - выбрал компонент, установил его на форму, определил для него свойства (а если нужно и события) и все - программа готова. Конечно, это будет примитивная программа. Но зато такую программу можно написать, даже не зная языка программирования.
Компонентов в Delphi очень и очень много. Задача данной статьи - только краткое знакомство с Delphi для начинающих. Поэтому перечислять даже основные компоненты не будем - слишком много их. Для программы, которую мы "напишем" чуть позже, нам потребуются только два из них: стандартная кнопка и форма.
Большинство компонентов, кроме формы, расположены на соответствующих вкладках. Под главным меню вы можете увидеть надписи: Standart, Additional, Win32 и т. Это и есть вкладки. Нас пока интересует только Standart. А почему он нас интересует - об этом в следующей главе.
См. также свойства и события.
Первая программа. Запускаем Delphi. После запуска на экране появится новая форма и автоматически открется новый проект. Этот проект пока еще не сохранен.
Если вы собираетесь работать со своим проектом, то просто закройте форму и на вопрос о сохранении модуля ответьте "Нет". Затем откройте свой проект: File --> Open. При этом вас спросят, сохранить ли изменения в проекте. Ответьте "Нет" - ведь закрываемый проект вам не нужен. Выберите свою папку и откройте файл проекта (это файл со значком в виде цифры 7).
Если требуется создать новую форму: File --> New --> Form. На экране появится новая форма.
Если в вашем проекте несколько форм, то выбрать нужную можно так: View --> Forms или нажав Shift+F12, а затем выбрать нужную форму и нажать ОК. Итак, форма появилась на экране.
На вкладке Standart выбираем стандартную кнопку - дважды щелкаем левой кнопкой мыши по соответствующему компоненту (это маленькая кнопочка с надписью "ОК"). На форме появляется кнопка. Есть другой способ: щелкаем по кнопке один раз, затем подводим курсор на нужное место формы, и еще раз щелкаем мышью.
На кнопке будет надпись "Button1". Эту надпись можно изменить. Для этого в Инспекторе объектов выбираем вкладку Properties (Свойства). На этой вкладке два столбца: левый - название свойства, а правый - само свойство. Выбираем в левом столбце свойство Caption (Надпись) и напротив него пишем что-нибудь (можно и по русски). Мы напишем слово "Цвет".
При этом надпись на кнопке изменится. Щелкаем дважды по созданной нами кнопке - перед нами откроется окно редактора кода. Здесь и пишется текст программы.
Что мы сделали, щелкнув дважды по кнопке? Мы определили для кнопки Событие. Т. в окне редактора кода Delphi автоматически создала процедуру, которая будет реагировать на Событие - на нажатие кнопки. События бывают и другие.
Их вы можете посмотреть в Инспекторе объектов на вкладке Events (События). Как вы видите, напротив события OnClick появилось слово Button1Click - имя процедуры, которая будет вызвана при нажатии на кнопку. А вот что эта процедура будет делать - решать вам. Ну а я решил, что наша первая программа будет менять цвет формы в случайном порядке. А для этого в редакторе кода в теле процедуры (между ключевыми словами begin и end ) напишем следующий код: Здесь Form1 - это имя формы.
Если ваша форма имеет другое имя, то вам придется его и написать. А по умолчанию Delphi дает имена компонентам в соответствии с их названием. Например, если вы установите на форму еще одну кнопку, то ее имя будет Button2. Имя можно изменить в Инспекторе объектов: свойство Name (только по английски). После того, как в редакторе кода вы введете слово Form1 и поставите точку, не спешите вводить остальной текст. Delphi немного подумает, и выдаст вам список свойств, которые имеет данный компонент. Из этого списка вы можете выбрать нужное и нажать Enter.
Слово автоматически будет добавлено к тексту. В нашем случае мы выбираем свойство Color - цвет формы. Остальное объяснять не буду - учите Delphi или хотя бы Паскаль.
Кстати, для первого времени знания Паскаля при работе с Delphi более чем достаточно. Остальное можно посмотреть в справке (если у вас нет проблем с английским). Ну вот. Программа написана. Нажимаем клавишу F9 - и легким движением руки наш проект превращается в готовую программу.
Можете пощелкать по кнопке "Цвет". Работает? Еще бы. Однако, если вы человек внимательный, а программу нашу запустили не в первый уже раз, то вы заметили, что цвет меняется не случайным образом, а в определенном порядке. Это происходит потому, что мы не инициализировали генератор случайных чисел. Инициализировать его можно, вызвав процедуру randomize.
Но вписать ее в тело процедуры Button1Click нельзя, т. randomize должна быть запущена в программе только один раз.
А мы будем щелкать по кнопке, тем самым запуская ее вновь и вновь. Выход из положения есть. Можно вызвать процедуру randomize при создании формы - ведь главная форма у нас только один раз создается. Для этого закрываем нашу программу (если она была запущена). Перед нами появляется редактор кода. Но нам сейчас нужна форма.
Щелкаем по видимой части формы и она выходит на первый план. Если ее совсем не видно (вдруг вы ее случайно закрыли). Тогда жмем Shift+F12 и выбираем нужную форму. Форма появилась. Щелкаем по ней дважы (по любому свободному участку формы, то есть по тому месту, где нет никаких компонентов).
Опять попадаем в редактор кода, в процедуру FormCreate. Записываем здесь и нажимаем F9. Теперь цвета действительно меняются в случайном порядке. Компоненты: свойства.
Как уже было сказано выше, каждый компонент имеет свой набор свойств. Но многие из этих свойств являются общими для большинства компонентов. Поэтому для примера рассмотрим один компонент. С остальными разберетесь сами.
Пусть это будет компонент Label (Метка). Он находится на вкладке Standart - значок в виде буквы "А". А вообще, название компонента можно узнать так: подвести курсор к обозначению компонента на вкладке и немного подождать - Delphi выведет его название. Установим компонент на форму и немного поэкспериментируем - надо как-то опыта набираться.
В Инспекторе объектов будем менять свойства и смотреть, что получается. Основные свойства компонента Label Align Выравнивание компонента относительно формы (или контейнера, которому принадлежит метка). По умолчанию выравнивание отсутствует (alNone).
Можете выбрать другие свойства - посмотрите, что получится. А чтобы вернуть все на место - снова выберите alNone и придайте метке нужные размеры. Размеры компонента можно изменять с помощью мыши: подводите курсор к границе выбранного компонента, нажимаете левую кнопку и тащите мышь в нужную сторону. Alignment Выравнивание надписи относительно метки AutoSize Если AutoSize = true, то размер компонента будет автоматически изменяться в зависимости от размера шрифта и размера самой надписи.
В противном случае размер компонента изменяться не будет. Color Цвет компонента Cursor Определяет вид курсора.
Выбранный вид курсора будет появляться, когда курсор находится над компонентом. Но это вы сможете увидеть, только запустив программу (F9). Enabled Если Enabled = true, то компонент активен.
Если Enabled = false, то компонент неактивен, т. он будет виден на форме, но "работать" не будет. Font Определяет параметры шрифта надписи (размер, цвет и т. ) Height Высота компонента в пикселях Left Расстояние от левого края компонента до левого же края формы (или другого контейнера, которому принадлежит метка).
В пикселях. Name Имя компонента. Это имя используется в программе, которую вы создаете. Top Расстояние от верхнего края компонента до верхнего края формы (или другого контейнера). Visible Если Visible = true, то компонент виден. Иначе компонент будет невидимым. Это справедливо только на работающей программе.
В режиме создания программы все компоненты видны, независимо от их свойств. Width Ширина компонента в пикселях Конечно, это не все свойства не всех компонентов.
Но остальное можно посмотреть в справке. А чтобы не мучиться с поисками нужного слова, в Delphi предусмотрена контекстно-зависимая справочная система. Воспользоваться ей можно, например, так: в редакторе кода пишем интересующее нас слово, затем выделяем его и нажимаем F1. Компоненты: события. Одно событие мы уже знаем: OnClick - возникает при одинарном щелчке кнопкой мыши по компоненту.
Рассмотрим некоторые другие. Выберем для испытаний компонент Edit - однострочный редактор. Такой белый прямоугольник с буквами "ab" внутри. Расположен также на вкладке Standart. Поместим его на форму и начнем пытать. Основные события компонента Edit OnChange Возникает, если изменится содержание текста в компоненте OnClick Возникает, если по компоненту щелкнуть один раз левой кнопкой мыши OnDblClick Возникает при двойном щелчке левой кнопкой мыши по компоненту OnKeyPress Возникает при нажатии клавиши OnMouseMove Возникает при размещении курсора над компонентом Осталось разобраться с тем, как эти события использовать в программе. Один способ мы уже знаем: дважды щелкаем по компоненту и перед нами открывается редактор кода с процедурой, которая обрабатывает это событие.
Но таким образом можно вызвать только процедуру, которая обрабатывает событие OnClick. А как быть с остальными? Все тоже достаточно просто - программисты Borland об этом позаботились.
В Инспекторе объектов выбираем нужное нам событие (в левом столбце). А напротив этого события в поле правого столбца дважды щелкаем левой кнопкой мыши - получаем окно редактора кода с соответствующей процедурой.
Ну а чтобы вам было понятнее, приведу пример небольшой программки:. Пример программы: калькулятор. Пусть это будет калькулятор. Он будет иметь следующие компоненты: Edit1 и Edit2 - поля для ввода чисел; Label1 - знак операции; Label2 - знак равенства ("="); Edit3 - поле для вывода результата вычислений. И четыре кнопки, по нажатию на какую-либо из них будет выполняться соответствующая операция: Button1 - сложение (+); Button2 - вычитание (-); Button3 - деление (/); Button4 - умножение (*). А выглядеть все это будет примерно так:.
Для наглядности в компонентах Edit я оставил надписи по умолчанию. А вам их лучше удалить. Для этого: выбираем соответствующий редактор, затем в Инспекторе объектов ищем свойство Text и очищаем его. Ниже приводится текст одного из вариантов программы: Учтите, что если вы просто скопируете этот текст в редактор кода, то при компиляции Delphi выдаст сообщение об ошибке, т.
эти процедуры не объявлены.
Поэтому проделайте все вручную: двойной щелчок по нужной кнопке (при этом процедура создается и объявляется автоматически), а затем в тело процедуры можно вставить соответствующий текст. Следует также иметь ввиду, что данная программа слишком примитивна - она не проверяет введенные данные. Поэтому, если вы вместо чисел введете, например, буквы, то тем самым вы вгоните Delphi в "ступор", о чем говорилось выше.
Это, конечно, не зависание - просто так Delphi реагирует на ошибки. В этом случае вы можете запустить отладчик и т. А если вы пока не знаете, как это делать, то можно просто выйти из этого состояния: Ctrl+F2. Надеюсь, вы знаете, что такое комментарии. Delphi поодерживает множество комментариев, в том числе и комментарии стиля С++.
FloatToStr - это стандартная процедура, которая переводит вещественное число в строку. StrToFloat - переводит строку в вещественное число. На этом, пожалуй, можно и закончить.
Здесь рассмотрена очень маленькая часть возможностей Delphi. Но этого уже достаточно чтобы начать эксперименты со средой разработки Delphi.
А если [отите знать больше - читайте хорошие книги. В интернете тоже есть неплохие подборки материалов. Возможно, что и я еще что-нибудь по этой теме напишу. Заходите в гости.
А пока все. Удачи.