Converter Integer para String
Colega,
Por favor veja esse código abaixo e me fala, como consigo converter o valor da linha em vermelho de Integer para String, sei que pra vc's isso é simples, mas eu infelizmente ainda tenho dificuldades em relação a isso...
um abraço
aguardo retorno
procedure TfrmCadKitProdutoDetalhe.StartProcedure;
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;
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
Curtidas 0
Respostas
Wesley Yamazack
04/08/2009
Olá meu amigo.
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
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
Irenildo Carvalho
04/08/2009
Olha eu entendi bem a lógica, valeu mesmo...
Agora mesmo com a sua modificação aind dar erro, (imagem anexo) v se vc entende o que ta acontecendo...
Não consigo anexar a imagem, te mando o link
Valeu
um abraço
GOSTEI 0
Irenildo Carvalho
04/08/2009
Segue o link da imagem com o erro
valeu
http://video.devmedia.com.br/discovirtual/201854/erro%20de%20conversão/erro%20de%20conversão.rar
GOSTEI 0
Wesley Yamazack
04/08/2009
Olá amigo.
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
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
Irenildo Carvalho
04/08/2009
Aind dar erro :(
GOSTEI 0
Wesley Yamazack
04/08/2009
Olá meu amigo,
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
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
Irenildo Carvalho
04/08/2009
Se modificar como vc fez, dar erro nas duas linhas, mas na verdade só preciso converter o valo da quantidade mesmo...
Veja o erro como convertendo os dois valores
GOSTEI 0
Wesley Yamazack
04/08/2009
Olá, Bom dia!
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
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
Irenildo Carvalho
04/08/2009
Olha só,
O código é esse abaixo e o que preciso é converter o valor da coluna quantidade para String.
procedure TfrmCadKitProdutoDetalhe.StartProcedure;
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;
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
Wesley Yamazack
04/08/2009
Olá meu amigo, boa noite!
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
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
Irenildo Carvalho
04/08/2009
Resolvido...
Muito obrigado pela atenção...
Valeu...
um abraço
GOSTEI 0
Wesley Yamazack
04/08/2009
Olá meu amigo, bom dia.
Fechamos o chamado então.
Um abraço
Wesley Y
Fechamos o chamado então.
Um abraço
Wesley Y
GOSTEI 0