Curtir Curtir:  0
Resultados 1 a 9 de 9

Tópico: Delphi: incompatible types (help)

  1. #1
    Avatar de RoriK
    Registro
    11-09-2008
    Idade
    34
    Posts
    429
    Conquistas / PrêmiosAtividadeCurtidas / Tagging InfoPersonagem - TibiaPersonagem - TibiaME
    Peso da Avaliação
    0

    Padrão Delphi: incompatible types (help)

    Boa noite a todos.

    Estou começado a brincar (não me atrevo a escrever programar) em delphi e estou encontrando alguns problemas ao rodar meus programas. Segue um deles:

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    if IntToStr(edit1.text>=18) then
    edit2.text:=(' Maior de idade')
    else
    edit2.text:= (' Menor de idade');
    end;
    end.


    O que acontece é o seguinte: [Error] Unit1.pas(30): Incompatible types: 'String' and 'Integer'. Como eu resolvo isso? O erro está no conversor? Devo adicionar alguma coisa ao USES?

    Obs.: O meu delphi é made in china.

    Publicidade:


    Jogue Tibia sem mensalidades!
    Taleon Online - Otserv apoiado pelo TibiaBR.
    https://taleon.online


    Um Anel para a todos governar,
    Um Anel para encontrá-los
    Um Anel para a todos trazer'
    E na escuridão aprisioná-los'
    Na Terra de Mordor onde as Sombras se deitam.

  2. #2
    Avatar de RoriK
    Registro
    11-09-2008
    Idade
    34
    Posts
    429
    Conquistas / PrêmiosAtividadeCurtidas / Tagging InfoPersonagem - TibiaPersonagem - TibiaME
    Peso da Avaliação
    0

    Padrão

    Vamos la pessoal. Qual quer informação é bem vinda.


    Um Anel para a todos governar,
    Um Anel para encontrá-los
    Um Anel para a todos trazer'
    E na escuridão aprisioná-los'
    Na Terra de Mordor onde as Sombras se deitam.

  3. #3
    Avatar de Bruce L
    Registro
    23-06-2007
    Posts
    483
    Conquistas / PrêmiosAtividadeCurtidas / Tagging InfoPersonagem - TibiaPersonagem - TibiaME
    Peso da Avaliação
    0

    Padrão

    Parece que você está fazendo a conversão errada, Qualquer valor colocado em um campo edit no delphi(não só em delphi) ou caixa que dê pra por valores, é tratado como tipo string, então o certo seria StrToInt. Mexi com delphi ano passado, não lembro direito a estrutura.


    Edit: parenteses da condição colocado em lugar errado também, como o Bob Joe disse.
    Última edição por Bruce L; 14-09-2009 às 00:17.
    http://img715.imageshack.us/img715/6...ebruncelee.jpg
    "ignorância, com mais freqüência do que o conhecimento, gera confiança".

  4. #4
    Avatar de Bob Joe
    Registro
    25-05-2007
    Posts
    8.843
    Conquistas / PrêmiosAtividadeCurtidas / Tagging InfoPersonagem - TibiaPersonagem - TibiaME
    Peso da Avaliação
    0

    Padrão

    Dois erros:
    Campo Edit já é String. Você tem que converter de String para Integer usando StrtoInt.

    Parênteses faltando (na verdade, em posição errada), já que o parâmetro da função de conversão é apenas o valor a ser convertido.

    O algoritmo fica assim:

    procedure TForm1.Button1Click(Sender: TObject);
    begin

    if strtoInt(edit1.text)>=18 then
    edit2.text:=(' Maior de idade')
    else
    edit2.text:= (' Menor de idade');
    end;
    end.
    Última edição por Bob Joe; 14-09-2009 às 00:13.
    Liga das Lendas: Vintas


    https://upload.wikimedia.org/wikipedia/commons/0/07/Motto_frederick_douglass_2.jpg

  5. #5
    Avatar de RoriK
    Registro
    11-09-2008
    Idade
    34
    Posts
    429
    Conquistas / PrêmiosAtividadeCurtidas / Tagging InfoPersonagem - TibiaPersonagem - TibiaME
    Peso da Avaliação
    0

    Padrão

    Agradeço senhores. Muito obrigado. Foi so fazer essa pequena alteração que deu certo. Como pode um pequeno detalhe fazer tanta diferença!




    Publicidade:


    Jogue Tibia sem mensalidades!
    Taleon Online - Otserv apoiado pelo TibiaBR.
    https://taleon.online


    Um Anel para a todos governar,
    Um Anel para encontrá-los
    Um Anel para a todos trazer'
    E na escuridão aprisioná-los'
    Na Terra de Mordor onde as Sombras se deitam.

  6. #6
    Avatar de Titus
    Registro
    30-10-2004
    Localização
    Caxias do Sul
    Idade
    34
    Posts
    10.292
    Conquistas / PrêmiosAtividadeCurtidas / Tagging InfoPersonagem - TibiaPersonagem - TibiaME
    Peso da Avaliação
    0

    Padrão

    Citação Postado originalmente por RoriK Ver Post
    Agradeço senhores. Muito obrigado. Foi so fazer essa pequena alteração que deu certo. Como pode um pequeno detalhe fazer tanta diferença!
    lol
    Não existe meio termo, ou a sintaxe está correta ou incorreta, não tem meio correta

  7. #7
    Avatar de Bruce L
    Registro
    23-06-2007
    Posts
    483
    Conquistas / PrêmiosAtividadeCurtidas / Tagging InfoPersonagem - TibiaPersonagem - TibiaME
    Peso da Avaliação
    0

    Padrão

    Citação Postado originalmente por RoriK Ver Post
    Agradeço senhores. Muito obrigado. Foi so fazer essa pequena alteração que deu certo. Como pode um pequeno detalhe fazer tanta diferença!
    cara ja me dei mal em programas por causa de uma coisinha a mais/menos, inclusive por ponto e vírgula.Programas com mais de 200 linhas de código... Tem que sempre ficar atento.
    http://img715.imageshack.us/img715/6...ebruncelee.jpg
    "ignorância, com mais freqüência do que o conhecimento, gera confiança".

  8. #8
    Avatar de Titus
    Registro
    30-10-2004
    Localização
    Caxias do Sul
    Idade
    34
    Posts
    10.292
    Conquistas / PrêmiosAtividadeCurtidas / Tagging InfoPersonagem - TibiaPersonagem - TibiaME
    Peso da Avaliação
    0

    Padrão

    Citação Postado originalmente por GotHigh Ver Post
    cara ja me dei mal em programas por causa de uma coisinha a mais/menos, inclusive por ponto e vírgula.Programas com mais de 200 linhas de código... Tem que sempre ficar atento.
    No começo o cara da umas patinadas, mas depois o cara faz essas coisinhas sem nem pensar. E quando erra já ve na primeira olhada o que faltou.

  9. #9
    Avatar de Bob Joe
    Registro
    25-05-2007
    Posts
    8.843
    Conquistas / PrêmiosAtividadeCurtidas / Tagging InfoPersonagem - TibiaPersonagem - TibiaME
    Peso da Avaliação
    0

    Padrão

    Citação Postado originalmente por GotHigh Ver Post
    cara ja me dei mal em programas por causa de uma coisinha a mais/menos, inclusive por ponto e vírgula.Programas com mais de 200 linhas de código... Tem que sempre ficar atento.
    O problema não é a sintaxe, isso se acostuma. O problema mesmo é a semântica. Para programar bem deve-se comer um belo capim de loops infinitos, estouros de memória e gravações em cima de dados importantes. É justamente aquilo que você só vai ver com os testes.
    Última edição por Bob Joe; 15-09-2009 às 09:24.
    Liga das Lendas: Vintas


    https://upload.wikimedia.org/wikipedia/commons/0/07/Motto_frederick_douglass_2.jpg



Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •