ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Практическое занятие 3Вывод информации в поле Мемо Цель занятия Знакомство студентов с различными способами вывода информации и сохранения результатов численных вычислений и анализа. Задание 1 Запустите Дельфи. Положите на форму кнопку (для запуска программы на исполнение). Создайте заготовку процедуры двойным нажатием на кнопку. Сохраните программу в папке практика 3 (если такой папки в Вашей папке информационных технологий нет, то перед сохранением заготовки программы создайте папку с названием практика 3). Убедитесь, что в Вашей папке «практика 3» содержится не менее 6 файлов. Перейдите на окно кода программы (двойным щелчком на кнопке). Заготовка процедуры будет иметь следующий вид: procedure TForm1.btn1Click(Sender: TObject); begin
end; где первая строка - название процедуры, «begin» и «end;» - начало и конец процедуры. Поскольку в процедуре может быть несколько операторных скобок («begin» и «end;»), то после каждой закрывающей скобки «end» в фигурных скобках следует указать, к какой части процедуры эта скобка относится, чтобы избежать ошибок в написании программы. Каждой открывающей скобке «begin» должна соответствовать своя закрывающая скобка «end». По этой причине сразу же за написанием слова «begin» следует на новой строке писать слово «end». Открывающая и закрывающая скобки должны иметь одинаковый отступ с левой стороны. Все требуемые операторы вставляются между скобками. Они пишутся обычно с отступом на одни или два пробела от уровня написания скобок. Множество операторов между скобками воспринимается программой как один единственный оператор. Допишите после закрывающей скобки процедуры в фигурных скобках название процедуры: end; {procedure TForm1.btn1Click} и таким образом поступайте после каждой закрывающей скобки. Между названием процедуры и открывающей скобкой процедуры находится область описаний переменных, процедур и функций данной процедуры. В данном задании будет использоваться одна переменная, обозначающая номинальное напряжение. Все имена (идентификаторы) переменных, использующихся в программе, должны быть приведены в разделе описания переменных: procedure TForm1.btn1Click(Sender: TObject); var Unom:Real; begin , который начинается со слова var (variables - переменные). Далее следует имя переменной (в данном случае Unom). Имя выбирается создателем программы произвольно, пишется только латинским шрифтом и должно быть осмысленным. Лучше всего использовать для имен переменных в программе общепринятые обозначения (но латинским шрифтом как в данном примере). Если переменная одна, то после имени должно стоять двоеточие, а далее пишется тип переменной. Слабо знакомым с программированием на Дельфи рекомендуется для переменных, которые могут содержать десятичные части использовать тип Real, а для переменных, которые могут принимать только целочисленные значения, использовать тип Integer. Если какая-либо переменная не описана в разделе описания переменных, то программа остановит выполнение на строке с ошибкой, а в окне ошибок (ниже кода программы) появится надпись [Error] Unit1.pas(29): Undeclared identifier: «имя необъявленной переменной», что переводится как не объявленный (не декларированный) идентификатор. При появлении подобной ошибки следует имя переменной внести в раздел описаний. Описания нужны для того, чтобы под переменную было выделено место в памяти компьютера и присвоен адрес начальной ячейки памяти. Если есть адрес и место в памяти, то в соответствующие ячейки может быть помещено число, соответствующее переменной. Операция записи числа в ячейки памяти в программе на Дельфи обозначается символом «:=» и называется операцией присвоения значения. Чтобы задать значение номинального напряжения после открывающей процедуру скобки следует записать, например, Unom:= 10,5; каждая операция (оператор) заканчивается значком конца операции, обозначающимся символом «;» (semicolon - точка с запятой). Отсутствие между операторами (действиями) точки с запятой является одной из самых распространённых ошибок. При такой ошибке в окне ошибок сообщением: [Error] Unit1.pas(30): Missing operator or semicolon (потеря оператора или точки с запятой). Очевидно, что появлении такого сообщения следует найти место, где точка с запятой пропущена (обычно программа останавливается на следующей строке за строкой где «;» отсутствует. Запишете в основную процедуру два оператора: Unom:=10,5 {номинальное напряжение в кВ} Snom:=25000; {полная мощность в кВА} и сохраните программу, нажатием save all (сохранить всё). Прочитайте сообщения от ошибках (нет «;» после 10,5 и не описана переменная Snom). Устраните ошибки. В данном примере справа от операторов присвоения в фигурных скобках приведён комментарий (указано, что обозначает переменная и в каких единицах измеряется). Комментарий не влияет на выполнение программы и нужен исключительно программисту для того, чтобы не забыть какие имена он дал тем или иным переменным. Задание 2 Поместите на форму компонент Memo из стандартной палитры компонентов. Измените его размер сделайте так, чтобы он занимал, например, половину формы. В его инспекторе объектов найдите свойство «линейки прокрутки» («ScrollBars») и установите значение «обе» («ssBoth»). Этот компонент используется для вывода в него переменных типа «строка» («string») и является одним из важнейших элементов контроля значений вводимых переменных на стадии отладки программы. Переменные типа строка («string») могут выводиться в компонент Memo без преобразований. В разделе описаний переменной опишите две строки, например: str1, str2: string; (обратите внимание, что однотипные переменные можно записывать в одну строку, разделяя их между собой запятой, и только после последней в списке ставить двоеточие и название типа переменных). Присвойте первой строке название переменной Unom следующим образом: str 1:= ' Unom= '; (обратите внимание, что Unom заключено в одиночные апострофы, а после знака равенства стоит пробел). Такие апострофы являются признаком строковой переменной и выводятся без изменений и преобразований. Второй строке присвойте значение единиц измерения: str 2:= ' кВ'; (строки могут записываться на любом языке, но при переносе с одного компьютера на другой могут возникнуть проблемы с правильной передачей национального шрифта). Пробел после открывающего строку апострофа нужен для отделения нескольких строк друг от друга. После операторов присвоения запишите строку вывода двух строк в поле Memo. Первую строку следует записывать в следующей последовательности: 1. набирать на клавиатуре первые символы поля Memo (проверить имя поля в дереве объектов). При наборе должен появиться выпадающий список правильных имён, из которого нужно выбрать нужное имя и подтвердить выбор нажатием клавиши Enter («Ввод»). 2. Набрать символ точки. Должен появиться выпадающий список возможных свойств (property) поля Memo. Выбрать свойство Lines (линия, строка). Выбор можно выполнить двумя способами: а) с помощью линейки прокрутки; б) начав набирать свойство. Завершается выбор нажатием клавиши Enter (далее в тексте для краткости будем говорить «выберите свойство …»). 3. После нажатия символа точка выбрать свойство add (добавить). 4. В круглые скобки запишите имя строки, которая должна быть выведена в поле Memo (в данном случае str 1). Проверьте, не забыли ли Вы поставить символ точки с запятой после круглых скобок. После выполнения п. 1 ÷ 4 в тексте процедуры должна появиться команда: memo 1 .Lines.Add(str1); (имя поля мемо 1 может отличаться от приведённого в данном тексте). Выведете в поле Memo вторую строку следующим образом: 1. выделите команду вывода первой строки, 2. скопируйте её в буфер обмена (команда Copy в списке команд при нажатии правой кнопки мыши или нажатие клавиш Ctrl+C), 3. вставьте в код процедуры (команда Paste в списке команд при нажатии правой кнопки мыши или нажатие клавиш Ctrl+V) сразу после команды вывода 1й строки, 4. Замените имя первой строи на вторую. После выполнения п. 1 ÷ 4 в тексте процедуры должна появиться команда: memo 1 .Lines.Add(str 2 );. Сохраните программу. Запустите программу одним из трёх способов: а) нажатием клавиши F 9; б) выбором команды Run из главного меню команд и его подменю; в) нажатием на зелёный треугольник, находящийся в линейке команд Дельфи. Исправьте ошибки. Нажмите клавишу выполнения процедуры. Посмотрите содержимое поля Мемо и убедитесь, что действительно вывелись две строки. Закройте режим исполнения программы. Задание 3 Численные значения переменных следует преобразовать в строки и только после преобразования выводить в компонент Memo. Для преобразования переменных типа Real в переменную типа строка используется функция FloatToStr (). Слово Float обозначает переменную с плавающей запятой любого типа (тип Real - один из многих типов таких переменных с дробной частью). В круглых скобках записывается имя численной переменной, которую преобразуют в строку. Скопируйте строку вывода и вставьте после второй строки вывода в поле Мемо. В круглых скобках функцию преобразования в строку значения переменной Unom. Сохраните программу, запустите на исполнение и убедитесь, что в поле вывода появилось число, которое соответствует номинальному напряжению. Вывод в одну строку в поле вывода можно сделать, если сложить несколько строк. Сложение строк называется командой конкатенации и обозначается символом сложения (+). В раздел описания переменных добавьте имя переменной типа строка, например, str 3. Допишите в код процедуры следующую строку: str 3 :=str1+FloatToStr(Unom)+str 2; и выведите её в поле вывода. После запуска программы, посмотрите правильно ли сделан вывод. Выведите в поле вывода значение Snom одной строкой с обозначением имени переменной, её числовым значением и единицей измерения.
Не нашли, что искали? Воспользуйтесь поиском:
|