Ana səhifə

Universidade Regional Integrada do Alto Uruguai e das Missões Campus Frederico Westphalen Departamento de Engenharias e Ciência da Computação Algoritmos e Estrutura de Dados I informática I


Yüklə 0.52 Mb.
səhifə21/23
tarix25.06.2016
ölçüsü0.52 Mb.
1   ...   15   16   17   18   19   20   21   22   23

15.5Funções com Ordinais


Pred (variável)

Retorna o predecessor do argumento passado



Succ (variável)

Retorna o sucessor do argumento passado


15.6Unit DOS


DOSVERSION : Word ;

Retona a versão do sistema. A parte baixa retorna a versão e a parte baixa a atualização



DISKFREE (drive : Byte) : Longint;

Retorna o número de bytes livres no drive.



DISKSIZE (drive : Byte ) : Longint ;

Retorna o total de bytes da unidade de disco



ENVCOUNT : Integer ;

Retorna o número de strings contidas no ambiente DOS



ENVSTR (indice : Integer ) : String ;

Retorna a string do ambiente DOS correspondente ao índice.



GETENV (ambiente : String ) : String ;

Retorna o conteúdo da string passada como parâmetro relativa ao ambiente DOS.



EXEC (caminho, linhadecomando : String );

Executa um comando passado como parâmetro. Deve ser usado em conjunto com SWAPVECTORS.

Exemplo

Program ExecutaProgrDos;



{$M $4000,0,0 } { 16K stack, no heap }

uses Dos;

var

ProgramName, CmdLine: string;



begin

Write('Programa para executar: ');

ReadLn(ProgramName);

Write('Argumento a ser passado para ',ProgramName, ': ');

ReadLn(CmdLine);

WriteLn('Executando...');

SwapVectors;

Exec(ProgramName, CmdLine);

SwapVectors;

WriteLn('...voltando da Execu‡„o');

if DosError <> 0 then { Error? }

WriteLn('DOS error #', DosError)

else

WriteLn('Exec com sucesso. ',



'Codigo de Saida do Processo de execução = ',

DosExitCode);

end.

DOSEXITCODE : Word ;

Retorna o código de saída de um processo



FEXPAND ( path: PATHSTR) : PATHSTR;

Retorna uma string contendo o nome de programa passado como parâmetro em sua totalidade.



FSEARCH ( path: PATHSTR; lista : String ) : PATHSTR;

Procura um determinado arquivo em uma lista de diretórios



FSPLIT (path: PATHSTR; VAR dir: DIRSTR; VAR nome: NAMESTR; VAR ext: EXTSTR);

Explode o nome do arquivo passando como parâmetro, em três partes o diretório, o nome do arquivo e a extensão.



FINDFIRST (caminho : String ; atributo : Word ; VAR s : SEARCHREC);

Procura um determinado arquivo, especificando seu nome e seu atributo



FINDNEXT (VAR s : SEARCHREC);

Devolve a próxima entrada, após FINDFIRST.



GETCBREAK (VAR break : Boolean);

Retorna o estado da checagem de CTRL-BREAK.



SETCBREAK (break : Boolean);

Altera o estado da checagem de CTRL-BREAK.



GETVERIFY (VAR v: Boolean);

Retorna o estado do flag de verificação do Sistema Operacional



SETVERIFY (v : Boolean);

Altera o estado do flag de verificação do Sistema Operacional



GETDATE (VAR ano, mes, dia, dia_semana : Word );

Retorna a data corrente do sistema operacional



SETDATE (ano, mes, dia : Word );

Altera a data do sistema operacional



GETTIME (var hora, min, seg, cen : Word );

Retorna a hora do sistema operacional



SETTIME (hora, min, seg, cen : Word );

Altera a hora do sistema operacional



PACKTIME (VAR data : DATETIME; VAR ftime : Longint );

Compacta data e hora em 4 bytes. A hora e a data deverão estar em um registro DATETIME predefinido na Unit DOS:

DATETIME = record

year, month, day, hour, min, sec : Word ;

END;

UNPACKTIME (ftime : Longint ; VAR data :DATETIME);

Descompacta um valor de 4 bytes para o registro DATETIME.



GETFTIME (VAR arquivo, VAR dh : Longint );

Retorna a hora e a data da última atualização de um arquivo.



SETFTIME (VAR arquivo, VAR dh : Longint );

Estabelece uma nova data e hora de última gravação em um arquivo.



GETFATTR (arquivo; VAR atrib : Word );

Retorna o atributo de um determinado arquivo:

READONLY = $01; (somente leitura)

HIDDEN = $02; (escondido)

SYSFILE = $04; (arquivo de sistema)

VOLUMEID = $08; (nome de volume)

DIRECTORY = $10; (diretório)

ARQUIVE = $20; (arquivo)

ANYFILE = $3F; (sem definição)

SETFATTR (VAR arquivo; atrib : Word );

Estabelece um novo atributo para um arquivo



GETINTVEC (nuint : Byte ; VAR vetor : pointer);

Retorna o endereço de memória de um vetor de interrupção específico



SETINTVEC (nuint : Byte ; VAR vetor : pointer);

Determina um novo endereço de memória de um vetor de interrupção específico



SWAPVECTORS ;

Permite que sejam salvos todos os vetores de interrupção do sistema.



INTR (intnro : Byte ; VAR reg : REGISTERS);

Permite executar uma interrupção do sistema operacional. Deve-se passar como parâmetro o número da interrupção e um registro dos registradores, predefinido na Unid DOS:

REGISTERS = RECORD

case integer of

0: (AX, BX, CX, DX, BP, SI, DI, DS, ES, FLAGS : Word );

1: (AL, AH, BL, BH, CL, CH, DL, DH : Byte );

END;

MSDOS (VAR reg : REGISTERS);

Executa uma chamada na interrupção 21H do sistema operacional.



KEEP (saida : Word );

Termina um programa e mantém residente na memória.

Exemplo de um programa que causa um click cada vez que uma tecla é pressionada:

Program ExemploKeep;

{$M $800,0,0 } { 2K stack, no heap }

uses Crt, Dos;

var

KbdIntVec : Procedure;



{$F+}

procedure Keyclick; interrupt;

begin

if Port[$60] < $80 then



begin

Sound(5000);

Delay(1);

Nosound;


end;

inline ($9C);

KbdIntVec;

end;


{$F-}

begin


GetIntVec($9,@KbdIntVec);

SetIntVec($9,Addr(Keyclick));

Keep(0);

end.

1   ...   15   16   17   18   19   20   21   22   23


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©atelim.com 2016
rəhbərliyinə müraciət