| La procedura organizza l’acquisizione di
stringhe alfanumeriche Ascii qualunque, ciascuna di
“max”=12 caratteri, proponendole nelle 4 possibili tipologie, con
(“tipo”=1) o senza (“tipo”=0) cornice esterna, con giustificazione automatica a destra
(“giust”=1) o a sinistra (“giust”=0).
Esempio di
Applicazione |
|
|
|
|
PROGRAM Prova_INstring;
USES Crt, giobe;
VAR
i,lung:integer;
tasto:char;
stringa:array [0..77] of
char;
PROCEDURE Stampa
(rig,col,txt,sfo:integer);
BEGIN
ViaCur; textcolor (0); textbackground (3);
gotoxy(col,rig);
FOR i:=1 TO 76 DO write (' ');
gotoxy(col+1,rig);
IF lung=1 THEN
write('E'' stato immesso ',lung,' carattere')
ELSE
write('Sono stati immessi ',lung,' caratteri');
write('; la stringa è ');
textcolor (txt); textbackground (sfo);
write(' '); lung
DO write (stringa[i]); write(' ');
textcolor (0); textbackground (3);
write (' ');
textcolor(0); textbackground(7);
END;
PROCEDURE Messaggio
(riga,A,B,C:integer);
BEGIN
gotoxy(3,riga);
write(' Acquisizione di stringa di 12 caratteri, ');
IF A=1 THEN write (' con ')
ELSE write ('senza');
write (' cornice ');
gotoxy(3,riga+1);write(' ');
IF B=1 THEN write (' con ')
ELSE write ('senza');
write (' giustificazione automatica a destra ');
IF C=1 THEN begin gotoxy(3,riga+2);
FOR i:=1 TO 56 DO write(' ');
END;
BEGIN
ViaCur;
Riempi1 (7,1,'°');
Riempi3 (1,1,0,7,' ');
Riempi3 (25,25,0,7,' ');
gotoxy (6,1); textcolor (0);
write('Test per la Procedura ~INstring~ ');
Messaggio( 3,1,0,1);
INstring
(lung,stringa,12, 4,64,15,1,1,0);
Stampa( 7,3,15,1);
Messaggio( 9,1,1,1);
INstring
(lung,stringa,12,10,64,14,4,1,1);
Stampa(13,3,14,4);
Messaggio(15,0,0,0);
INstring (lung,stringa,12,15,64,15,1,0,0);
Stampa(18,3,15,1);
Messaggio(20,0,1,0);
INstring
(lung,stringa,12,20,64,14,4,0,1);
Stampa(23,3,14,4);
textcolor(0); textbackground(7);
gotoxy (27,25);
write(' Premere un tasto per continuare');
ViaCur; tasto:=readkey;
Riempi3 (25,25,15,0,' ');
gotoxy (1,24);
RipCur;
END.
|
|