Problem z kompilacją Opearator not applicable

0

Szukałem, ale niestety nie znalazłem. W tym kodzie:

procedure TForm1.Button2Click(Sender: TObject);
begin
   if PunktyUm <> '0' then
   begin
   PunktyUm := PunktyUm - '1'
   Sila := Sila + '1'
   end else ShowMessage('Nie masz punktow umiejetnosci!');
   ShowMessage('Teraz masz ' + PunktyUm + ' punktow umiejetnosci do wykorzystania.')
end;

wywala błąd:
operator not applicable to this operand type (przy dodawaniu do siły)

0

co to jest sila???

0

Zmienna typu string

0

procedure TForm1.Button2Click(Sender: TObject);
begin
if PunktyUm <> 0 then // pewnie pinktyum to liczba wiec integer nie string
begin
PunktyUm := PunktyUm - 1; // nie mozesz sobie odejmowac od stringa tak bezsensu
Sila := Sila + 1; // tu tez integer zamiast string
end
else ShowMessage('Nie masz punktow umiejetnosci!');
ShowMessage('Teraz masz ' + IntToStr(PunktyUm) + ' punktow umiejetnosci do wykorzystania.');
end;

jakos tak

0

wywala błędy typu incompatibile types "string" and "integer" :/

0

Jejku, takie podstawy i banały. Komunikat "mówi" wszystko. Jeżeli obie użtyte tutaj zmienne będziesz miał
typu liczbowego, a nie string, na przykład integer - to żaden błąd w tym kodzie się nie powinien pojawić ;/

0

Twoje zmienne

PunktyUm
Sila

od teraz to Integer !!

0

Nie rozumiesz, że wtedy wywala Incompatibile types "String" and "Integer"

0

Niemożliwe, wkleiłem kod od alfonssss do Delphi i zadeklarowałem zmienne jako integer i kompiluje mi się
poprawnie, jeżeli pomijając warning że wartości zmiennych nie są wykorzystywane, ale to nie problem. No
i dlatego pewnie ten błąd dotyczy innego fragmentu kodu. Staram się zawsze przed podaniem rozwiązania
sprawdzić je w kompilatorze. W ogóle to poczytaj podstawy, bo wątek ewidentnie jest do działu Newbie.

0

To ja może dam cały kod:
tu bylł kod, ale już ok!

0

No i jak wyrażnie widać że dalej masz zmienne typu string, a nie integer. Dlatego nic dziwnego że masz w
kodzie błąd. Poza tym w ogóle nie zmieniłeś kodu. Dalej w OnClick dla Button2 operujesz na stringach ('0').

0

Sorki coś się namieszało i dwa razy ten sam post. Co nie zmienia faktu że autor powinien poczytać podstawy :)

0

Jest już ok!

1 użytkowników online, w tym zalogowanych: 0, gości: 1