2024(e)ko otsailaren 19(a), astelehena

ReadKey funtzioa eta KeyPressed funtzioa

readkey funtzioak ez du parametrorik jasotzen, parametrorik ez duelako behar. Bere emaitza teklatuaren karaktere bat da. Hauek dira readkey funtzioaren ezaugarriak:
  • readkey funtzioak karaktere bat irakurtzeko balio du
  • Teklatua sakatu eta readkey funtzioak teklari dagokion karakterea CHAR datu-motako aldagai batean gordetzen du, hots, readkey funtzioak ez du RETURN beharrik
  • Teklaren karakterea jaso eta gero readkey funtzioak ez du karaktere hori pantailan erakusten
  • readkey funtzioa ez dago konpiladorearen muinean crt unitatean baizik, horregatik crt unitatea erabiliko dela adieraztea derrigorrezkoa da
Ikusi ere keypressed funtzio boolerra. Tekla bat sakatzean keypressed funtzio boolerrak TRUE itzuliko du. Horregatik programa honen bukaeran, exekuzioa gelditzeko ez dugu readln bat erabiltzen eta repeat until keypressed aginduagatik ordezkatu dugu. Programaren exekuzioa bukatzeko return teklan sakatu beharra dago readln jartzean, baina edozein tekla sakatzea nahikoa da repeat until keypressed agindua jartzean. 
program readkey_funtzioa ;
uses
   crt;
var
   cKarak1, cKarak2 : char ;
begin
   clrscr ;
   writeln('Hasteko readln prozedurak karaktere bat') ;
   writeln('nola irakurtzen duen ikus dezagun') ;
   writeln('Lehenengo karakterea eman: ') ;
   readln(cKarak1) ;        (* zein karaktere sartzen ari garen ikusten dugu  *)
                            (* RETURN baten bitartez baieztatu behar dugulako *)

   cKarak1 := lowercase(cKarak1) ;       (* string edo char bat minuskuletara *)
   write('Lehenengo karakterea =====>', cKarak1, '<=====') ;

   writeln ;
   writeln ;
   writeln('readkey funtzioaren txanda, funtzio hau') ;
   writeln('soilik karaktereekin erabil daiteke') ;
   writeln('Bigarren karakterea eman: ') ;
   cKarak2 := readkey ;     (* sarrerako parametrorik ez daukan funtzio baten *)
                            (* deia, funtzioaren emaitza karaktere bat izanik *)

   cKarak2 := lowercase(cKarak2) ;       (* string edo char bat minuskuletara *)
   writeln('Bigarren karakterea =====>', cKarak2, '<=====') ;

   writeln ;
   writeln ;
   writeln ;
   writeln('==============================') ;
   writeln('Edozein tekla sakatu amaitzeko') ;
   writeln('==============================') ;
   
   repeat until keypressed ;
end.

Hona hemen ReadKey_funtzioa izeneko programaren exekuzio baten irudia:

 

iruzkinik ez:

Argitaratu iruzkina

Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.