Como instalo este componente?!
21/01/2010
0
Galera,
Este é o meu primeiro post neste forum e tenho uma dúvida trivial:
Achei este componente do usuário _anderson_ mas não sei como instalá-lo, pois nunca fiz essa inclusão. Estou finalizando um trabalho de faculdade e preciso desta comunicação com a balança toledo:
O componente do _anderson_:
unit UTToledo;
interface
uses
Dialogs, SysUtils, Classes, Controls;
function AbrePorta(const Porta, BaudRate, DataBits, Paridade: Integer): Integer; StdCall; External 'P05.DLL';
function PegaPeso(const OpcaoEscrita: Integer; Peso, Local: Pchar): Integer; StdCall; external 'P05.DLL';
function FechaPorta: Integer; StdCall; External 'P05.dll';
type
TPorta = (prCOM1, prCOM2, prCOM3, prCOM4, prCOM5, prCOM6, prCOM7, prCOM8, prCOM9);
TBaudRate = (br2400, br4800, br9600);
TDataBits = (db7Bits, db8Bits);
TParidade = (pdNenhuma, pdImpar, pdPar, pdEspaco);
TToledo = class(TComponent)
protected
function GetWeight: Real;
private
FPorta: TPorta;
FBaudRate: TBaudRate;
FDataBits: TDataBits;
FParidade: TParidade;
procedure SetPorta(const Value: TPorta);
procedure SetBaudRate(const Value: TBaudRate);
procedure SetDataBits(const Value: TDataBits);
procedure SetParidade(const Value: TParidade);
public
function PegarPeso: Real;
function AbrirPorta: Integer;
published
property Porta: TPorta read FPorta write SetPorta;
property DataBits: TDataBits read FDataBits write SetDataBits;
property Paridade: TParidade read FParidade write SetParidade;
property BaudRate: TBaudRate read FBaudRate write SetBaudRate;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Anderson', [TToledo]);
end;
{ TToledo }
function TToledo.AbrirPorta: Integer;
var
iPorta: Byte;
iBaudRate: Byte;
iDataBits: Byte;
iParidade: Byte;
begin
case Porta of
prCOM1 : iPorta := 1;
prCOM2 : iPorta := 2;
prCOM3 : iPorta := 3;
prCOM4 : iPorta := 4;
prCOM5 : iPorta := 5;
prCOM6 : iPorta := 6;
prCOM7 : iPorta := 7;
prCOM8 : iPorta := 8;
prCOM9 : iPorta := 9;
else
iPorta := 1;
end;
case BaudRate of
br2400 : iBaudRate := 0;
br4800 : iBaudRate := 1;
br9600 : iBaudRate := 2;
else
iBaudRate := 2;
end;
case DataBits of
db7Bits : iDataBits := 0;
db8Bits : iDataBits := 1;
else
iDataBits := 0;
end;
case Paridade of
pdNenhuma : iParidade := 0;
pdImpar : iParidade := 1;
pdPar : iParidade := 2;
pdEspaco : iParidade := 3;
else
iParidade := 3;
end;
Result := AbrePorta(iPorta, iBaudRate, iDataBits, iParidade )
end;
function TToledo.GetWeight: Real;
begin
Result := StrToFloatDef(InputBox('Peso na balança', 'Informe o peso','0'),0);
end;
function TToledo.PegarPeso: Real;
var
Retorno: Integer;
Peso: array[0..5]of char;
begin
repeat
Retorno := AbrirPorta;
Result := 0;
if Retorno <> 1 then
MessageDlg('Erro na abertura da porta COM da Balança!',mtError,[mbOk],0)
else
begin
Retorno := PegaPeso( 1, Peso, '' );
if Retorno = 1 then
begin
Result := StrToFloatDef(StrPas(Peso),0);
Result := Result/1000;
// Break;
end;
FechaPorta();
end;
if (Result <= 0) or (Retorno <> 1) then
begin
if MessageDlg('*** ERRO NA LEITURA DO PESO DA BALANÇA *** ' + #13 + #13 +
'O Sistema não conseguiu ler o peso da Balança.' + #13 +
'Você pode retirar o peso e colocar novamente para nova tenta-' + #13 +
'tiva de leitura do peso da balança. Caso não consiga ler o peso'+ #13 +
'da balança, você poder digitar o peso do produto.' + #13 + #13 + #13 +
'[SIM] -> Para digitar o peso do produto' + #13 +
'[NÃO] -> Para nova tentativa de ler o peso na balança',
MtWarning,[mbYes,mbNo],0) = MrYes then
begin
Result := GetWeight();
Break;
end;//-- if MessageDlg('*** ERRO ...
end//-- if (Result <= 0) or (Retorno <> 1) then
else
begin
Break;
end;
until False
end;
procedure TToledo.SetBaudRate(const Value: TBaudRate);
begin
FBaudRate := Value;
end;
procedure TToledo.SetDataBits(const Value: TDataBits);
begin
FDataBits := Value;
end;
procedure TToledo.SetParidade(const Value: TParidade);
begin
FParidade := Value;
end;
procedure TToledo.SetPorta(const Value: TPorta);
begin
FPorta := Value;
end;
end. Agradeço. MarioQ.
interface
uses
Dialogs, SysUtils, Classes, Controls;
function AbrePorta(const Porta, BaudRate, DataBits, Paridade: Integer): Integer; StdCall; External 'P05.DLL';
function PegaPeso(const OpcaoEscrita: Integer; Peso, Local: Pchar): Integer; StdCall; external 'P05.DLL';
function FechaPorta: Integer; StdCall; External 'P05.dll';
type
TPorta = (prCOM1, prCOM2, prCOM3, prCOM4, prCOM5, prCOM6, prCOM7, prCOM8, prCOM9);
TBaudRate = (br2400, br4800, br9600);
TDataBits = (db7Bits, db8Bits);
TParidade = (pdNenhuma, pdImpar, pdPar, pdEspaco);
TToledo = class(TComponent)
protected
function GetWeight: Real;
private
FPorta: TPorta;
FBaudRate: TBaudRate;
FDataBits: TDataBits;
FParidade: TParidade;
procedure SetPorta(const Value: TPorta);
procedure SetBaudRate(const Value: TBaudRate);
procedure SetDataBits(const Value: TDataBits);
procedure SetParidade(const Value: TParidade);
public
function PegarPeso: Real;
function AbrirPorta: Integer;
published
property Porta: TPorta read FPorta write SetPorta;
property DataBits: TDataBits read FDataBits write SetDataBits;
property Paridade: TParidade read FParidade write SetParidade;
property BaudRate: TBaudRate read FBaudRate write SetBaudRate;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Anderson', [TToledo]);
end;
{ TToledo }
function TToledo.AbrirPorta: Integer;
var
iPorta: Byte;
iBaudRate: Byte;
iDataBits: Byte;
iParidade: Byte;
begin
case Porta of
prCOM1 : iPorta := 1;
prCOM2 : iPorta := 2;
prCOM3 : iPorta := 3;
prCOM4 : iPorta := 4;
prCOM5 : iPorta := 5;
prCOM6 : iPorta := 6;
prCOM7 : iPorta := 7;
prCOM8 : iPorta := 8;
prCOM9 : iPorta := 9;
else
iPorta := 1;
end;
case BaudRate of
br2400 : iBaudRate := 0;
br4800 : iBaudRate := 1;
br9600 : iBaudRate := 2;
else
iBaudRate := 2;
end;
case DataBits of
db7Bits : iDataBits := 0;
db8Bits : iDataBits := 1;
else
iDataBits := 0;
end;
case Paridade of
pdNenhuma : iParidade := 0;
pdImpar : iParidade := 1;
pdPar : iParidade := 2;
pdEspaco : iParidade := 3;
else
iParidade := 3;
end;
Result := AbrePorta(iPorta, iBaudRate, iDataBits, iParidade )
end;
function TToledo.GetWeight: Real;
begin
Result := StrToFloatDef(InputBox('Peso na balança', 'Informe o peso','0'),0);
end;
function TToledo.PegarPeso: Real;
var
Retorno: Integer;
Peso: array[0..5]of char;
begin
repeat
Retorno := AbrirPorta;
Result := 0;
if Retorno <> 1 then
MessageDlg('Erro na abertura da porta COM da Balança!',mtError,[mbOk],0)
else
begin
Retorno := PegaPeso( 1, Peso, '' );
if Retorno = 1 then
begin
Result := StrToFloatDef(StrPas(Peso),0);
Result := Result/1000;
// Break;
end;
FechaPorta();
end;
if (Result <= 0) or (Retorno <> 1) then
begin
if MessageDlg('*** ERRO NA LEITURA DO PESO DA BALANÇA *** ' + #13 + #13 +
'O Sistema não conseguiu ler o peso da Balança.' + #13 +
'Você pode retirar o peso e colocar novamente para nova tenta-' + #13 +
'tiva de leitura do peso da balança. Caso não consiga ler o peso'+ #13 +
'da balança, você poder digitar o peso do produto.' + #13 + #13 + #13 +
'[SIM] -> Para digitar o peso do produto' + #13 +
'[NÃO] -> Para nova tentativa de ler o peso na balança',
MtWarning,[mbYes,mbNo],0) = MrYes then
begin
Result := GetWeight();
Break;
end;//-- if MessageDlg('*** ERRO ...
end//-- if (Result <= 0) or (Retorno <> 1) then
else
begin
Break;
end;
until False
end;
procedure TToledo.SetBaudRate(const Value: TBaudRate);
begin
FBaudRate := Value;
end;
procedure TToledo.SetDataBits(const Value: TDataBits);
begin
FDataBits := Value;
end;
procedure TToledo.SetParidade(const Value: TParidade);
begin
FParidade := Value;
end;
procedure TToledo.SetPorta(const Value: TPorta);
begin
FPorta := Value;
end;
end. Agradeço. MarioQ.
Mario Quinello
Curtir tópico
+ 0
Responder
Posts
22/01/2010
Kenner Grings
Bom dia Mario,
Pelo que entendi você tem apenas a unit do componente.
Para instalá-lo você deve criar um pacote. Para isso vá em File>New>Package, depois adicione essa unit do componente ao projeto do componente que você acabou de criar, clique com o botão direito sobre o projeto compile para ver se está tudo OK e depois botão direiro novamente Install. Pronto está instalado.
Esse procedimento é para BDS2006 ou >, no D7 ele abre uma janela com botões Compile e Install. O procedimento é semelhante.
Se quiser, antes de instalar dê nome ao projeto do Package e salve-o para próximas instalações.
Espero ter ajudado.
Abraço
Kenner Grings
Pelo que entendi você tem apenas a unit do componente.
Para instalá-lo você deve criar um pacote. Para isso vá em File>New>Package, depois adicione essa unit do componente ao projeto do componente que você acabou de criar, clique com o botão direito sobre o projeto compile para ver se está tudo OK e depois botão direiro novamente Install. Pronto está instalado.
Esse procedimento é para BDS2006 ou >, no D7 ele abre uma janela com botões Compile e Install. O procedimento é semelhante.
Se quiser, antes de instalar dê nome ao projeto do Package e salve-o para próximas instalações.
Espero ter ajudado.
Abraço
Kenner Grings
Responder
Clique aqui para fazer login e interagir na Comunidade :)