Wasted Posted March 7, 2008 at 12:44 PM Report Share #171111 Posted March 7, 2008 at 12:44 PM 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); } Link to comment Share on other sites More sharing options...
TheDark Posted March 7, 2008 at 01:38 PM Report Share #171121 Posted March 7, 2008 at 01:38 PM 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); Desaparecido. Link to comment Share on other sites More sharing options...
Wasted Posted March 9, 2008 at 12:04 PM Author Report Share #171502 Posted March 9, 2008 at 12:04 PM 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); Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now