Fórum Converter Integer para String #8300
04/08/2009
0
var
Linha: integer;
begin
inherited;
dmAdo.ADOConnection.BeginTrans;
try
DataSource.DataSet.Edit;
DataSource.DataSet.Post; dmAdo.ADOConnection.Execute('delete tb_kit_produto where kit_codigo = '+DataSource.DataSet.FieldByName('kit_codigo').AsString);
for Linha := 1 to GridItem.RowCount-2 do
begin
if GridItem.Ints[ COL_QTDE, linha ] > 0 then
begin
dmAdo.ADOConnection.Execute('insert into tb_kit_produto ( kit_codigo, mpr_codigo, ktp_qtde ) values ( '+
DataSource.DataSet.FieldByName('kit_codigo').AsString+' ,'+
GridItem.Cells[ COL_CODIGO, linha ]+' ,'+
GridItem.Cells [ COL_QTDE, linha ]+' )'); end;
end;
dmAdo.ADOConnection.CommitTrans;
except
dmAdo.ADOConnection.RollbackTrans;
raise;
end;
end;
Irenildo Carvalho
Curtir tópico
+ 0Posts
04/08/2009
Wesley Yamazack
Estamos aqui para isso mesmo, tirar suas dúvidas, seja ela simples ou complexas. Estamos a disposição. Sempre!
Vamos ao que interessa vou te mostrar uma coisa pra você entender, e não só resolver teu problema, OK ?
Ex1
Tenho uma variável inteira e quero jogar o seu valor em um Edit, como faço ?
Edit( é String) e o valor que eu quero jogar nele é Integer. Olha o Macete!
Edit1.Text := IntToStr(Valor); // Basta você cruzar, delphi eu quero converter aquela variável(Integer) para o meu tipo(String)
Ex2
Tenho um Edit(String) e quero jogar o seu valor em uma variável Real, como faço ?
Variável(Real) e o Edit(String)
Valor := StrToFloat(Edit1.Text); // Basta você cruzar, delphi eu quero converter aquela Edit1.Text(String) para o meu tipo(Real, que no delphi se torna float)
Ex3
Tenho um Edit(String) e quero jogar o seu valor em uma variável Inteira, como faço ?
Variável(Integer) e o Edit(String)
Valor := StrToInt(Edit1.Text); // Basta você cruzar, delphi eu quero converter aquela Edit1.Text(String) para o meu tipo(Integer).
E no seu caso como ficaria ?
dmAdo.ADOConnection.Execute('insert into tb_kit_produto ( kit_codigo, mpr_codigo, ktp_qtde ) values ( '+
DataSource.DataSet.FieldByName('kit_codigo').AsString+' ,'+
GridItem.Cells[ COL_CODIGO, linha ]+' ,'+
GridItem.Cells [ COL_QTDE, linha ]+' )');
Neste caso meu amigo, faça o seguinte
GridItem.Cells[ IntToStr(COL_CODIGO), IntToStr(linha) ]+' ,'+
GridItem.Cells [ IntToStr(COL_QTDE, IntToStr(linha) ]+' )');
O importante é funcionar, porém entender é muito mais vantagem. sacou ?
Um abraço
Wesley Y
Gostei + 0
04/08/2009
Irenildo Carvalho
Gostei + 0
04/08/2009
Irenildo Carvalho
Gostei + 0
04/08/2009
Wesley Yamazack
GridItem.Cells[ IntToStr(COL_CODIGO), IntToStr(linha) ]+' ,'+
GridItem.Cells [ IntToStr(COL_QTDE), IntToStr(linha) ]+' )');
Faltou somente o Parentese, e este erro Too many Actual parameters
É um erro que acontece quando tentamos passar mais parametros do que a function ou procedure pede, no caso ele estava tentando passar
IntToStr(Col_Qtde, IntToStr(Linha)) ou seja ele estava tentando passar 2 parametros.
Um abraço
Wesley Y
Gostei + 0
04/08/2009
Irenildo Carvalho
Gostei + 0
04/08/2009
Wesley Yamazack
Você alterou embaixo, porém em cima ainda esta da maneira antiga.
GridItem.Cells[ IntToStr(COL_CODIGO), IntToStr(linha) ]+' ,'+
GridItem.Cells [ IntToStr(COL_QTDE), IntToStr(linha) ]+' )');
Qual é o tipo de COL_CODIGO e COL_QTDE ? São Integer ?
Att,
Wesley Y
Gostei + 0
05/08/2009
Irenildo Carvalho
Gostei + 0
05/08/2009
Wesley Yamazack
Qual é o tipo de COL_CODIGO e COL_QTDE ? São Integer ? Se forem integer, não precisa converter, o Linha é Integer certo ? Me fale quais são os tipos das variáveis. Pois :
Var
Coluna, Linha : Integer
S : String;
begin
S := GridItem.cells[coluna, linha] ; // Ou seja ele pede dois integer
end;
Se tua COL_CODIGO e COL_QTDE forem String, você tem que fazer o seguinte, StrToInt(COL_CODIGO), StrToInt(COL_QTDE)
Att
Wesley Y
Gostei + 0
05/08/2009
Irenildo Carvalho
var
Linha: integer;
begin
inherited;
dmAdo.ADOConnection.BeginTrans;
try
DataSource.DataSet.Edit;
DataSource.DataSet.Post; dmAdo.ADOConnection.Execute('delete tb_kit_produto where kit_codigo = '+DataSource.DataSet.FieldByName('kit_codigo').AsString);
for Linha := 1 to GridItem.RowCount-2 do
begin
if GridItem.Ints[ COL_QTDE, linha ] > 0 then
begin
dmAdo.ADOConnection.Execute('insert into tb_kit_produto ( kit_codigo, mpr_codigo, ktp_qtde ) values ( '+
DataSource.DataSet.FieldByName('kit_codigo').AsString+' ,'+
GridItem.Cells[ COL_CODIGO, linha ]+' ,'+
GridItem.Cells [ COL_QTDE, linha ]+' )'); end;
end;
dmAdo.ADOConnection.CommitTrans;
except
dmAdo.ADOConnection.RollbackTrans;
raise;
end;
end;
Gostei + 0
06/08/2009
Wesley Yamazack
Eu entendi o que você quer, porém qual é o tipo da váriavel ?
Você precisa converter Quantidade(Integer) para string certo? É isso não é ? Então como te falei use IntToStr(Quantidade), e isso irá converter o valor para String.
É isso ?
Um abraço
Wesley Y
Gostei + 0
07/08/2009
Irenildo Carvalho
Gostei + 0
07/08/2009
Wesley Yamazack
Fechamos o chamado então.
Um abraço
Wesley Y
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)