
- •Содержание
- •Основные теоретические сведения:
- •Константы в языке с
- •Операции отношения и логические операции
- •Операции присваивания
- •Поразрядные операции
- •Приоритет операций
- •Функции языка с
- •Операторы языка с Условный оператор if
- •Операторы цыклов
- •Оператор цикла с параметром for
- •Понятие массива
- •Объявление одномерных массивов
- •Указатели
- •Понятие статической и динамической памяти
- •Двоичные файлы в с
- •Главный модуль Unit1.Cpp
- •Модуль «Про автора» Unit3.Cpp
- •Модуль «Задание» Unit2.Cpp
- •Модуль «Заставка» Unit4.Cpp
- •Список использованной литературы:
Двоичные файлы в с
В отличии от текстовых файлов, двоичные файлы представляют собой последовательность символов без каких либо разделителей. Эти символы могут отображать объекты различных типов. Что именно хранит двоичный файл, должна знать программа. Обработка двоичных файлов происходит быстрее, чем текстовых. Кроме того, двоичные файлы имеют меньший объем. Но прочитать такой файл при помощи текстового редактора практически не возможно.
Открываются и закрываются двоичные файлы также как и текстовые, но при задании режима открытия файла к спецификатору добавляется символ «b», обозначающий двоичный файл.
Запись и чтение в бинарном файле обычно происходит при помощи операторов fwrite (чтение) и fread(запись).
Дата/время
Тип дата-время определяется стандартным идентификатором TDateTime и предназначен для одновременного хранения и даты, и времени. Во внутреннем представлении он занимает 8 байт и подобно currency представляет собой вещественное число с фиксированной дробной частью: в целой части числа хранится дата, в дробной - время. Дата определяется как количество суток, прошедших с 30 декабря 1899 года, а время - как часть суток, прошедших с 0 часов, так что значение 36444,837 соответствует дате 11.10.1999 и времени 20:05. Количество суток может быть и отрицательным, однако значения меньшие -693594 (соответствует дате 00.00.0000 от Рождества Христова) игнорируются функциями преобразования даты к строковому типу.
Составные типы: структурированные типы, указатели, строки, процедурные, объекты, классы, варианты.
Структурированные типы в свою очередь делятся на:
1. регулярные типы (массивы);
2. комбинированные типы (записи);
3. множественные типы;
4. файловые типы;
Простые типы, описанные выше, определяют различные множества атомарных (неразделимых) значений. Составные, или структурные типы, в отличие от простых, задают множества «сложных» значений; каждое значение из такого множества образует некоторый агрегат (совокупность) нескольких значений другого типа (или других типов). Можно сказать, что составные типы определяют некоторый способ образования новых типов из уже имеющихся, причем отдельные элементы составных значений могут иметь любой, в том числе составной, тип. Таким образом, Паскаль допускает образование структур данных произвольной сложности, позволяя тем самым достичь адекватного представления в программе тех данных, с которыми она оперирует.
Функции и процедуры для работы с датой и временем.
Date |
Возвращает текущую дату в формате TDateTime. |
DateTimeToFileDate |
Конвертирует значение даты и времени формата TDateTime в значение даты и времени формата DOS. |
DateTimeToStr |
Преобразовывает значение даты и времени формата TDateTime в его строковое представление. |
DateTimeToString |
Преобразовывает значение даты и времени формата TDateTime в строку, используя заданный формат. |
DateTimeToSystemTime |
Конвертирует значение даты и времени формата TDateTime Delphi в формат TSystemTime Win32 API. |
DateTimeToTimeStamp |
Преобразовывает значение даты и времени формата TDateTime в соответствующее значение TTimeStamp. |
DateToStr |
Преобразовывает значение даты формата TDateTime в ее строковое представление. |
DayOfWeek |
Возвращает порядковый номер дня недели указанной даты. |
DecodeDate |
Возвращает отдельно год месяц и день для значения типа TDateTime. |
DecodeTime |
Возвращает отдельно часы, минуты, секунды и миллисекунды для значения времени указанного в формате TDateTime. |
EncodeDate |
Преобразовывает отдельные значения года, месяца и дня в значение типа TDateTime. |
EncodeTime |
Преобразовывает значения часов, минут, секунд и миллисекунд в значение типа TDateTime. |
FileDateToDateTime |
Преобразовывает DOS переменную "дата-время" в формат TDateTime. |
FormatDateTime |
Преобразовывает значение даты и времени типа TDateTime в строку заданного формата. |
IncMonth |
Увеличивает или уменьшает дату на заданное количество месяцев. |
IsLeapYear |
Определяет, является ли указанный год високосным. |
MsecsToTimeStamp |
Преобразовывает значение времени в миллисекундах в значение типа TTimeStamp. |
Now |
Возвращает текущую дату и время в формате TDateTime. |
ReplaceDate Только в Delphi 5 |
Изменяет дату в значении даты и времени типа TDateTime. |
ReplaceTime Только в Delphi 5 |
Изменяет время в значении даты и времени типа TDateTime. |
StrToDate |
Преобразовывает строковое представление даты в значение типа TDateTime. |
StrToDateTime |
Преобразовывает строковое представление даты и времени в значение типа TDateTime. |
StrToTime |
Преобразовывает строковое представление времени в значение типа TDateTime. |
SystemTimeToDateTime |
Конвертирует значение времени формата Win32 API TSystemTime в значение Delphi-формата TDateTime. |
Time |
Возвращает текущее значение времени в формате TDateTime. |
TimeStampToDateTime |
Преобразовывает значение типа TTimeStamp в соответствующее значение типа TDateTime. |
TimeStampToMSecs |
Подсчитывает суммарное количество миллисекунд в значении типа TTimeStamp. |
TimeToStr |
Преобразовывает значение времени формата TDateTime в его строковое представление. |
Окна форм
Основная форма
Закладка №1
Закладка №2
Закладка №3
Закладка №4
Закладка №5
2. Об авторе
3. задание
4. Заставка
Меню пользователя
Меню пользователя для главной программы
Названия разделов меню
Сведенья |
Очистка файла |
Выход |
О задании |
|
|
Об авторе |
|
|
Имена объектов
N1 |
N2 |
N3 |
N4 |
|
|
N5 |
|
|
Меню пользователя для программы “Сведенья ”
Названия разделов меню
Просмотр Задания |
Сохранить изменения |
Изменение шрифта и стиля |
Выход |
Имена объектов
view_zadan |
Sav_mod |
Font_style |
Ex_it |
Тексты программ:
Библиотека bibl.cpp
//---------------------------------------------------------------------------
#pragma hdrstop
#include <stdio.h>
#include <DateUtils.hpp>
#include "bibl.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
int kol(FILE *f)
{int k=0;
f=fopen("a.dat","rb");
fseek(f,0,2);
k=ftell(f)/sizeof(r);
fclose(f);
return k;
}
void formir(FILE *f,rab mas[],int n)
{f=fopen("a.dat","rb");
for(int k=0;k<n;k++)
{fread(&r,sizeof(r),1,f);
mas[k]=r;}
fclose(f);
}
void sort(rab mas[],int k)
{int i,j; rab z;
for(j=0;j<=k;j++)
for(i=0;i<k-1;i++)
if((AnsiString)mas[i].fam>(AnsiString)mas[i+1].fam)
{(rab)z=(rab)mas[i];
(rab)mas[i]=(rab)mas[j];
(rab)mas[j]=(rab)z;}
}
bibl.h
//---------------------------------------------------------------------------
#ifndef biblH
#define biblH
struct rab{TDateTime d;char fam[15];char im[15];char o[15];char p[10];char dol[15];}r;
FILE *f;
//---------------------------------------------------------------------------
int kol(FILE *f);
void formir(FILE *f,rab mas[],int n);
void sort(rab mas[],int k);
#endif