• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Co tu jest zle?

Object Storage Arubacloud
0 głosów
1,474 wizyt
pytanie zadane 23 października 2015 w C i C++ przez szymi666 Bywalec (2,020 p.)
edycja 23 października 2015 przez szymi666

Troche tego nie rozumem ale koncepcja jest chyba dobra?


//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "kalk.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
 AnsiString liczb,liczb1;
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button6Click(TObject *Sender)
{
   int liczba=1;
    AnsiString liczb;
   liczb=IntToStr(liczba);
   Memo1->Lines->Text=(Memo1->Text+liczb);

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button9Click(TObject *Sender)
{
   int liczba=2;
    AnsiString liczb1;
   liczb1=IntToStr(liczba);
   Memo1->Lines->Text=(Memo1->Text+liczb1);

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button8Click(TObject *Sender)
{
        int liczba=3;
      AnsiString liczb;
   liczb=IntToStr(liczba);
   Memo1->Lines->Text=(Memo1->Text+liczb);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)
{
   int liczba=4;
      AnsiString liczb;
   liczb=IntToStr(liczba);
   Memo1->Lines->Text=(Memo1->Text+liczb);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
   int liczba=5;
          AnsiString liczb;
   liczb=IntToStr(liczba);
  Memo1->Lines->Text=(Memo1->Text+liczb);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button7Click(TObject *Sender)
{
   int liczba=6;
           AnsiString liczb;
   liczb=IntToStr(liczba);
   Memo1->Lines->Text=(Memo1->Text+liczb);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   int liczba=7;
         AnsiString liczb;
   liczb=IntToStr(liczba);
  Memo1->Lines->Text=(Memo1->Text+liczb);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)
{
   int liczba=8;
    AnsiString liczb;
   liczb=IntToStr(liczba);
   Memo1->Lines->Text=(Memo1->Text+liczb);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
   int liczba=9;
         AnsiString liczb;
   liczb=IntToStr(liczba);
  Memo1->Lines->Text=(Memo1->Text+liczb);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button15Click(TObject *Sender)
{
   int liczba=0;
         AnsiString liczb;
   liczb=IntToStr(liczba);
  Memo1->Lines->Text=(Memo1->Text+liczb);
}
//---------------------------------------------------------------------------





void __fastcall TForm1::Button16Click(TObject *Sender)
{

    AnsiString znak="?";
   Memo1->Lines->Text=(znak);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button10Click(TObject *Sender)
{
        int zzz,yyy,www;
      AnsiString wynik;
      zzz=StrToInt(liczb);
      yyy=StrToInt(liczb1);
      www=zzz+yyy;
      wynik=IntToStr(www);
      Memo1->Lines->Text=(wynik);
}
//---------------------------------------------------------------------------

Po nacisnieciu buttona pokazuje sie error(is not valid intgervalue)- zeby nie bylo wiem co to znaczy tylko dlaczego, aplikacji.A i jeszce jedno te stringi(liczb,liczb1)sa podane i widoczne dla kodu buttona.

3 odpowiedzi

0 głosów
odpowiedź 26 października 2015 przez endriuh28 Użytkownik (920 p.)
wybrane 26 października 2015 przez szymi666
 
Najlepsza

No więc tak, jeśli chcesz aby tekst przemieniało na liczbę musisz najpierw odpowiednio zdeklarować zmienne liczb i liczb1, na wypadek gdyby coś nie wczytało się przed konwersją, jak to ma miejsce u ciebie ale za chwile wyjaśnie, pierw deklaracja:

AnsiString liczb = "0";
AnsiString liczb1 = "0";

Jak tak zmienisz co napisałem sprawdz czy nie występuje już błąd.

Jedno co mnie martwi w kodzie to fakt że nie wiem czemu w jdnym z przycisków jest zmienna liczb1 a w pozostałych liczb.

Oto ten fragment kodu:

void __fastcall TForm1::Button9Click(TObject *Sender)
{
   int liczba=2;
    AnsiString liczb1;
   liczb1=IntToStr(liczba);
   Memo1->Lines->Text=(Memo1->Text+liczb1);
 
}
//---------------------------------------------------------------------------

Problem w kodzie leży tu:

zzz=StrToInt(liczb);
yyy=StrToInt(liczb1);

ponieważ w zmiennej liczb1 lub w zmiennej liczb jest NULL, zależy co nacisniesz najpierw.

komentarz 26 października 2015 przez szymi666 Bywalec (2,020 p.)
Dziekuje bardzo to z tymi zmiennymi liczb to bład z wcześniejszych prób.
+2 głosów
odpowiedź 23 października 2015 przez furas Maniak (53,800 p.)
Podstawowa zasada: podawaj cały komunikat o błędzie bo on może być bardziej czytelny niż twoje tłumaczenia - zwłaszcza takie jak "pokazuje error". Nikt też nie jest w stanie tego uruchomić bez reszty kodu - a problem może wynikać z błędu w innej części kodu, więc im więcej informacji dostarczysz tym łatwiej zrozumieć kod bez potrzeby pokazywania całości.

Inna sprawa, że kod łatwiej się sprawdza gdy jest poprawnie sformatowany a zmienne sensownie nazwane.

Dla mnie kod jest czytelniejszy gdy są spacje z obu stroni = oraz gdy deklaracje lokalnych zmiennych od reszty kodu oddziela pusta linia.
+1 głos
odpowiedź 23 października 2015 przez endriuh28 Użytkownik (920 p.)
Napisz co dokładnie znajduje się w tych zmiennych liczb i liczb1 oraz przepisz co dokładnie pisze w okienku z błędem.

A najlepiej jak wkleisz cały kod.

Podobne pytania

0 głosów
2 odpowiedzi 172 wizyt
pytanie zadane 18 kwietnia 2019 w PHP przez trixter310 Obywatel (1,440 p.)
0 głosów
1 odpowiedź 125 wizyt
pytanie zadane 4 grudnia 2016 w C i C++ przez 0xf Dyskutant (8,180 p.)
0 głosów
1 odpowiedź 3,669 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...