Avatar billede hhdsleizer Nybegynder
19. januar 2004 - 21:39 Der er 9 kommentarer og
1 løsning

Editbox med tal?

Hej.
Hvordan gør jeg sådan at min editbox lægger sine data ind i en int eller ling så jeg kan regne med den(fx lægge værdier i 2 editboxe sammen og vise i en tredje)?
Og hvordan viser jeg fx en int eller anden talværdi i en editbox?
Jeg laver editboxen i en *.rc fil og ikke i min header.

Sleizer
Avatar billede hhdsleizer Nybegynder
19. januar 2004 - 22:11 #1
forresten MFC jeg arbejder med
Avatar billede akempff Nybegynder
19. januar 2004 - 22:27 #2
Jeg bruger ikke mfc, men jeg vil regne med det er noget alla:
edit3->text = atoi(edit1->text) + atoi(edit2->text)

Noget i den stil.
Avatar billede bertelbrander Novice
19. januar 2004 - 23:32 #3
Måske:

CString Text1;
CEdit *Edit1 = (CEdit *)GetDlgItem(IDC_EDIT1);
ASSERT(Edit1);
Edit1->GetWindowText(Text1);

CEdit *Edit2 = (CEdit *)GetDlgItem(IDC_EDIT2);
ASSERT(Edit2);
Edit2->GetWindowText(Text2);

int I1 = strtol(Text1, 0, 10);
int I2 = strtol(Text2, 0, 10);
int I3 = I1 + I2;

Text1.Format("%d", I3);
Edit1->SetWindowText(Text1);
Avatar billede jpk Nybegynder
20. januar 2004 - 08:28 #4
Hvilken version af Visual C++ bruger du?
(om nogen)
Avatar billede jakobdo Ekspert
20. januar 2004 - 09:13 #5
Kunne det ikke være:
Edit3->Text->ToInt() = Edit1->Text->ToInt() + Edit2->Text->ToInt();
Avatar billede jpk Nybegynder
20. januar 2004 - 13:40 #6
Hvis du skal have glæde af MFC, er fremgangsmåden således:

1) Opret 3 edit-kontroller på din dialog (fx id'er IDC_EDIT1, IDC_EDIT2, IDC_EDIT3)
2) For hver af dem, opret en member variable ved at:
  2a) Hold Ctrl nede mens du dobbelt-klikker på den
  2b) Giv den et navn (fx m_a, m_b og m_c)
  2c) Category = Value
  2d) Variable Type = int
3) Når du vil lave din beregning bruger du følgende kode
  UpdateData(true);
  m_c = m_a + m_b;
  UpdateData(false);
Avatar billede hhdsleizer Nybegynder
20. januar 2004 - 13:58 #7
jeg bruger visual c++.net
jpk-> hvor i koden skal punkt 3 sættes ind? fx under en Onbuttonclicked eller lign?
Avatar billede jpk Nybegynder
20. januar 2004 - 14:24 #8
Bare der hvor du vil beregne værdien
Det kunne meget vel være ved tryk på en knap...
Avatar billede medions Nybegynder
20. januar 2004 - 15:33 #9
Fx. sådan her:

                int tal1, tal2;
                TCHAR buffer1[12], buffer2[12];
                GetDlgItemText(hwndDlg, IDC_EDIT1, (LPTSTR)&buffer1, sizeof(buffer1)/sizeof(TCHAR) - 1);
                GetDlgItemText(hwndDlg, IDC_EDIT2, (LPTSTR)&buffer2, sizeof(buffer2)/sizeof(TCHAR) - 1);
                tal1 = StrToInt((LPCTSTR)&buffer1);
                tal2 = StrToInt((LPCTSTR)&buffer2);
                wsprintf((LPTSTR)&buffer1, "%i", tal1 + tal2);

SetDlgItemText(hWnd,IDC_EDIT3,(LPCTSTR)&buffer1);

//>Rune
Avatar billede hhdsleizer Nybegynder
20. januar 2004 - 22:26 #10
gibver point til jpk da det var hans svar der var nemmest at udføre
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester