Программа на Delphi

{Конвертирует Real в строку, Posle – количество символов в дробной части R}

begin

Str(R:20:Posle,Serv);

RealToStr:=Trim(Serv);

end;

  1. Function Slash(Dir: String): String;

{ставит в конец пути символ '\'}

begin

Serv:=Trim(Dir);

if (Serv[Length(Serv)]<>'\') then Result:=Serv+'\'

else Result:=Serv;

end;

  1. Function ChWinDos(Ch: Char): Char;

{преобразует русский Windows-символ в русский DOS-символ}

Var i,j: byte;

begin

i:=Ord(Ch);

Case i of

168: {Ё} j:=240;

184: {ё} j:=241;

192 255: if (i>239) then j:=i-16 else j:=i-64

else j:=i;

end;

Result:=Char(j);

end;

  1. Function ChDosWin(Ch: Char): Char;

{преобразует русский DOS-символ в русский Windows-символ}

Var i,j: byte;

begin

i:=Ord(Ch);

Case i of

240: {Ё} j:=168;

241: {ё} j:=184;

128 175: j:=i+64;

224 239: j:=i+16

else j:=i;

end;

Result:=Char(j);

end;

  1. Function StrWinDos(st: String): String;

{преобразует русскую Windows-строку в русскую DOS-строку}

Var

n, i: byte;

s: ^String;

begin

New(s);

n:=Length(st);

s^:= '';

if (n>0) then

for i:=1 to n do

s^:= s^+ChWinDos(st[i]);

Result:=s^;

Dispose(s);

end;

  1. Function StrDosWin(s: String): String;

{преобразует русскую DOS-строку в русскую Windows-строку}

Var

n,i: byte;

s: ^String;

begin

New(s);

n:=Length(st);

s^:= '';

if (n>0) then

for i:=1 to n do

s^:= s^+ChDosWin(st[i]);

Result:=s^;

end;

  1. Function InputStr(const Prompt: String; Var s: String; IsParol: byte): boolean;

{ввод строки. Prompt – пояснение, s – вводимая строка,

isParol=1, если засекреченный ввод, иначе видимый}

begin

Result:=

KdnInputQuery('Ввод строки', Prompt, s, clBlack, (IsParol=1));

end;

  1. Function ParolControl(RealParol: String): boolean;

{возвращает True, если введенная строка совпадает с RealParol}

var

b,h: boolean;

i: byte;

begin

St:='';

i:=0;

b:=false;

Repeat

Inc(i);

h:=InputStr('Введите пароль .',St,1);

if h then b:= (St=RealParol);

if not b and h then Warn1('Ошибка');

Until b or (i=3) or (not h);

Result:=b;

end;

  1. Function ExistSubDir(SubDir:String; Dir: tPathStr):boolean;

{устанавливает наличие субдиректории SubDir внутри директории Dir. Например, в D:\DIR0001 субдиректории BAR }

begin

Result:=DirectoryExists(Slash(SubDir)+Dir);

end;

  1. Function GetFileSize(const FileName: string): LongInt;

{размер файла}

var Sr: TSearchRec;

begin

if FindFirst(ExpandFileName(FileName), faAnyFile, Sr) = 0 then

Result := Sr.Size

else Result := -1;

end;

  1. Function FileDateTime(const FileName: string): System.TDateTime;

{время создания файла FileName, например:

s:= DateTimeToStr(FileDateTime('c:\KdnBread\Bread.exe'))}

begin

Result := FileDateToDateTime(FileAge(FileName));

end;

  1. Function HasAttr(const FileName: string; Attr: Word): Boolean;

{имеет ли файл FileName атрибут Attr}

begin

Result := (FileGetAttr(FileName) and Attr) = Attr;

end;

  1. Procedure AppendText(Var f: Text; nF: String);

{открывает текстовой файл для добавления строк}

begin

Assign(f,nF);

if KdnFS(nF,1)>0 then Append(f) else Rewrite(f);

end;

  1. Procedure AppendToText(nF,s: String);

{добавляет строку в конец текстового файла}

Var f: TextFile;

begin

AppendText(f, nF);

Writeln(f,s);

CloseFile(f);

end;

  1. Procedure KdnExec(Command: String);

{запуск другого приложения, например 'c:\KdnBreadDir\KdnBread.exe'}

begin

Serv:=Command+#0;

If WinExec(@Serv[1], SW_SHOWNORMAL)<32

then Warn2('Ошибочное завершение WinExec');

end;

ЛИТЕРАТУРА

  1. Зуев В. А Turbo Pascal 6.0, 7.0. М.: Веста; Радио и связь, 1993. 384 с.
  2. Епанишников А. М., Епанишников В. А. Программирование в среде Turbo Pascal 7.0. М.: Диалог МИФИ, 1993. 288 с.
  3. Сван Т. Основы программирования в среде для Windows 95. Пер. с англ., Киев: Диалектика, 1996. 480 с.
  4. Фаронов В. В. Delphi 4. Учебный курс. М.: Нолидж, 1999. 464 с.
  5. Федоров А. Г. Создание Windows-приложений в среде Delphi. М.: ТОО "Компьютер Пресс", 1995. 287 с.
  6. Хендерсон К. Руководство разработчика баз данных в Delphi 2. Киев: Диалектика, 1996. 544 с.
  7. Шумаков П. В. Delphi 3 и разработка приложений баз данных. М.: Нолидж, 1998. 704 с
  8. Справочная система Delphi 5.0 Help.


Страница: