Fórum Como converter Byte para integer no delphi? #256456
28/10/2004
0
Grato.
Ronaldo
Curtir tópico
+ 0Posts
28/10/2004
Delphi32
Caso não seja, bem, não é preciso converter um valor em outro. Eles são ´compatíveis´. Teste o seguinte exemplo:
... var s:byte; i:integer; begin s := 1; i := 0; i := s; end;
Até!
Gostei + 0
28/10/2004
Ronaldo
Gostei + 0
28/10/2004
Aroldo Zanela
Você tem um exemplo ou fragmento de código que apresenta o erro? Veja:
var A: Byte; B: Integer; begin A := 1; // B := Integer(A); B := A; // Equivalente ao typeCasting efetuado acima, ou seja, não dá erro e não é necessário if A = B then ShowMessage(´Ok´);
Gostei + 0
28/10/2004
Ronaldo
var Q: TQuery;
begin
Q := TQuery.Create(nil);
try
Q.DatabaseName := ´dbcfw´;
Q.sql.Text := ´select gen_id(G_´ + uppercase(tabela)+ ´,1) from RDB$DATABASE´;
Q.open;
// o BDE retorna como Byte.
// por isso do erro.
result := q.FieldByName(´gen_id´).Value;
finally
q.Free;
end;
end;
Gostei + 0
28/10/2004
Ronaldo
function Get_AutoIncremento(Const Tabela: string): integer;
var Q: TQuery;
MyBuffer : ^integer;
begin
Q := TQuery.Create(nil);
try
Q.DatabaseName := ´dbcfw´;
Q.sql.Text := ´select gen_id(G_´ + uppercase(tabela)+ ´,1) from RDB$DATABASE´;
Q.open;
with q.FieldByName(´gen_id´) do
begin
GetMem(MyBuffer, DataSize);
try
if not GetData(MyBuffer) then
MessageDlg(FieldName + ´ is NULL´, mtInformation, [mbOK], 0)
else
result := MyBuffer^;{ Do something with the data };
finally
{ Free the space }
FreeMem(MyBuffer, DataSize);
end;
end;
finally
q.Free;
end;
end;Grato
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)