Уроки по программированию на Дельфи.
| |
Техник | Дата: Понедельник, 19 Июля 2010, 17:28 | Сообщение # 1 |
Глава X-ray Games
Сейчас нет на сайте
| Вот выкладываю свои уроки по программированию на дельфи.Когда-то я писал их для журнала, который создавал Gennyi.Но после первого урока силы иссякли ,да и проблемы с ноутом были.Поэтому выкладываю пока 1 урок.Позже выложу 2-й,которыйеще НИКТО не видел.Он планировался для второго номера журнала, но потом я не стал ее дописывать,сейчас решил воскресить ее и дописать. Урок по программированию 1 часть. Начало начал… И так, мы начинаем цикл уроков ,посвященных программированию на Delphi.А именно Borland Delphi 7. Сегодня, вступительный урок, в котором вы научитесь основам программирования и создадите простой калькулятор. Итак, начнем! Тяжело в учении, легко в бою. Собственно языка Delphi не существует, то что мы называем Delphi – это система программирования на Паскале. Сами азы Паскаля изучаются еще в школе. Все знают, как написать программу сложения двух чисел посредством консоли. Но всегда хочется большего. И поэтому многие начинают учить язык самостоятельно, с помощью самоучителя, однако не все завершают начатое. Начнем с основных понятий, которые должен знать каждый, кто изучает язык. Вот список, правда, здесь приведены только основные определения: Код – текст программы, записываемый на языке программирования. Исходник – То же самое, что и код. Оператор – Часть кода, в который записывается действия, необходимые при работе программы. Компиляция – процесс перевода программного кода в тот, который понятен компьютеру, то есть машинный. Для процесса компиляции используют компиляторы. Система программирования – то в чем пишут программы. Ключевые слова – зарезервированные слова, используемые в каждом языке программирования, для создания программы. Объявление(данных) – описание данных, для дальнейшего его использования. Ну, думаю этого пока хватит, для того, чтобы написать простую программу. Конечно же я буду пояснять каждый шаг. Первая программа. Сейчас мы начнем писать первую нашу с вами программу, это будет простейший калькулятор, который умеет складывать вычитать, умножать и делить целые числа. Запустив программу вы увидите окно с формой и редактором исходного текста, он нам пока не нужен, мы перейдем к нему по позже. Нам надо создать консольное приложение, для этого выберите file - new - others - console application.перед вами появится исходный текст. Так как консоль не имеет визуальных компонентов, то мы прибегнем к стандартным словам WriteLn и ReadLn, эти слова предназначены для вывода/ввода. Теперь начнем заполнять подготовленный шаблон. После слова – пишем ключевое Var , оно предназначено для объявления переменных. Так же существует еще один вид объявляемых данных – это константы. Например: Теперь мы запишем несколько переменных, а именно 3:a,b,c.их вполне хватит. Все переменные, которые надо объявить пишут в столбик после ключевого слова, причем указывают, к какому типу оно принадлежит. Var a:integer; b:real; c:string; В данном примере переменной a назначен тип целого числа, b десятичного, а с строки. Нам же надо, чтобы все числа были только целыми, для этого пишем: Var a:integer; b: integer; c: integer; Идем дальше. Теперь нам надо сделать так, чтобы начался процесс подсчета суммы чисел. Для этого используют операторы. Начинается оператор словом Begin, а заканчивается end.Но здесь есть одна тонкость, дело в том, что после слова end не всегда нужно ставить точку. Её ставят только в том случае, если заканчивается программа. end; -ставят после завершения очередного оператора. После слова Begin знаки не ставят. Теперь начнем писать самое главное – алгоритм программы. То, как она будет высчитывать сумму двух чисел. Это конечно банальная арифметика + правильный синтаксис, здесь нет ничего сложного. После слова Begin пишем c:=a+b; . вот как это будет выглядеть: Var a:integer; b:integer; c:integer; begin c:=a+b; Заметьте, что end пока ставить не надо. Перед строкой «c:=a+b;», надо поставить строку «ReadLn(a,b);»,это надо для того, чтобы ввести данные о этих числах в память программы. И «WriteLn©;» , а это надо соответственно для вывода полученного числа. Ну и в завершении текста, поставим снова ReadLn, для того чтобы программа не закрывалась раньше времени. Общий вид всего исходника такой: program Project1; {$APPTYPE CONSOLE} uses SysUtils; Var a:integer; b:integer; c:integer; begin ReadLn(a,b); WriteLn©; c:=a+b; end. Слово {$APPTYPE CONSOLE} определяет вид приложения, в данном случае это консоль. uses SysUtils;нужен для добавления дополнительных модулей, о том как это делать, да и о самом пункте поговорим позже. Все! Вы написали свою первую программу. Введите два любых целых числа через пробел и нажмите «enter», в строке ниже выведется ответ. В следующий раз, мы с вами сделаем калькулятор, в привычной для нас форме оконного приложения windows. Начиним его контекстным меню, а так же несколькими интересными функциями. Так же опишем ,как подключать дополнительные модули в свои программы.
|
|
| |
ezhickovich | Дата: Понедельник, 19 Июля 2010, 21:29 | Сообщение # 2 |
[Великий и могучий хозяинъ]
Сейчас нет на сайте
| Техник, особо не вчитывался но вроде нормально... + в репу...
Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
|
|
| |
Destroy | Дата: Среда, 24 Ноября 2010, 20:26 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| так по идее все правильно, но ты с общим видом исходника напуталQuote (Техник) begin ReadLn(a,b); WriteLn©; c:=a+b; должно быть все наоборот begin ReadLn(a,b); c:=a+b; WriteLn©; ты получается вначале выводишь результат а потом присваеваешь ему значение, или я конечно может что то путаю, но по паскалю так все. и вообще © эт че за символ? это переменная с?
|
|
| |
foxraptor | Дата: Суббота, 04 Декабря 2010, 00:59 | Сообщение # 4 |
был не раз
Сейчас нет на сайте
| тут можно качнуть видео уроки по Deplhi 7
|
|
| |
фЕномен | Дата: Суббота, 04 Декабря 2010, 08:54 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| Техник, оформление темы ужасное. Quote (Destroy) должно быть все наоборот Техник, перед тем как выкладывать сюда код программы, проверь его в Делфи, причём не один раз (Это на будующее). Quote (Destroy) и вообще © эт че за символ? это переменная с? Это форум меняет Так что уважаемые новички пишите: ,а не Вот весь код: Code program Project1; //Название программы Project1 {$APPTYPE CONSOLE} uses SysUtils; //Подключаем библиотеку SysUtils Var a,b,c:integer; //Задаём переменные begin ReadLn(a,b); //Вводим два числа c:=a+b; //Складываем их WriteLn(с); //Выводим результат ReadLn; //Что бы окно сразу не закрылось, а то не успеете увидеть результат (Программа закроется при нажатии клавиши Enter). end. Можно использовать 2 переменные, а не 3, если это вся программа. Запомните, чем меньше переменных (тем более глобальных), тем лучше. Code program Project1; //Название программы Project1 {$APPTYPE CONSOLE} uses SysUtils; //Подключаем библиотеку SysUtils Var a,b:integer; //Задаём переменные begin ReadLn(a,b); //Вводим два числа a:=a+b; //Складываем их WriteLn(a); //Выводим результат ReadLn; //Что бы окно сразу не закрылось, а то не успеете увидеть результат (Программа закроется при нажатии клавиши Enter). end. Можно сделать программу понятнее. А то только вы понимаете зачем нужна эта программа (Как выводить кириллицу я напишу в своих уроках, а пока надписи на транслите). Code program Project1; //Название программы Project1 {$APPTYPE CONSOLE} uses SysUtils; //Подключаем библиотеку SysUtils Var a,b:integer; //Задаём переменные begin WriteLn('Summa a i b'); //Описание программы Write('Vvedite a ->'); ReadLn(a); //Вводим число a Write('Vvedite b ->'); ReadLn(b); //Вводим число b a:=a+b; //Складываем их WriteLn('a+b=',a); //Выводим результат ReadLn; //Что бы окно сразу не закрылось, а то не успеете увидеть результат (Программа закроется при нажатии клавиши Enter). end. ЗЫ: просьба писать код программы заключая в теги [code*][/code*] без *, тк форум многое менят. ЗЗЫ: Сегодня начну писать уроки по Delphi, вижу что хороших и понятных уроков мало.
Mugen For All - Русскоязычное сообщество пользователей движка M.U.G.E.N.
Сообщение отредактировал фЕномен - Суббота, 04 Декабря 2010, 09:53 |
|
| |
wernher | Дата: Суббота, 04 Декабря 2010, 10:02 | Сообщение # 6 |
Only God is Perfect
Сейчас нет на сайте
| Quote (Техник) Собственно языка Delphi не существует, то что мы называем Delphi – это система программирования на Паскале. http://ru.wikipedia.org/wiki/Delphi_(язык_программирования) фЕномен, начальные уроки уже есть. Не имеет смысла опять начинать с начала. Проще продолжить написаное.
Сообщение отредактировал wernher - Понедельник, 06 Декабря 2010, 19:21 |
|
| |
IIIypuk | Дата: Вторник, 08 Февраля 2011, 03:16 | Сообщение # 7 |
-- ArchLinux Fan --
Сейчас нет на сайте
| Техник, большое спасибо. Всегда хотел закончить программировать на Visual Basic и перейти на Delphi.
Одинокий юзер
|
|
| |
Riketta | Дата: Вторник, 08 Февраля 2011, 03:27 | Сообщение # 8 |
Strategist
Сейчас нет на сайте
| IIIypuk, по моему обычно делают на оборот... Хотя языки схожи. Классный урок, нового не узнал, но как и все тоже с этого начинал.
Fougerite - Rust Server OpenSource API TerraDev - Terraria OpenSource Hack
|
|
| |
akyl91 | Дата: Воскресенье, 13 Февраля 2011, 21:13 | Сообщение # 9 |
участник
Сейчас нет на сайте
| Отпишусь и сюда. Может кому сгодится... Я тут как-то разбирался с Делфи и составил суперкороткую инструкцию по борьбе с этой бедой с самого начала. Если интересует см. тут http://w-help.narod.ru/1/DELPHI_2009_Instrukshin.rar
Вы не говорите ЧТО мне делать, Я не говорю Вам КУДА пойти.
|
|
| |
IIIypuk | Дата: Воскресенье, 13 Февраля 2011, 22:11 | Сообщение # 10 |
-- ArchLinux Fan --
Сейчас нет на сайте
| Quote (akyl91) http://w-help.narod.ru/1/DELPHI_2009_Instrukshin.rar Где то мне уже давали такую ссылку.
Одинокий юзер
|
|
| |
netkiller | Дата: Воскресенье, 13 Февраля 2011, 22:41 | Сообщение # 11 |
Developing Vader
Сейчас нет на сайте
| + то я поставлю за старания Но: Тема не оформленна нормально!Я вижу только груду текста!Можно ж было по-выделять определения, а кое-что по-отделать и поставить в code? Разобратся трудно, а тем более новички(для которых ты написал) нифига не поймут! Так что ставлю 0.5 плюса(символично), делая ставку на следующие уроки!
Мой туториал по UDK: Создание простого платформера
|
|
| |
WIBarts | Дата: Воскресенье, 13 Февраля 2011, 22:51 | Сообщение # 12 |
gruppo0 - программист с#
Сейчас нет на сайте
| хм... Фишка дельфи в гуи и прочих фишках. Ты написал уроки тупо по паскалю. Это можно написать (с бегин) и в турбо пасквиль 7. Урок в общем по паскалю. А так норм. Только оформи код Добавлено (13.02.2011, 22:51) --------------------------------------------- wernher, язык называется object pascal. А дельфи лишь иде
|
|
| |
noTformaT | Дата: Воскресенье, 13 Февраля 2011, 23:03 | Сообщение # 13 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (WIBarts) А дельфи лишь иде Начиная с делфи 7 язык Обжект паскаль называется уже делфи, хотя делфи не потдерживает в полном обжект паскаль
@noTformaT
|
|
| |
WIBarts | Дата: Воскресенье, 13 Февраля 2011, 23:05 | Сообщение # 14 |
gruppo0 - программист с#
Сейчас нет на сайте
| noTformaT, ну есть же и лазарус. Кто как называет.
|
|
| |
netkiller | Дата: Воскресенье, 13 Февраля 2011, 23:06 | Сообщение # 15 |
Developing Vader
Сейчас нет на сайте
| Надо было написать урок по созданию графического калькулятора тогда это больше для дельфинов.
Мой туториал по UDK: Создание простого платформера
|
|
| |
noTformaT | Дата: Воскресенье, 13 Февраля 2011, 23:08 | Сообщение # 16 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (WIBarts) noTformaT, ну есть же и лазарус. Кто как называет. лазарус это IDE для компилятора freepascal :^) Quote Начиная со среды разработки Delphi 7.0[3], в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. цитата из вики
@noTformaT
|
|
| |
IIIypuk | Дата: Воскресенье, 13 Февраля 2011, 23:10 | Сообщение # 17 |
-- ArchLinux Fan --
Сейчас нет на сайте
| Quote (netkiller) нифига не поймут Я первый раз открыл Delphi И написал прогу по этому учебнику. Прада до этого быо опыт с Pascal
Одинокий юзер
|
|
| |
noTformaT | Дата: Воскресенье, 13 Февраля 2011, 23:12 | Сообщение # 18 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (IIIypuk) Я первый раз открыл Delphi И написал прогу по этому учебнику. Прада до этого быо опыт с Pascal turbopascal и delphi это разные вещи, и программы у них имеют другую архитектуру
@noTformaT
|
|
| |
WIBarts | Дата: Воскресенье, 13 Февраля 2011, 23:16 | Сообщение # 19 |
gruppo0 - программист с#
Сейчас нет на сайте
| просто данную программу (ибо она консольная) может и турбо и фрипас понять, различие лишь в инт64 и юзес Добавлено (13.02.2011, 23:16) --------------------------------------------- лично моя первая прога на дельфи был браузер
|
|
| |
netkiller | Дата: Воскресенье, 13 Февраля 2011, 23:19 | Сообщение # 20 |
Developing Vader
Сейчас нет на сайте
| IIIypuk, ну я хотел сказать, то что непонятно объяснено! Может просто скопипастить можно, но видь надо объяснить что одно, что второе означает! Не объяснено что означает := и : !
Мой туториал по UDK: Создание простого платформера
|
|
| |
|