Hogyan kell a string hosszusagat meghatarozni, ugyanabban az idoben meg feltetelt adni neki? A kerdest azt hiszem rossszul tettem fel, nem az erossegem.
Tmpstr:=label1.caption;
Delete(tmpstr,pos(' ',tmpstr),length(tmpstr));
If strtoint(tmpstr)>=20 then ...
Ki nem próbáltam,de valami ilyesmivel próbálkoznék a helyedben.
Szintaktikailag helyes, ezért fordítja le hiba nélkűl. De ez a kód nem azt csinálja, amit szeretnél. A Length("34 $") az 4, ebből elveszel 2-t, az 2, ezt hasonlítod össze 20-al.
Biztos van a Free Pascalban olyan függvény, ami levágja egy sztring adott számú elemét és azt adja vissza, arra van szükséged.
Írj egy pici függvényt ami kidobja a stringből a nem szám karaktereket én Integerré alakítja:
function SzovegToInt(s : String) : Integer;
var i : Integer;
s_int : String;
begin
Result := 0;
for i := 1 to Length(s) do if s[i] in ['0'..'9'] then s_int := s_int + s[i];
if Length(s_int) > 0 then Result := StrToInt(s_int);
end;
Eszembejutott 2 alternatív megoldás...
1.: legyen 2 "label"-ed, az egyik a számot tartalmazza, a másik meg a " $" jelet... ...és így nem kell bohóckodni algoritmusokkal!
2.: hasonlíts össze 2 sztringet!
if (label1.Caption<='41 $') then ShowMessage('OK');
Erre létezik egy rakat függvény
(pl. StrCopy), de írni sem nehéz egyet.
"Most gondolj bele, úgy írsz meg egy 100 soros programot, hogy körbe kérdezed fél európát?" (pen-dragon)
Ezt a beszólást valahová fel kéne írni, mint: "amin halálraröhögtem magam"-címmel... :-)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!