[FAQ] Поэтапное развитие Delphi, основы delphi - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Alowir, Sanoxxx  
[FAQ] Поэтапное развитие Delphi, основы delphi
IMEI Дата: Воскресенье, 04.10.2015, 20:02 | Сообщение # 1
Новичок
Сообщений: 25
Статус: Offline

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

Первоначально носил название Object Pascal и исторически восходит к одноимённому диалекту языка, разработанному в фирме Apple в 1986 году группой Ларри Теслера
Изначально среда разработки Delphi была предназначена исключительно для разработки приложений Windows
Система типов в Delphi строгая, статическая



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

  • Standart
  • Additional
  • Win32
  • System

    Создайте новый проект (File -» New -» Application), и перенесите на форму компоненты Label, Edit, Memo и Button. Выбирая одним щелчком мышки или клавишей Tab нужный компонент, в Инспекторе Объектов мы можем получить доступ к его свойствам. Прежде всего, у визуальных компонентов есть свойства, определяющие их положение на Форме:

  • Ширина компонента, Width
  • Высота компоненты, Height
  • Расстояние до левого края компонента, Left
  • Расстояние до верхнего края компонента, Top

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

    Label и Button - свойство Caption
    Edit - свойство Text
    Memo - свойство Lines


    При "конструировании" формы в Инспекторе объектов можно придать свойствам компонентов любые значения. Случайно можно задать такие размеры или координаты, что компонент "исчезнет" - сделается невидимым или спрячется за другими компонентами. Его легко найти с помощью того же Инспектора Объектов - все компоненты, находящиеся на Форме, перечислены в его выпадающем списке. Достаточно выбрать нужный компонент, и он или его контуры (если он заслонён" другими компонентами) появятся на Форме, а в Инспекторе объектов - его свойства

    События Delphi

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

    Другие важные события, которые есть почти у каждого визуального компонента:
  • onExit - возникает, когда компонент теряет фокус ввода;
  • onDblClick - возникает при двойном щелчке мышкой по компоненту;
  • onKeyDown - когда при нажатии на кнопку на клавиатуре она оказалась в нижнем положении;
  • onKeyUp - когда при отпускании клавиатурной кнопки она оказалась в верхнем положении;
  • onKeyPress - возникает при нажатии на клавиатурную кнопку. От событий onKeyDown иonKeyUp оно отличается типом используемого параметра Key ;
  • onMouseDown - когда при нажатии кнопки мышки она оказалась в нижнем положении;
  • onMouseUp - когда при отпускании кнопки мышки она оказалась в верхнем положении;
  • onMouseMove - возникает при перемещении указателя мышки над компонентом

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

    Код
       Form1.Width := 0;
        Form1.Height := 0;


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


    Переменные, Константы и их типы.

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

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

    Место описания данных в программе - вне логических блоков begin / end. В модуле перед ключевым словом implementation есть блок описания:


    Код
    var
       Form1: TForm1;


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

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


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

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

    Код
    var A, B, C : Integer;


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

    Код
    var A, B : Integer;
             C, D : String;

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

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


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

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

    Строкой называется последовательность символов, заключённая в одиночные кавычки:
    'это текстовая строка' Если текст должен содержать сам символ кавычки, то его надо повторить дважды:
    'это '' - символ одиночной кавычки'Строка может быть и пустой, не содержащей символов. Тогда она состоит из двух идущих друг за другом без пробела кавычек. Естественно, строка может состоять и только из одних пробелов.
    Самый популярный строковый тип - String. Строка типа String может содержать переменное количество символов объёмом до 2 Гбайт. Если нужно ограничить размер строки фиксированным значением, то после ключевого слова String в квадратных скобках указывается число, определяющее количество символов в строке: String[50]. Более полно работа со строками Delphi описывается далее.
    Одиночный символ имеет тип Char и записывается в виде знака в одиночных кавычках: 'a'. Есть символы, которые на экране отобразить невозможно, например, символ конца строки (равен #13), символ переноса строки (равен #10). Такие символы записываются в виде их числового кода (в кодировке ANSI), перед которым стоит знак #.


    К основным типам данных языка Delphi относятся: П целые числа (integer); П дробные числа ; (real)П символы (char);

    строки (string);
    логический тип (boolean).


    Основные типы данных - Целые числа
    Формат - ;Диапазон

    Код
    Shortint ; -128.. 127

    Integer ; -32 768.. 32 767

    Longint ; -2 147 483 648.. 2 147 483 647

    Byte ; 0..255

    Word ; 0..65535


    Числа с плавающей точкой
    Формат - ;Диапазон
    Код
    Real ; 2,9e-39.. 1,7e38

    Single ; -1,5e-45.. 3,4e38

    Double ; 5,0e-324.. 1,7e308

    Extended ; 3,4e-4932.. 1,1e4932


    Следующим типом данных является логический 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 ;

    вызовет ошибку, так как свойство Caption имеет текстовый тип String, а использованные переменные - цифровой тип Integer. Значит, нужно преобразовать значение переменной C в текстовый тип. Для этого есть встроенная функция IntToStr. Строка в нашей "программе", вызывавшая ошибку, должна выглядеть так:

    Label1.Caption := IntToStr© ;

    Такая программа, кроме показа числа 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;


    При попытке исполнить этот код Delphi покажет ошибки по аналогичной причине - переменные A и B имеют цифровой тип Integer, а свойство Text - текстовый тип String. Исправить ошибки поможет встроенная функция StrToInt, выполняющая обратное преобразование - текст в целое число. Операторы присвоения переменным A и B должны выглядеть так:

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

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

    Код
    Label1.Caption:=IntToStr(StrToInt(Edit1.Text)+
                        StrToInt(Edit2.Text));

    Аналогично, имеются функции и для преобразования в строку и обратно действительных чисел c плавающей (Floating англ.) запятой, имеющих тип Real. Для преобразования в строку - FloatToStr, обратно -StrToFloat.
    Часто результаты вычислений, имеющие тип Delphi Real, имеют после запятой длинный "хвост" цифр. При выводе такой переменной в текстовом виде необходимо ограничить количество цифр после запятой

    Тема будет дополняться, насчет упражнений писать в лс.
    Прикрепления: 2662130.png (3.5 Kb) · 1927352.png (4.7 Kb)


    http://cheat-master.ru/forum/188-512457-1 - Самая экшная раздача аккаунтов SRP =D
    http://cheat-master.ru/forum/134-458772-1 - "Official studio Graphics" for IMEI
  • Surex Дата: Суббота, 02.07.2016, 14:10 | Сообщение # 2
    Боец
    Сообщений: 137
    Статус: Offline
    Спасибо бро

    • Страница 1 из 1
    • 1
    Поиск:
    Статистика Форума