• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Wasted

Variavel nao definida?

3 mensagens neste tópico

Boas estou-me a iniciar no visual c++ e deparei-me com este problema..Tenho um dialog based document (MFC) e queria simplesmente receber um valor duma caixa de texto e passa-la para valor inteiro . (Para usar para fins contabilisticos..).Não me dá erro..apenas este aviso: local variable 'x' used without having been initialized. Eis o codigo:

       
void CTeste8Dlg::OnChangeQuantidade() {
       
       CString s;
int x;

m_tavira.EnableWindow(true);
m_olhao.EnableWindow(true);
m_faro.EnableWindow(true);



m_quant.GetWindowText(s);
s.Format("%d",x);
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A razão para o warning é que não estás a atribuir um valor a x antes de a utilizares no Format.

Mas tem em atenção que o Format não funciona para o que queres, mas sim para o inverso: inserir um valor na CString. Tens que utilizar a função _ttoi para passar o número que está na CString para um inteiro:

x = _ttoi(s);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado isso ta resolvido..agora estou com outra duvida, uso um botao CSpin ( de 0 a 100). O que quero fazer é o seguinte: tenho um certo valor numa editbox, que vai ser divido pelo numero que estara noutra edit box (que tem o spincontrol para subir ou baixar a percentagem).Por exemplo: (Total = 1000€, Edit com o spin = 20, 1000/20=50 e aparecera 50 na outra editbox). Mas o programa da-me smp erro quando executo...Eis o codigo do InitDialog e do evento de mudar de posicao no spin:

UDACCEL AccellValue;
AccellValue.nSec = 1000;
AccellValue.nInc = 1;
spint.SetRange(0, 100);
spint.SetAccel(1, &AccellValue);

Evento do spin

int x,quantidade;
CString s;

x = spint.GetPos();
m_quant.GetWindowText(s);
quantidade = _ttoi(s);
quantidade = quantidade / x;
s.Format("%d",quantidade);
m_tavira.SetWindowText(s);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora