Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы программирования в Delphi. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Основы программирования в Delphi
Значение
Способ открытия файла
FmCreate
Создается новый файл. Если файл уже существу­ет, он открывается в режиме записи.
FmOpenRead
Для чтения
FmOpenWrite
Для записи
FmOpenReadWrtite
Для чтения и записи
Значение Origin
Способ отсчета
SoFromBeginning
От начала файла
SoFromCurrent
От текущей позиции в файле
SoFromEnd
От конца файла (значение параметра Offset должно быть ≤ 0)
Конструктор имеет два параметра: имя открываемого файла и режим от-
крытия:
Constructor Create (const FileName : String; Mode : Word);
Параметр Mode принимает одно из следующих значений:
Если открыть файл не удается, возникает исключительная ситуация. Что-
бы закрыть файл, надо вызвать метод Free.
Для считывания данных из потока применяется метод:
function Read (var Buffer; Count : LongInt) : LongInt;
В переменную Buffer, начиная с текущей позиции в файле, записывается
число байтов, указанное в параметре Count. Функция возвращает реально счи­танное число байтов.
Запись данных осуществляется с помощью метода
function Write (var Buffer; Count : LongInt) : LongInt;
Число байтов, указанное в параметре Count, записывается из переменной
Buffer в текущую позицию в файле. Функция возвращает реально записанное
число байтов.
Метод function Seek (Offset: LongInt; Origin: Word) : LongInt; дает возможность установить текущую позицию в файле в зависимости от па­раметра Offset (число байтов, на которое перемещается эта позиция) и парамет­ра Origin, который может принимать одно из следующих значений:
131
Основы программирования в Delphi
Собственных свойств у класса TFileStream нет. Он наследует два свойства класса THandleStream: сам идентификатор Handle и свойство Size, определяю­щее длину файла в байтах.
Еще одно свойство унаследовано от класса TStream это текущая позиция файлового указателя, отсчитанная в байтах от начала файла (свойство Position).
Пример. Открывается файл в виде потока, выполняется установка теку­щей позиции на его середину, считывается 50 байтов, которые выводятся в поле
Edit1, после чего файл закрывается. var Stream : TFileStream;
Buf : array[0..50] of Char;
begin
Try Stream := TFileStream.Create („c:\a.dat‟, fmOpenReadWrite) Stream.Seek (Stream.Size div 2, soFromBeginning); Stream.Read (Buf, 50); Edit1.Text := StrPas (Buf); Finally Stream.Free;
end; end;
Класс TFileStream наследует также ряд методов вышестоящих классов. От
класса THandleStream унаследован метод
procedure SetSize (NewSize : LongInt);
который позволяет изменить текущий размер файла новым значением
размера. Как правило, новый размер меньше текущего, т.е. происходит усече-
ние файла.
Для копирования файлов удобно применять метод
function CopyFrom (Source:TStream; Count:LongInt):LongInt;
базового класса TStream. Первый параметр – поток источник, из которого бе­рется число байтов, заданное параметром Count, и копируется в текущий объ-
ект. При этом автоматически выполняются операции по временной буфериза-
ции данных.
КОНТРОЛЬНЫЕ ВОПРОСЫ
132
Основы программирования в Delphi
1. В чем заключается стандартный порядок действий при работе с файлами?
2. Какие процедуры Delphi используются для открытия файлов и записи в
файл?
3. В чем особенность работы с файловой системой Windows?
4. Объясните объектный подход в работе с файлами.
133
Основы программирования в Delphi
ЗАКЛЮЧЕНИЕ
В данном учебном пособии приведены основные приемы разработки про-
грамм в среде разработки Delphi 7. Системы быстрой разработки приложений, к
которым относится и Delphi 7, существенно облегчают разработку приложений. Однако стоит также отметить, что сами эти системы с каждым годом становят­ся всѐ сложнее. Изучение всех возможностей и особенностей языка программи­рования и среды разработки Delphi 7 требует значительных усилий, очень больших затрат времени и постоянной работы в этой среде. Вузовские про­граммы рассчитаны на знакомство с системой, с используемым в ней языком программирования и приобретение навыков решения достаточно простых за­дач. Студент в процессе обучения должен получить базовые знания, которые позволят ему в дальнейшем самостоятельно освоить возможности системы, не­обходимые в профессиональной деятельности, в том числе и педагогической. Следует учитывать, что в большинстве случаев язык Pascal к сожалению пред­варительно не изучается и уже при освоении системы Delphi приходится значи­тельное внимание уделять конструкциям языка и правилам их использования. В настоящее время имеется большое количество учебной литературы, посвя­щѐнной языку и системе Delphi. Кроме того, много полезной информации мож­но извлечь из глобальной сети Internet. Всѐ это очень хорошо, так как позволяет осваивать дополнительные возможности, знакомиться с опытом профессио­нальных программистов и опытных преподавателей вузов и школ. Однако на первых этапах знкомства с системой и языком программирования трудно найти нужную информацию, подходящие примеры и рекомендации по целесообраз­ности применения тех или иных методов решения прикладных задач. К сожа­лению, работа с учебником по программированию в читальном зале мало эф­фективна, учебник нужен постоянно при работе за компьютером. В данном учебном пособии приведены и систематизированы те знания и сведения, без которых трудно обойтись при изучении программирования. Учебное пособие должно стать хорошим подспорьем также для будущих и действующих специа-
листов в области информатики и ИКТ.
134
Основы программирования в Delphi
Функция
Соотношение
Модуль math
Loga(x)
)()(aLn
xLn
LogN(a, x) xa e
a*Ln(x)
Power(x, a)
Tg(x)
)()(xCos
xSin
Tan(x)
Ctg(x)
)()(xSin
xCos
CoTan(x)
Sh(x)
2
xxee
Sinh(x)
Ch(x)
2
xxee
Cosh(x)
ПРИЛОЖЕНИЕ 1. МАТЕМАТИЧЕСКИЕ ФОРМУЛЫ
Язык Object Pascal имеет довольно ограниченное количество встроенных
математических функций (|x| → abs(x), Arctg(x) → ArcTan(x), ex → Exp(x), x→ Sqrt(x), x2 → Sqr(x), Ln(x), Cos(x), Sin(x) и др.). Скорее всего, это из-за того, что создатель языка Никлаус Вирт сам был хорошим математиком и посчитал лиш­ним вводить функции, которые можно определить через другие с помощью ма­тематических формул. Поэтому при необходимости использовать другие функ­ции следует применять известные соотношения или модуль math. В следующей таблице приведены выражения для наиболее часто встречающихся функций
при составлении программ.
135
Основы программирования в Delphi
Function StrToFloat(St: String): Extended;
Преобразует символы строки St в вещественное
число. Строка не должна содержать ведущих
или ведомых пробелов
Function StrToInt(St: String): Integer;
Преобразует символы строки St в целое число. Строка не должна содержать ведущих или ве­домых пробелов
Procedure Val(St: String; var X; Code: Integer);
Преобразует строку символов St во внутреннее
представление целой или вещественной пере­менной X, которое определяется типом этой пе-
ременной. Параметр Code содержит ноль, если преобразование прошло успешно
Function FloatToStr(Value: Extended: String;
Преобразует вещественное значение Value в строку символов
Function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): String;
Преобразует вещественное значение Value в строку символов с учетом параметров Precision и Digits
Procedure Str(X [:width [:Decimals]]; var St: String);
Преобразует число Х любого вещественного или целого типа в строку символов St; парамет­ры Width и Decimals, если они присутствуют, задают формат преобразования
ПРИЛОЖЕНИЕ 2. ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ ПРЕОБРАЗОВА-
НИЯ СТРОКОВОГО ПРЕДСТАВЛЕНИЯ ЧИСЕЛ
Подпрограммы преобразования строки в другие типы
Подпрограммы обратного преобразования в строку
ИТОГОВЫЙ ТЕСТ ПО DELPHI
https://goo.gl/rIHv9U
136
Основы программирования в Delphi
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Архангельский А. Я. Программирование в Delphi 7. - М: ЗАО «Издатель-
ство БИНОМ», 2006 г. - 1120 с.: ил.
2. Бабушкина И.А. Практикум по объектно-ориентированному программиро-
ванию./ Бабушкина И.А., Окулов С.М.: - Бином, Лаборатория знаний, 2004. – 366 с.; ил.
3. Бобровский С. И. Delphi 7. Учеб. курс. - СПб: Питер, 2006. - 736 с.: ил.
4. Желонкин А.В. Основы программирования в интегрированной среде DEL-
PHI. Практикум / А.В. Желонкин. – 2-е изд. - М.: БИНОМ. Лаборатория знаний, 2006. – 236 с.: ил.
5. Кузнецов С.Д. Основы баз данных: учебное пособие - 2-е изд., испр. – М.:
Интернет-Университет Информационных технологий; БИНОМ. Лаборато­рия знаний, 2007. – 484 с.: ил.
6. Мухаметзянов Р.Р. Программирование в DELPHI 7 / Р. Р. Мухаметзянов. –
Набережные Челны: ФГБОУ ВПО «НИСПТР», 2012. – 206 с.
7. Хомоненко и др. Delphi 7. - СПб.: БХВ-Петербург, 2008. - 1216 с.: ил.
8. Хореев П.Б. Технологии объектно-ориентированного программирования:
Учебное пособие для студ. высш. учеб. заведений. – М.: Издательский центр «Академия», 2007. – 448 с.
9. Хузятов Ш.Ш. Введение в программирование в Delphi 7: учеб. пособие./
Ш.Ш. Хузятов, Р.Р. Мухаметзянов. – Наб. Челны: НГПИ, 2008. – 96 с.
10. Хузятов Ш.Ш. База данных в Delphi 7: учеб. пособие. / Ш.Ш. Хузятов, Р.Р.
Мухаметзянов. – Наб. Челны: НГПИ, 2008. – 80 с.
11. Фуфаев Э.В. Разработка и эксплуатация удаленных баз данных: учебник
для студентов среднего профильного образования / Э.В. Фуфаев, Д.Э. Ф у-
фаев. - 2-е издание стер. - М.: Издательский центр «Академия», 2009 - 256 стр.
12. https://www.bsuir.by/m/12_100229_1_63300.pdf#1
13. http://ru.convdocs.org/docs/index-283879.html
14. http://samzan.ru/207695
15. https://www.bsuir.by/m/12_100229_1_63301.pdf#5
16. http://portal.tpu.ru/SHARED/v/VIC/education/oop/Tab1/course-373-
html/index.html/#1
17. http://library.tuit.uz/knigiPDF/12.pdf
137
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]