Avatar billede rebel761 Nybegynder
21. april 2001 - 18:46 Der er 3 kommentarer og
1 løsning

Hvad er der galt !!?

Hej
Jeg har følgende kode i Borland C++ Builder

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
static char Text[25] = \"Dette er en tekst\";
static char *Key = Text;
static int i;

if (Key != \"0x00\")
{
Memo1->Text = Memo1->Text + Text[i];
i++;
Key++;
  }
else
Timer1->Enabled = false;
}

Koden skal skrive en karakter ad gangen men kun til null-termineringen i strengen.
Men programmet skriver altid 32 karakter ud selvom Text kun er 17 char + Null terminering.

Hvad kan der være galt...
Avatar billede psp_psp Nybegynder
24. april 2001 - 15:49 #1
Key er en pointer til det første element i Text.
Så det skal vel være:

if(*Key != \"0x00\")

evt. bare

if(*Key != 0)

P.S.
Linien
Memo1->Text = Memo1->Text + Text[i];
er lidt basic-agtig ud. Virker den?
Avatar billede rebel761 Nybegynder
24. april 2001 - 17:18 #2
tak for det...

ja den linie virker
Avatar billede rebel761 Nybegynder
24. april 2001 - 17:18 #3
tak for det...

ja den linie virker
Avatar billede rebel761 Nybegynder
24. april 2001 - 17:18 #4
tak for det...

ja den linie virker
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