Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовые / 1 / STASKURS / Курсовая работа.doc
Скачиваний:
19
Добавлен:
17.04.2013
Размер:
1.63 Mб
Скачать

Unit2.H

//---------------------------------------------------------------------------

#include <dos.h>

#include <string.h>

#include <stdio.h>

#include <SysUtils.hpp>

#include <stdlib.h>

#ifndef Unit2H

#define Unit2H

//---------------------------------------------------------------------------

#endif

extern bool p;//определение глобальной переменой p и n

extern bool n;

//Определение функции переводяшей байты в Кб и Мб ,

//округляющей эти значения

float okrugl(long int baits)

{ int bait;

float size;

char bufer[256];

bait=1024;

AnsiString bufer_preobraz;

if (baits>=(bait*bait))

{ size=((float)baits/(bait*bait));

sprintf(bufer,"%.2f",size);

char *ptr = strchr(bufer,'.');

bufer[ptr-bufer]=',';

bufer_preobraz=((AnsiString)bufer);

return (StrToFloat(bufer));

};

if((baits<(bait*bait))&&(baits>=bait))

{ size=((float)baits/bait);

sprintf(bufer,"%.2f",size);

char *ptr = strchr(bufer,'.');

bufer[ptr-bufer]=',';

bufer_preobraz=((AnsiString)bufer);

return (StrToFloat(bufer));

};

if(baits<bait)

{ size=((float)baits);

sprintf(bufer,"%.2f",size);

char *ptr = strchr(bufer,'.');

bufer[ptr-bufer]=',';

bufer_preobraz=((AnsiString)bufer);

return (StrToFloat(bufer));

};

return 0;

}

//---------------------------------------------------------------

//Определение функции делающей размерность байты Кб,Мб

AnsiString razmer(long int baits)

{ int bait;

bait=1024;

AnsiString razmer;

if (baits>=(bait*bait))

{ razmer="Мбайт";

return (razmer);

};

if((baits<(bait*bait))&&(baits>=bait))

{ razmer="Кбайт";

return (razmer);

};

if(baits<bait)

{ razmer="Байт";

return (razmer);

};

return 0;

};

//-------------------------------------------------------------

//Определение функции выводящей день

int day (unsigned short day)

{ long int day1;

day1=(day&31);

day1=(day1>>0);

return day1;

};

//-------------------------------------------------------------

// Определение функции выводящей месяц

int month(unsigned short month )

{ long int month1;

month1=(month&480);

month1=(month1>>5);

return month1;

}

//--------------------------------------------------------------

// Определение функции выводящей год

int age(unsigned short age )

{ long int age1;

age1=(age&65024);

age1=(age1>>9);

return (age1+1980);

}

//--------------------------------------------------------------

//------------------------------------------------------------

//Функция для проверки введеной пользователем даты

void Data(AnsiString D)

{ struct data{

char chislo[3];

char mes[3];

char god[5];

};

char dest[9];

int i=0,ch=0,me=0,go=0;

struct data dat;

dest[8]='\0';

//---------------------//

dat.chislo[2]='\0';

dat.mes[2]='\0';

dat.god[4]='\0';

strncpy(dest,D.c_str(),8);//Копирует 8 символов в строку dest

for (i=0;i<2;i++)

dat.chislo[i]=dest[i];

for (i=0;i<2;i++)

dat.mes[i]=dest[i+2];

for (i=0;i<4;i++)

dat.god[i]=dest[i+4];

try{

ch=StrToInt((AnsiString)dat.chislo);//переводим в начале char

me=StrToInt((AnsiString)dat.mes); //в AnsiString затем в Int

go=StrToInt((AnsiString)dat.god);

if (me>12||me<1)

{

ShowMessage("Введенно неверное значение для месяца");

p=true;

}

if(ch>31||ch<1)

{

ShowMessage("Введенно неверное значение для дня ");

p=true;

}

if((ch>28)&&(me==2)&&(go%4!=0))

{

ShowMessage("Феврвле 28 дней ");

p=true;

}

if((ch>30)&&(me==4||me==6||me==9||me==11))

{

ShowMessage(" В "+(AnsiString)me+" месяце 30 дней ");

p=true;

}

if((ch>29)&&(me==2)&&(go%4==0))

{

ShowMessage("Значения дня не верно");

p=true;

}

}

catch(EConvertError&)

{ShowMessage("Не введена дата создания файла");

p=true; //Обработка исключения вызваного

} // ведением пустой строки в

// MaskEdit

}

//---------------------------------------------------------------------------

//Функция обрабатывающая имя файла на синтаксические ошибки и недопустимые символы

void Nam(AnsiString nam)

{ int i,y;

char sim[]={'?','|',':','\\','/','>','<','*','\0'};

if (AnsiStrScan(nam.c_str(),'.')!=NULL)

y=strlen(AnsiStrRScan(nam.c_str(),'.'));

if(y-1>3)

{ShowMessage("Расширение файла "+(nam)+" должно быть < или = 3 символом");

n=true;}

else if(AnsiStrScan(nam.c_str(),'.')==NULL)

{ShowMessage("Имя файла "+(nam)+" веденно не верно \n имя файла должно состоять из\n[имя_файла.расширение]");

n=true;}

for(i=0;i<8;i++)

{ if((AnsiStrScan(nam.c_str(),sim[i])!=NULL))

{ShowMessage("Расширение файла не может содержать "+((AnsiString)sim[i]));

n=true;}

}

}

Соседние файлы в папке STASKURS