Marcos H Martins Postado Maio 30, 2010 Denunciar Share Postado Maio 30, 2010 Pessoal como posso converter longeint para Stringcom esse codigo abaixo.with MemoProdutos.Lines do begin Add(FormatFloat('000', IBTItensITEM.Value) + ' ' + intToStr(pProduto) + #9 + ' ' + MidStr(PanelNomeProd.Caption, 1, 20)); Add(#9 + EditQtd.Text + #9 + ' ' + EditPreco.Text + #9 + ' ' + EditPrecoTotal.Text); end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Douglas Soares Postado Maio 31, 2010 Denunciar Share Postado Maio 31, 2010 Pelo firebird eu posso ir no ibexpert e alterar, ou então pela aplicação eu faço o seguinte... descubro o tipo do campo com essa query monstruosa:SELECT DISTINCT A.RDB$FIELD_POSITION AS ORDER_ID, A.RDB$FIELD_NAME AS F_NAME, B.RDB$FIELD_TYPE, B.RDB$FIELD_SCALE, B.RDB$CHARACTER_LENGTH, CASE WHEN B.RDB$FIELD_PRECISION > 0 THEN 'NUMERIC('||CAST(B.RDB$FIELD_PRECISION AS VARCHAR(2))||','||CAST(B.RDB$FIELD_SCALE*-1 AS VARCHAR(2))||')' WHEN C.RDB$TYPE_NAME='LONG' THEN 'INTEGER' WHEN C.RDB$TYPE_NAME='SHORT' THEN 'SMALLINT' WHEN C.RDB$TYPE_NAME='VARYING' THEN 'VARCHAR('||B.RDB$CHARACTER_LENGTH||')' WHEN C.RDB$TYPE_NAME='TEXT' THEN 'CHAR('||B.RDB$CHARACTER_LENGTH||')' WHEN C.RDB$TYPE_NAME='BLOB' THEN 'BLOB SUB_TYPE '||CAST(B.RDB$FIELD_SUB_TYPE AS CHAR(1)) ELSE C.RDB$TYPE_NAME END AS F_TIPO, CASE WHEN A.RDB$NULL_FLAG IS NULL THEN '' ELSE 'NOT NULL' END AS F_NULL, F.RDB$FIELD_NAME AS F_PRIMARY FROM RDB$RELATION_FIELDS A LEFT JOIN RDB$FIELDS B ON A.RDB$FIELD_SOURCE=B.RDB$FIELD_NAME LEFT JOIN RDB$TYPES C ON C.RDB$FIELD_NAME='RDB$FIELD_TYPE' AND B.RDB$FIELD_TYPE=C.RDB$TYPE LEFT JOIN RDB$RELATION_CONSTRAINTS E ON A.RDB$RELATION_NAME=E.RDB$RELATION_NAME AND E.RDB$CONSTRAINT_TYPE='PRIMARY KEY' LEFT JOIN RDB$INDEX_SEGMENTS F ON E.RDB$INDEX_NAME=F.RDB$INDEX_NAME AND A.RDB$FIELD_NAME=F.RDB$FIELD_NAME WHERE A.RDB$RELATION_NAME = 'TABELA' AND A.RDB$FIELD_NAME = 'CAMPO' Substitua TABELA pela sua tabela, e CAMPO pelo seu campo. Pra checar o tipo de campo faça assim: if qry1.FieldByName('F_TIPO').Text = 'LongInt'then begin // Código aqui! end;Agora você faz o seguinte, se ver que o tipo é longint ou outra tipo que você queira alterar, você pega e cria um novo campo e passa os dados pra ele, então você apaga o campo velho, cria ele denovo mas no tipo certo e então passa os dados do campo temporário para ele, daí é só você apagar o campo temporario que fica certo!Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Marcos H Martins
Pessoal como posso converter longeint para String
com esse codigo abaixo.
with MemoProdutos.Lines do
begin
Add(FormatFloat('000', IBTItensITEM.Value) + ' ' + intToStr(pProduto) + #9 + ' ' +
MidStr(PanelNomeProd.Caption, 1, 20));
Add(#9 + EditQtd.Text + #9 + ' ' + EditPreco.Text + #9 + ' ' + EditPrecoTotal.Text);
end;
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.