Первое приложение на Delphi

Просмотров: 11462Комментарии: 7
ПрограммированиеDelphi
Первое приложение на Delphi

Сейчас почему-то стало модно быть программистом, большинство новичков просто не знают с чего начать. В этой статье я постараюсь максимально доступно объяснить как написать свою первую программу.

Для начала нужно установить среду разработки Borland Delphi, мне больше по душе 7я версия.

Итак, запускаем среду разработки, перед глазами сразу созданная форма будущего приложения. Создадим простое приложения для решения квадратного уравнения.

Вверху(под меню) панель компонентов, ищем на вкладке Standart компонент Button (Кнопка).

Панель инструментов:

Выбрали компонент, и ставим его на форму. В инспекторе объектов в поле Caption введем название кнопки "Решить".

Инспектор объектов

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

С помощью компонента Label можно размещать заголовки на форме, через свойство Caption.

Получается такая форма:

Далее нажимаем два раза левой кнопкой мыши (ЛКМ) по нашей кнопки, появится окно с редактором кода программы (создалась процедура обработки нажатия кнопки). Где мигает курсор после двойного клика пишется код, который выполнится после нажатия созданной кнопки.

Введем следующий код:

procedure TForm1.Button1Click(Sender: TObject);
var x1,x2,a,b,c,d: Real;//объявляем переменные, а,в,с - коэффициенты квадратного уравнения
//корни уравнения х1 и х2, Real - вещественный тип данных
begin
 //проверка на наличие в текстовых окошках первоначальных данных
 if (Edit1.Text = '') then Edit1.Text := '1';
 if (Edit2.Text = '') then Edit2.Text := '1';
 if (Edit3.Text = '') then Edit3.Text := '0';
 //присваиваем переменным данные из текстовых окошек для ввода
 a := StrToFloat( Edit1.Text );
 b := StrToFloat( Edit2.Text );
 c := StrToFloat( Edit3.Text );
 //рассчитываем дискриминант уравнения
 d := b * b - 4 * a * c;
 if (d<0) then
    //если дискриминант меньше нуля, значит корней нет
    MessageDlg('У квадратного уравнения нет корней',mtWarning, [mbOk, mbCancel],0)
 else
 begin
   //вычисляем корни уравнения
   x1 := (-b + Sqrt( d )) / (2 * a);
   x2 := (-b - Sqrt( d )) / (2 * a);
   //выводим полученные корни на форму
   Edit4.Text:=FloatToStr(x1); //FloatToStr преобразует вещественное число в текст
   Edit5.Text:=FloatToStr(x2)
 end
end;

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

Вид приложения:

Скачать проект

Комментариев: 7 RSS

1 vovans 07-07-2011 13:07

дельфи уже давно закопать надо и забыть как страшный сон, а вы только первые приложения пишите на нём о_0

2 Admin 07-07-2011 13:14

почему закапать то? Для решения большинства задач Делфи подходит превосходно. И его легче изучать, даже потому, что в школе больше изучают Паскаль.

3 ImLoaD 22-09-2011 02:32

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

Например нужно быстро что то автоматизировать на компьютере, что вы будете делать? Искать в интернете? Писать классы на C# ? Тратить время на формы или сохранение программой параметров и т.п. в C, C++ ?

Нет, надо просто открыть старый добрый Delphi 7 Быстренько набросать код или вначале на листе бумаги алгоритмик, набрать и отладить ))

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

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

Я весной нашел какую то книгу в интернете, хотел почитать, но она была жутко форматирована, перенос строки стоял после каждых слов 5 - 7.

Это выглядело примерно

вот так, и это ужасно

раздражало, представьте,

так написана целая книга!

Вы должны что-то

предпринять, думаете

и приходите к выводу,

что можно в ручную

нажимать Delete в

конце каждой строки.

Плюсом было то, что

в начале каждой строки

присутствовал пробел.

(потом узнаете почему)

Но автоматизировать этот процесс проще (потратите 10 минут написания кода (+удовольствие) + 5 секунд работы программы вместо 7 часов ручной работы).

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

Поскольку текст книги был в браузере, я его копировал и вставил в документ (google).

Ну и недолго думая я (может смешно, но это же весело!) придумал такой алгоритм:

-Программа ждет комбинации клавиш, после чего включает процедуру (нажатие комбинации я делаю после того, как установил курсор в конец текста, тоесть программа не будет работать с текстом, она будет эмулировать человеческую работу)

-После нажатия задуманных клавишь активируется процедура (или таймер)

-При повторном нажатии процедура завершается

Процедура:

-Эмулировать нажатие клавиши Up (Переход на строку вверх)

-Эмулировать нажатие клавиши End (В конец строки)

-Эмулировать нажатие клавишу Delete (Удалить перенос в конце строки)

(поскольку в начале следущей строки стоял пробел, удалялся только перенос, попробуйте проделать эту комбинацию (up, end, delete) с текстом, который я привел выше как пример того, с чем я столкнулся, перед этим копируйте его в редактор)

-Подождать примерно 50 миллисекунд (для наглядности процесса), или 1 мс,10 или 100, 1000 как угодно ))

Эта процедура, как вы догадались зациклена.

4 vovans 16-11-2011 00:46

>> Например нужно быстро что то автоматизировать на компьютере, что вы будете делать?

Я возьму BaSH или Python, но никак не Дельфи.

5 Admin 16-11-2011 12:33

Ну тут все методы хороши, кому как больше нравится.

6 KrasnoYarsk.front 27-08-2012 15:24

"Я возьму BaSH или Python, но никак не Дельфи."

Согласен, каждый возьмёт, то в чём силён.

Я возьму Delphi или 7 или 2010 и быстро склепаю мелкую тулзу.

А изучать Bash или Python, это займёт больше времени.

А ведь результат получиться один.

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

7 Руся 26-11-2012 20:49

почему он только данные числа воспринимает??? 1 7 12

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

     

  

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

(обязательно)