Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

Apêndice B: tsgbd.pas

As declarações das rotinas para ambientes Dephi estão contidas no arquivo tsgbd.pas, distribuído junto com as DLLs ROTWIN32.DLL e CLIWIN32.DLL.

A seguir listamos o arquivo tsgbd.pas, contendo a declaração de todas as funções incluídas nas bibliotecas dinâmicas ROTWIN32.DLL e CLIWIN32.DLL, a serem utilizadas em sistemas desenvolvidos em Delphi.

unit tsgbd;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

 ExtCtrls;

{Funcoes OpenBASE}

 function AbreBancoDeDados(Nome:Pointer;Nivel:

Pointer; Seguranca:integer;Modo:integer):integer; 

stdcall; external ‘RotWin32.dll’;

 function FechaBancoDeDados:integer; stdcall;

external ‘RotWin32.dll’; 

 function JuntaBancoDeDados(Nome:Pointer;Nivel: Pointer; Seguranca:integer;Modo:integer):

integer; stdcall;external RotWin32.dll’;

 function IniciaServidor(Endereco:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function FinalizaServidor:integer;stdcall;

 external ‘RotWin32.dll’;

 function ObtemCliente(Cliente:Pointer):

 integer; stdcall;external ‘RotWin32.dll’;

 function ObtemMensagem(Mensagem:Pointer):

 integer; stdcall;external ‘RotWin32.dll’;

 function ObtemDiretorio(Dir:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function EsvaziaArquivo(Arquivo:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ReiniciaSequencial(Arquivo:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function LeProximoRegistroSequencial

 (Arquivo:Pointer;Buffer:Pointer):

 integer; stdcall;external ‘RotWin32.dll’;

 function LeProximoSequencial(Arquivo:Pointer;LstItens:

 Pointer; Buffer:Pointer):integer; stdcall;external ‘RotWin32.dll’;

 function LeRegistroAnteriorSequencial

 (Arquivo:Pointer;Buffer:Pointer):

 integer;stdcall;external ‘RotWin32.dll’;

 function LeAnteriorSequencial

 (Arquivo:Pointer;LstItens:Pointer;Buffer:Pointer):i

 integer; stdcall;external ‘RotWin32.dll’;

 function IniciaCadeia

 (Arquivo:Pointer;Chave:Pointer;Valor:Pointer):

 integer; stdcall;external ‘RotWin32.dll’;

 function LeProximoRegistroCadeia 

(Arquivo:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function LeProximoCadeia

 (Arquivo:Pointer;LstItens:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function LeRegistroAnteriorCadeia

 (Arquivo:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function LeAnteriorCadeia

 (Arquivo:Pointer;LstItens:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function IniciaPorPrefixo

 (Arquivo:Pointer;Chave:Pointer;Valor:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function LeProximoRegistroPorPrefixo

 (Arquivo:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function LeProximoPorPrefixo

 (Arquivo:Pointer;LstItens:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function LeRegistroAnteriorPorPrefixo

 (Arquivo:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function LeAnteriorPorPrefixo

 (Arquivo:Pointer;LstItens:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function LeRegistroPorChavePrimaria

 (Arquivo:Pointer;Valor:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function LePorChavePrimaria

 (Arquivo:Pointer;Valor:Pointer;LstItens:Pointer;Buffer:Pointer):

 integer; stdcall;external ‘RotWin32.dll’;

 function ObtemEnderecoAtual(Arquivo:Pointer):longint;

 stdcall;external ‘RotWin32.dll’;

 function PosicionaNoRegistro

 (Arquivo:Pointer;Endereco:longint):integer;

 stdcall;external ‘RotWin32.dll’;

 function PosicionaNoRegistroPorChave

 (Arquivo:Pointer;valorchave:pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function LeRegistroPorEndereco

 (Arquivo:Pointer;Buffer:Pointer;Endereco:longint):integer;

 stdcall;external ‘RotWin32.dll’;

 function LePorEndereco

 (Arquivo:Pointer;LstItens:Pointer;Buffer:Pointer;Endereco:longint):

 integer;stdcall;external ‘RotWin32.dll’;

 function ExcluiRegistro(Arquivo:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ExcluiRegistroCascata(Arquivo:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ExcluiRegistroPoeNulo(Arquivo:Pointer):

 integer; stdcall;external ‘RotWin32.dll’;

 function IncluiTodoRegistro

 (Arquivo:Pointer;Buffer:Pointer): integer;

 stdcall;external ‘RotWin32.dll’;

 function IncluiRegistro

 (Arquivo:Pointer;LstItens:Pointer;Buffer:Pointer):

 integer; stdcall;external ‘RotWin32.dll’;

 function IncluiTodoRegistroNaCadeia

 (Arquivo:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function IncluiRegistroNaCadeia

 (Arquivo:Pointer;LstItens:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function AlteraTodoRegistro

 (Arquivo:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function AlteraTodoRegistroCascata

 (Arquivo:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function AlteraTodoRegistroPoeNulo

 (Arquivo:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function AlteraRegistro

 (Arquivo:Pointer;LstItens:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function AlteraRegistroCascata

 (Arquivo:Pointer;LstItens:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function AlteraRegistroPoeNulo

 (Arquivo:Pointer;LstItens:Pointer;Buffer:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemRegistrosNoArquivo(Arquivo:Pointer):

 integer; stdcall;external ‘RotWin32.dll’;

 function ObtemRegistrosNaCadeia(Arquivo:Pointer):

 integer; stdcall;external ‘RotWin32.dll’;

 function EscolheChave(Arquivo:Pointer;Chave:Pointer):

 integer; stdcall;external ‘RotWin32.dll’;

 function PegaMemo (Arquivo:Pointer;Item:Pointer;Saida:

 Pointer;Tamanho: integer;Lid:integer; Ofe:integer):integer;

 stdcall;external ‘RotWin32.dll’;

 function PoeMemo (Arquivo:Pointer;Item:Pointer;Saida:

 Pointer;Tamanho:integer;Flg:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function PegaItemMemo(Arquivo:Pointer;Item:Pointer;

 Saida:Pointer;Valor:integer):integer;stdcall;external ‘RotWin32.dll’;

 function PoeItemMemo(Arquivo:Pointer;Item:Pointer;

 Entrada: Pointer;Valor:integer):integer;stdcall;external ‘RotWin32.dll’;

 function PegaGravaItemMemo(Arquivo:Pointer;Item:

 Pointer;Saida:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function LePoeItemMemo(Arquivo:Pointer;Item:

 Pointer;Entrada:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ExcluiItemMemo

 (Arquivo:Pointer;Item:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemTamanhoMemo

 (Arquivo:Pointer;Item:Pointer;Tamanho:integer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemPercursoArquivoMemo

 (Arquivo:Pointer;Item:Pointer;Nome:integer):integer;

 stdcall;external ‘RotWin32.dll’;

 function PoeItem(Item:Pointer;Entrada:Pointer;

 Valor:Pointer):integer;stdcall;external ‘RotWin32.dll’;

 function PoeItemBuffer

 (Item:Pointer;Entrada:Pointer;Pos:integer;Valor:Pointer):

 integer;stdcall;external ‘RotWin32.dll’;

 function PegaItem(Item:Pointer;Entrada:Pointer;Valor:

 Pointer):integer;stdcall;external ‘RotWin32.dll’;

 function PegaItemBuffer

 (Item:Pointer;Entrada:Pointer;Pos:integer;Valor:Pointer):

 integer;stdcall;external ‘RotWin32.dll’;

 function Bloqueia:integer;stdcall;external ‘RotWin32.dll’;

 function IniciaTransacao:integer;stdcall;external ‘RotWin32.dll’;

 function Desbloqueia:integer; stdcall;external ‘RotWin32.dll’;

 function FinalizaTransacao:integer;stdcall;external ‘RotWin32.dll’;

 function DesfazTransacao:integer;

 stdcall;external ‘RotWin32.dll’;

 function SalvaTabelaExecucao

 (Arquivo:Pointer;Area:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function RestauraTabelaExecucao

 (Arquivo:Pointer;Area:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemItensDoArquivo

 (Arquivo:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemInfoSobreItem

 (Item:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemQtdChaves

 (Item:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemChaves

 (Item:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemNumeroDoItem

 (Item:Pointer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemInfoSobreArquivo

 (Arquivo:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemQtdLigacoes

 (Arquivo:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemLigacoes

 (Arquivo:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemNumeroDoArquivo

 (Arquivo:Pointer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemQtdJuncoes

 (Arquivo:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemJuncoes

 (Arquivo:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemQtdVirtuais

 (Arquivo:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemVirtuais

 (Item:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemTipoDaChave

 (Item:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemQtdItensBasicos

 (Arquivo:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemItensBasicos

 (Item:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemQtdRedefinicoes

 (Arquivo:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemRedefinicoes

 (Item:integer;Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemNiveis(Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemInfoSobreBanco(Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function ObtemInfoSobreCadeia(Inf:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

 function crypt(Ent:Pointer;Sal:Pointer;Sai:Pointer):integer;

 stdcall;external ‘RotWin32.dll’;

type

 {Estruturas usadas pelas Funcoes OpenBASE}

 itens = Packed Record

 item: array[0..13] of Char;

 end;

 info11 = Packed Record

 QtdIte: integer;

 NumIte: integer;

 end;

 info12 = Packed Record

 NuArCh: integer;

 NivLei: integer;

 NivGra: integer;

 NumArq: integer;

 TamIte: integer;

 PosIte: integer;

 QtdDec: integer;

 NomIte: integer;

 TipIte: integer;

 end;

 info13a = Packed Record

 QtItCh: integer;

 end;

 info13b = Packed Record

 NuArqM: integer;

 NuLigM: integer;

 NuChaD: integer;

 end;

 info14 = Packed Record

 NumIte: integer;

 end;

 info15 = Packed Record

 TamCab: integer;

 TamDad: integer;

 Numesq: integer;

 TamVir: integer;

 TamTot: integer;

 NomArq: array[0..13] of Char;

 DirArq: array[0..41] of Char;

 TipArq: array[0..1] of Char;

 end;

 info16a = Packed Record

 QtArqD: integer;

 NuItCh: integer;

 end;

 info16b = Packed Record

 NuArqD: integer;

 NuLigD: integer;

 NuIteD: integer;

 end;

 info17 = Packed Record

 NumArq: integer;

 end;

 info18a = Packed Record

 QtdArq: integer;

 end;

 info18b = Packed Record

 NumArq: integer;

 ArqOri: integer;

 ChvOri: integer;

 end;

 info19a = Packed Record

 QtdIte: integer;

 end;

 info19b = Packed Record

 NumIte: integer;

 end;

 info20 = Packed Record

 TipCha: integer;

 end;

 info21a = Packed Record

 QtdIte: integer;

 end;

 info21b = Packed Record

 NumIte: integer;

 end;

 info22a = Packed Record

 qtdIte: integer;

 end;

 info22b = Packed Record

 NumIte: integer;

 end;

 info23 = Packed Record

 NivAbr: integer;

 Niveis: array[0..15,0..7] of Char;

 end;

 info30 = Packed Record

 QtdArq: integer;

 Modo : integer;

 ArqRec: integer;

 QtdIte: integer;

 SubEsq: integer;

 BlqArq: integer;

 RecMax: integer;

 end;

 info31 = Packed Record

 QtdCad: integer;

 RegAnt: integer;

 RegAtu: integer;

 RegSeg: integer;

 UltAce: integer;

 IteChs: integer;

 NumLis: integer;

 end;

 TDataModule2 = class(TDataModule)

 end;

var

 DataModule2: TDataModule2;

implementation

{$R *.DFM}

end.

Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!