Ez így most miért nem működik? (Pascal)
i:=1;
while (i<=8) do begin
c:=ReadKey;
if c<>#13 then
begin
nev[i]:=c;
inc(i);
end
else i:=9;
end;
Fordítási hiba van? Mi a hibaüzi?
Futtatási hiba van? Mi az elvárt működés és miben más a tényleges?
a lényeg az hogy a nev változó értékét betűnként szeretném feltölteni a c char változóval, de ez nem történik meg,
fordítási hiba nincs
Szia.
A kód jó
Talán a "if c<>#13 then" kellene módositani "if c>=#32 then"-re.
mivel nem kezeled le a két karakteres billenytűlenyomásokat mint a nyilkak illetve funkció billenytűk. (első karakter 0, második karakter az adott billenytű kódja, nyilak esetében 74,75,76,77 ha minden igaz).
Illetve ellenőrzős céljából, hogy megnézd mi is van valójában a nev[i] tömbben, kellene egy kiirási rutin is (vagy képernyőre vagy fájlba). Ez egy sima for ciklus egy write utasitással.
Sok sikert.
Üdv.
köszi a válaszokat
annyi volt az egész hogy a ciklus előtt kellett egy érték a nev változónak pl.: nev:=' ';
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!