Avatar billede visuel Nybegynder
08. marts 2004 - 19:22 Der er 7 kommentarer og
2 løsninger

hente og skrive data til editbox

Hej

Et lille let spørgsmål fra en nybegynder :)

Hvordan hiver man et tal ud fra en editbox og hvordan smider man beregnede data i en editbox??

Jeg bruger c++ builder 6..
Avatar billede segmose Nybegynder
08. marts 2004 - 20:28 #1
Hvis du har:
TEdit *edit;

så burde du få indholdet ved at skriv:
String text = edit->Text;
Avatar billede the_bma_man Nybegynder
08. marts 2004 - 20:31 #2
Alternativt :
edit->GetText();
Avatar billede segmose Nybegynder
08. marts 2004 - 20:38 #3
the_bma_man: den mangler i min help-file, hvor kommer den fra?
Avatar billede the_bma_man Nybegynder
08. marts 2004 - 20:49 #4
Hmm - kommer da helt i tvivl, om den er den rigtige. Er hevet ud fra hovedet - har ikke lige en fin bog at slå op i  :-)
Avatar billede coldplay Nybegynder
09. marts 2004 - 13:16 #5
visuel-->

1) koden her kræver to editboxe

2) koden tager højde for indtastningfejl (= kun tal)

__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    Edit1->Text = "";
    Edit2->Text = "";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1Exit(TObject *Sender)
{
    int tal;
    bool fejl = false;
    String str = Edit1->Text;
    if(str != ""){
        try{
            tal = str.ToInt();
        }
        catch(EConvertError &error)
        {
            Application->MessageBox("Kun tal kan indtastes...", "Indtastningsfejl", MB_OK);
            fejl = true;
        }
    }
    if(!fejl){
        Edit2->Text = AnsiString(tal);
    }
}
Avatar billede visuel Nybegynder
10. marts 2004 - 14:18 #6
Mange tak :P

coldplay-> når jeg skriver ex. et bogstav kommer den frem med en anden fejlmeddelelse hvorefter jeg skal trykke Run igen før den fortsætter... Hvorfor det og hvad kan jeg gøre ved det??

Fejlen:
********************************************************************************

Debugger Exception Notification

Project Test.exe raised exception class EConvertError whit message "r' is not a valid integer value'. Process stopped. Use Step or Run to continue.

********************************************************************************
Avatar billede segmose Nybegynder
10. marts 2004 - 15:58 #7
Det gør den fordi du køre den under debuggeren. Hvis du kørte den fra en kommando linie/explorer ville kun messageboxen komme frem.
Avatar billede coldplay Nybegynder
10. marts 2004 - 16:31 #8
visuel-->

Når du kører programmet udenfor CBuilder, vil programmets egen exception handler blive aktiveret.
Avatar billede coldplay Nybegynder
11. marts 2004 - 12:08 #9
koden som læses

if(!fejl){
        Edit2->Text = AnsiString(tal);
}

skal ændres til

if(!fejl){
        // modifikation //
        if(Edit1->Text != ""){
            Edit2->Text = AnsiString(tal);
        }
    }

så fremkommer der ikke et tilfældigt tal i box 2, når box 1 er tom og der klikkes i box 2.
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