GARANTIR DESCONTO

Fórum Converter Integer para String #8300

04/08/2009

0

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;
Irenildo Carvalho

Irenildo Carvalho

Responder

Posts

04/08/2009

Wesley Yamazack

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
Responder

Gostei + 0

04/08/2009

Irenildo Carvalho

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        
Responder

Gostei + 0

04/08/2009

Irenildo Carvalho

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
Responder

Gostei + 0

04/08/2009

Wesley Yamazack

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
Responder

Gostei + 0

04/08/2009

Irenildo Carvalho

Aind dar erro :(  
Responder

Gostei + 0

04/08/2009

Wesley Yamazack

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
Responder

Gostei + 0

05/08/2009

Irenildo Carvalho

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    
Responder

Gostei + 0

05/08/2009

Wesley Yamazack

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
Responder

Gostei + 0

05/08/2009

Irenildo Carvalho

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;
Responder

Gostei + 0

06/08/2009

Wesley Yamazack

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
Responder

Gostei + 0

07/08/2009

Irenildo Carvalho

Resolvido...     Muito obrigado pela atenção...     Valeu...     um abraço
Responder

Gostei + 0

07/08/2009

Wesley Yamazack

Olá meu amigo, bom dia.
  Fechamos o chamado então.

  Um abraço

Wesley Y
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar