Integer és a TEdit

Aki Delphiben kódol, az tudja, hogy van az úgynevezett TEdit komponens, ami a közönséges beviteli mező (mint HTML esetében az <input> tag). Tegyük fel, hogy két mezőben található számokat össze akarunk adni, és az eredményt egy TLabelen ki akarjuk jelezni. Ekkor ugye deklarálunk két változót, melyek most például integer típusúak (-2147483648 … 2147483647 tartományban), és mondjuk egy gomb megnyomására összeadja a két számot, mondjuk így:


Procedure Osszeadas(Sender: TObject);
Var a,b : integer; //itt deklaráljuk ugye;
Begin
  a := Edit1.Value;
  b := Edit2.Value;
  Label1.Caption := a + b;
End;

Ennyivel készen is lennénk, ám fordításkor kapunk egy ilyen hibaüzenetet:

[Error]: Fatal error, incompatible types, string and integer.

Ilyenkor két megoldás lehetséges, az egyik, hogy a TEdit komponens helyett a TSpinEditet használjuk, ami alapból integer típussal dolgozik, de ez csúnya. Helyette csináljuk azt, hogy a két beviteli mezőből kapott string típusú értéket integerré alakítjuk. Ebben az esetben ennyivel módosítjuk az előző kódot:


...
  a := StrToInt(Edit1.Value);
  b := StrToInt(Edit2.Value);
...

Szépen kapunk két integert, és ezeket bátran összeadhatjuk, szorozhatjuk, oszthatjuk, és így tovább. Persze, másnak ez egyértelmű, de nekem (a PHP után) kicsit szokatlan, hogy típusokra figyelni kell.

Kilenc bejegyzés egy nap, hmm. Lehet tényleg nőhiányom van. 😀

« »

mefiblog logó

Írja és rendezi Mefi, avagy Nádai Gábor © 2005-2024

A blogot büszkén pörgeti a WordPress motorja, Anders Norén sablonjának átbuherált változatával.