Программа на DelphiРефераты >> Программирование и компьютеры >> Программа на Delphi
{Конвертирует Real в строку, Posle – количество символов в дробной части R}
begin
Str(R:20:Posle,Serv);
RealToStr:=Trim(Serv);
end;
- Function Slash(Dir: String): String;
{ставит в конец пути символ '\'}
begin
Serv:=Trim(Dir);
if (Serv[Length(Serv)]<>'\') then Result:=Serv+'\'
else Result:=Serv;
end;
- 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;
- 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;
- 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;
- 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;
- Function InputStr(const Prompt: String; Var s: String; IsParol: byte): boolean;
{ввод строки. Prompt – пояснение, s – вводимая строка,
isParol=1, если засекреченный ввод, иначе видимый}
begin
Result:=
KdnInputQuery('Ввод строки', Prompt, s, clBlack, (IsParol=1));
end;
- 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;
- Function ExistSubDir(SubDir:String; Dir: tPathStr):boolean;
{устанавливает наличие субдиректории SubDir внутри директории Dir. Например, в D:\DIR0001 субдиректории BAR }
begin
Result:=DirectoryExists(Slash(SubDir)+Dir);
end;
- 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;
- Function FileDateTime(const FileName: string): System.TDateTime;
{время создания файла FileName, например:
s:= DateTimeToStr(FileDateTime('c:\KdnBread\Bread.exe'))}
begin
Result := FileDateToDateTime(FileAge(FileName));
end;
- Function HasAttr(const FileName: string; Attr: Word): Boolean;
{имеет ли файл FileName атрибут Attr}
begin
Result := (FileGetAttr(FileName) and Attr) = Attr;
end;
- Procedure AppendText(Var f: Text; nF: String);
{открывает текстовой файл для добавления строк}
begin
Assign(f,nF);
if KdnFS(nF,1)>0 then Append(f) else Rewrite(f);
end;
- Procedure AppendToText(nF,s: String);
{добавляет строку в конец текстового файла}
Var f: TextFile;
begin
AppendText(f, nF);
Writeln(f,s);
CloseFile(f);
end;
- Procedure KdnExec(Command: String);
{запуск другого приложения, например 'c:\KdnBreadDir\KdnBread.exe'}
begin
Serv:=Command+#0;
If WinExec(@Serv[1], SW_SHOWNORMAL)<32
then Warn2('Ошибочное завершение WinExec');
end;
ЛИТЕРАТУРА
- Зуев В. А Turbo Pascal 6.0, 7.0. М.: Веста; Радио и связь, 1993. 384 с.
- Епанишников А. М., Епанишников В. А. Программирование в среде Turbo Pascal 7.0. М.: Диалог МИФИ, 1993. 288 с.
- Сван Т. Основы программирования в среде для Windows 95. Пер. с англ., Киев: Диалектика, 1996. 480 с.
- Фаронов В. В. Delphi 4. Учебный курс. М.: Нолидж, 1999. 464 с.
- Федоров А. Г. Создание Windows-приложений в среде Delphi. М.: ТОО "Компьютер Пресс", 1995. 287 с.
- Хендерсон К. Руководство разработчика баз данных в Delphi 2. Киев: Диалектика, 1996. 544 с.
- Шумаков П. В. Delphi 3 и разработка приложений баз данных. М.: Нолидж, 1998. 704 с
- Справочная система Delphi 5.0 Help.