Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы программирования в Delphi. Учебно-методическое пособие
.pdf
Основы программирования в 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
