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;}
}
}