Show ASCII table: Difference between revisions

From Rosetta Code
Content added Content deleted
(→‎{{header|Perl 6}}: Add a Perl 6 example)
m (→‎{{header|Perl 6}}: Slightly better alignment)
Line 151: Line 151:


my @rows = map -> @row {
my @rows = map -> @row {
row(@row».fmt("%02X")) ~
row(@row».fmt(" %02X")) ~
row(@row».fmt("%03d")) ~
row(@row».fmt("%03d")) ~
row(@row».&name)
row(@row».&name)
Line 161: Line 161:
{{out}}
{{out}}
<pre>┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
<pre>┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
│ 00 01 │ 02 03 │ 04 05 │ 06 07 │ 08 09 │ 0A 0B │ 0C 0D │ 0E 0F
00 │ 01 02 │ 03 04 │ 05 06 │ 07 08 │ 09 0A │ 0B 0C │ 0D 0E │ 0F
│ 000 │ 001 │ 002 │ 003 │ 004 │ 005 │ 006 │ 007 │ 008 │ 009 │ 010 │ 011 │ 012 │ 013 │ 014 │ 015 │
│ 000 │ 001 │ 002 │ 003 │ 004 │ 005 │ 006 │ 007 │ 008 │ 009 │ 010 │ 011 │ 012 │ 013 │ 014 │ 015 │
│ ␀ │ ␁ │ ␂ │ ␃ │ ␄ │ ␅ │ ␆ │ ␇ │ ␈ │ ␉ │ ␊ │ ␋ │ ␌ │ ␍ │ ␎ │ ␏ │
│ ␀ │ ␁ │ ␂ │ ␃ │ ␄ │ ␅ │ ␆ │ ␇ │ ␈ │ ␉ │ ␊ │ ␋ │ ␌ │ ␍ │ ␎ │ ␏ │
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 10 11 │ 12 13 │ 14 15 │ 16 17 │ 18 19 │ 1A 1B │ 1C 1D │ 1E 1F
10 │ 11 12 │ 13 14 │ 15 16 │ 17 18 │ 19 1A │ 1B 1C │ 1D 1E │ 1F
│ 016 │ 017 │ 018 │ 019 │ 020 │ 021 │ 022 │ 023 │ 024 │ 025 │ 026 │ 027 │ 028 │ 029 │ 030 │ 031 │
│ 016 │ 017 │ 018 │ 019 │ 020 │ 021 │ 022 │ 023 │ 024 │ 025 │ 026 │ 027 │ 028 │ 029 │ 030 │ 031 │
│ ␐ │ ␑ │ ␒ │ ␓ │ ␔ │ ␕ │ ␖ │ ␗ │ ␘ │ ␙ │ ␚ │ ␛ │ ␜ │ ␝ │ ␞ │ ␟ │
│ ␐ │ ␑ │ ␒ │ ␓ │ ␔ │ ␕ │ ␖ │ ␗ │ ␘ │ ␙ │ ␚ │ ␛ │ ␜ │ ␝ │ ␞ │ ␟ │
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 20 21 │ 22 23 │ 24 25 │ 26 27 │ 28 29 │ 2A 2B │ 2C 2D │ 2E 2F
20 │ 21 22 │ 23 24 │ 25 26 │ 27 28 │ 29 2A │ 2B 2C │ 2D 2E │ 2F
│ 032 │ 033 │ 034 │ 035 │ 036 │ 037 │ 038 │ 039 │ 040 │ 041 │ 042 │ 043 │ 044 │ 045 │ 046 │ 047 │
│ 032 │ 033 │ 034 │ 035 │ 036 │ 037 │ 038 │ 039 │ 040 │ 041 │ 042 │ 043 │ 044 │ 045 │ 046 │ 047 │
│ ␠ │ ! │ " │ # │ $ │ % │ & │ ' │ ( │ ) │ * │ + │ , │ - │ . │ / │
│ ␠ │ ! │ " │ # │ $ │ % │ & │ ' │ ( │ ) │ * │ + │ , │ - │ . │ / │
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 30 31 │ 32 33 │ 34 35 │ 36 37 │ 38 39 │ 3A 3B │ 3C 3D │ 3E 3F
30 │ 31 32 │ 33 34 │ 35 36 │ 37 38 │ 39 3A │ 3B 3C │ 3D 3E │ 3F
│ 048 │ 049 │ 050 │ 051 │ 052 │ 053 │ 054 │ 055 │ 056 │ 057 │ 058 │ 059 │ 060 │ 061 │ 062 │ 063 │
│ 048 │ 049 │ 050 │ 051 │ 052 │ 053 │ 054 │ 055 │ 056 │ 057 │ 058 │ 059 │ 060 │ 061 │ 062 │ 063 │
│ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ : │ ; │ < │ = │ > │ ? │
│ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ : │ ; │ < │ = │ > │ ? │
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 40 41 │ 42 43 │ 44 45 │ 46 47 │ 48 49 │ 4A 4B │ 4C 4D │ 4E 4F
40 │ 41 42 │ 43 44 │ 45 46 │ 47 48 │ 49 4A │ 4B 4C │ 4D 4E │ 4F
│ 064 │ 065 │ 066 │ 067 │ 068 │ 069 │ 070 │ 071 │ 072 │ 073 │ 074 │ 075 │ 076 │ 077 │ 078 │ 079 │
│ 064 │ 065 │ 066 │ 067 │ 068 │ 069 │ 070 │ 071 │ 072 │ 073 │ 074 │ 075 │ 076 │ 077 │ 078 │ 079 │
│ @ │ A │ B │ C │ D │ E │ F │ G │ H │ I │ J │ K │ L │ M │ N │ O │
│ @ │ A │ B │ C │ D │ E │ F │ G │ H │ I │ J │ K │ L │ M │ N │ O │
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 50 51 │ 52 53 │ 54 55 │ 56 57 │ 58 59 │ 5A 5B │ 5C 5D │ 5E 5F
50 │ 51 52 │ 53 54 │ 55 56 │ 57 58 │ 59 5A │ 5B 5C │ 5D 5E │ 5F
│ 080 │ 081 │ 082 │ 083 │ 084 │ 085 │ 086 │ 087 │ 088 │ 089 │ 090 │ 091 │ 092 │ 093 │ 094 │ 095 │
│ 080 │ 081 │ 082 │ 083 │ 084 │ 085 │ 086 │ 087 │ 088 │ 089 │ 090 │ 091 │ 092 │ 093 │ 094 │ 095 │
│ P │ Q │ R │ S │ T │ U │ V │ W │ X │ Y │ Z │ [ │ \ │ ] │ ^ │ _ │
│ P │ Q │ R │ S │ T │ U │ V │ W │ X │ Y │ Z │ [ │ \ │ ] │ ^ │ _ │
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 60 61 │ 62 63 │ 64 65 │ 66 67 │ 68 69 │ 6A 6B │ 6C 6D │ 6E 6F
60 │ 61 62 │ 63 64 │ 65 66 │ 67 68 │ 69 6A │ 6B 6C │ 6D 6E │ 6F
│ 096 │ 097 │ 098 │ 099 │ 100 │ 101 │ 102 │ 103 │ 104 │ 105 │ 106 │ 107 │ 108 │ 109 │ 110 │ 111 │
│ 096 │ 097 │ 098 │ 099 │ 100 │ 101 │ 102 │ 103 │ 104 │ 105 │ 106 │ 107 │ 108 │ 109 │ 110 │ 111 │
│ ` │ a │ b │ c │ d │ e │ f │ g │ h │ i │ j │ k │ l │ m │ n │ o │
│ ` │ a │ b │ c │ d │ e │ f │ g │ h │ i │ j │ k │ l │ m │ n │ o │
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│ 70 71 │ 72 73 │ 74 75 │ 76 77 │ 78 79 │ 7A 7B │ 7C 7D │ 7E 7F
70 │ 71 72 │ 73 74 │ 75 76 │ 77 78 │ 79 7A │ 7B 7C │ 7D 7E │ 7F
│ 112 │ 113 │ 114 │ 115 │ 116 │ 117 │ 118 │ 119 │ 120 │ 121 │ 122 │ 123 │ 124 │ 125 │ 126 │ 127 │
│ 112 │ 113 │ 114 │ 115 │ 116 │ 117 │ 118 │ 119 │ 120 │ 121 │ 122 │ 123 │ 124 │ 125 │ 126 │ 127 │
│ p │ q │ r │ s │ t │ u │ v │ w │ x │ y │ z │ { │ | │ } │ ~ │ ␡ │
│ p │ q │ r │ s │ t │ u │ v │ w │ x │ y │ z │ { │ | │ } │ ~ │ ␡ │
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘</pre>
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘</pre>



=={{header|Ring}}==
=={{header|Ring}}==

Revision as of 12:42, 9 August 2018

Show ASCII table is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
Task

Show ASCII character set from values 32 to 127 in table format.


C

Translation of: Go

<lang c>#include <stdio.h>

int main() {

   int i, j;
   char k[4];
   for (i = 0; i < 16; ++i) {
       for (j = 32 + i; j < 128; j += 16) {
           switch (j) {
               default:  sprintf(k, "%c", j); break;
               case 32:  sprintf(k, "Spc"); break;
               case 127: sprintf(k, "Del"); break;                
           }
           printf("%3d : %-3s   ", j, k);
       }
       printf("\n");    
   }                    
   return 0;

}</lang>

Output:
 32 : Spc    48 : 0      64 : @      80 : P      96 : `     112 : p     
 33 : !      49 : 1      65 : A      81 : Q      97 : a     113 : q     
 34 : "      50 : 2      66 : B      82 : R      98 : b     114 : r     
 35 : #      51 : 3      67 : C      83 : S      99 : c     115 : s     
 36 : $      52 : 4      68 : D      84 : T     100 : d     116 : t     
 37 : %      53 : 5      69 : E      85 : U     101 : e     117 : u     
 38 : &      54 : 6      70 : F      86 : V     102 : f     118 : v     
 39 : '      55 : 7      71 : G      87 : W     103 : g     119 : w     
 40 : (      56 : 8      72 : H      88 : X     104 : h     120 : x     
 41 : )      57 : 9      73 : I      89 : Y     105 : i     121 : y     
 42 : *      58 : :      74 : J      90 : Z     106 : j     122 : z     
 43 : +      59 : ;      75 : K      91 : [     107 : k     123 : {     
 44 : ,      60 : <      76 : L      92 : \     108 : l     124 : |     
 45 : -      61 : =      77 : M      93 : ]     109 : m     125 : }     
 46 : .      62 : >      78 : N      94 : ^     110 : n     126 : ~     
 47 : /      63 : ?      79 : O      95 : _     111 : o     127 : Del   

Go

<lang go>package main

import "fmt"

func main() {

   for i := 0; i < 16; i++ {
       for j := 32 + i; j < 128; j += 16 {
           k := string(j)
           switch j {
           case 32:
               k = "Spc"
           case 127:
               k = "Del"
           }
           fmt.Printf("%3d : %-3s   ", j, k)
       }
       fmt.Println()
   }

} </lang>

Output:
 32 : Spc    48 : 0      64 : @      80 : P      96 : `     112 : p     
 33 : !      49 : 1      65 : A      81 : Q      97 : a     113 : q     
 34 : "      50 : 2      66 : B      82 : R      98 : b     114 : r     
 35 : #      51 : 3      67 : C      83 : S      99 : c     115 : s     
 36 : $      52 : 4      68 : D      84 : T     100 : d     116 : t     
 37 : %      53 : 5      69 : E      85 : U     101 : e     117 : u     
 38 : &      54 : 6      70 : F      86 : V     102 : f     118 : v     
 39 : '      55 : 7      71 : G      87 : W     103 : g     119 : w     
 40 : (      56 : 8      72 : H      88 : X     104 : h     120 : x     
 41 : )      57 : 9      73 : I      89 : Y     105 : i     121 : y     
 42 : *      58 : :      74 : J      90 : Z     106 : j     122 : z     
 43 : +      59 : ;      75 : K      91 : [     107 : k     123 : {     
 44 : ,      60 : <      76 : L      92 : \     108 : l     124 : |     
 45 : -      61 : =      77 : M      93 : ]     109 : m     125 : }     
 46 : .      62 : >      78 : N      94 : ^     110 : n     126 : ~     
 47 : /      63 : ?      79 : O      95 : _     111 : o     127 : Del   

Kotlin

Translation of: Go

<lang scala>// Version 1.2.60

fun main(args: Array<String>) {

   for (i in 0..15) {
       for (j in 32 + i..127 step 16) {
           val k = when (j) {
               32   -> "Spc"
               127  -> "Del"
               else -> j.toChar().toString()
           }
           System.out.printf("%3d : %-3s   ", j, k)
       }
       println()
   }

}</lang>

Output:
 32 : Spc    48 : 0      64 : @      80 : P      96 : `     112 : p     
 33 : !      49 : 1      65 : A      81 : Q      97 : a     113 : q     
 34 : "      50 : 2      66 : B      82 : R      98 : b     114 : r     
 35 : #      51 : 3      67 : C      83 : S      99 : c     115 : s     
 36 : $      52 : 4      68 : D      84 : T     100 : d     116 : t     
 37 : %      53 : 5      69 : E      85 : U     101 : e     117 : u     
 38 : &      54 : 6      70 : F      86 : V     102 : f     118 : v     
 39 : '      55 : 7      71 : G      87 : W     103 : g     119 : w     
 40 : (      56 : 8      72 : H      88 : X     104 : h     120 : x     
 41 : )      57 : 9      73 : I      89 : Y     105 : i     121 : y     
 42 : *      58 : :      74 : J      90 : Z     106 : j     122 : z     
 43 : +      59 : ;      75 : K      91 : [     107 : k     123 : {     
 44 : ,      60 : <      76 : L      92 : \     108 : l     124 : |     
 45 : -      61 : =      77 : M      93 : ]     109 : m     125 : }     
 46 : .      62 : >      78 : N      94 : ^     110 : n     126 : ~     
 47 : /      63 : ?      79 : O      95 : _     111 : o     127 : Del   

Perl 6

<lang perl6>constant \N = 16; constant \cell = 5; constant $top = join '─' x cell, '┌', '┬' xx N-1, '┐'; constant $mid = join '─' x cell, '├', '┼' xx N-1, '┤'; constant $bot = join '─' x cell, '└', '┴' xx N-1, '┘';

sub row (*@row) { '│' ~ (join '│', @row».&center) ~ "│\n" }

sub center ($s){

   my $c   = cell - $s.chars;
   my $pad = ' ' x ceiling($c/2);
   sprintf "%{cell}s", "$s$pad";

}

sub name ($n) {

   given $n {
       when * < 33 { (0x2400 + $n).chr }
       when 127  { '␡' }
       default   { $n.chr }
   }

}

my @rows = map -> @row {

   row(@row».fmt(" %02X")) ~
   row(@row».fmt("%03d")) ~
   row(@row».&name)

}, ^128 .rotor: N;

say $top; print @rows.join: "$mid\n"; say $bot;</lang>

Output:
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
│  00 │  01 │  02 │  03 │  04 │  05 │  06 │  07 │  08 │  09 │  0A │  0B │  0C │  0D │  0E │  0F │
│ 000 │ 001 │ 002 │ 003 │ 004 │ 005 │ 006 │ 007 │ 008 │ 009 │ 010 │ 011 │ 012 │ 013 │ 014 │ 015 │
│  ␀  │  ␁  │  ␂  │  ␃  │  ␄  │  ␅  │  ␆  │  ␇  │  ␈  │  ␉  │  ␊  │  ␋  │  ␌  │  ␍  │  ␎  │  ␏  │
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│  10 │  11 │  12 │  13 │  14 │  15 │  16 │  17 │  18 │  19 │  1A │  1B │  1C │  1D │  1E │  1F │
│ 016 │ 017 │ 018 │ 019 │ 020 │ 021 │ 022 │ 023 │ 024 │ 025 │ 026 │ 027 │ 028 │ 029 │ 030 │ 031 │
│  ␐  │  ␑  │  ␒  │  ␓  │  ␔  │  ␕  │  ␖  │  ␗  │  ␘  │  ␙  │  ␚  │  ␛  │  ␜  │  ␝  │  ␞  │  ␟  │
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│  20 │  21 │  22 │  23 │  24 │  25 │  26 │  27 │  28 │  29 │  2A │  2B │  2C │  2D │  2E │  2F │
│ 032 │ 033 │ 034 │ 035 │ 036 │ 037 │ 038 │ 039 │ 040 │ 041 │ 042 │ 043 │ 044 │ 045 │ 046 │ 047 │
│  ␠  │  !  │  "  │  #  │  $  │  %  │  &  │  '  │  (  │  )  │  *  │  +  │  ,  │  -  │  .  │  /  │
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│  30 │  31 │  32 │  33 │  34 │  35 │  36 │  37 │  38 │  39 │  3A │  3B │  3C │  3D │  3E │  3F │
│ 048 │ 049 │ 050 │ 051 │ 052 │ 053 │ 054 │ 055 │ 056 │ 057 │ 058 │ 059 │ 060 │ 061 │ 062 │ 063 │
│  0  │  1  │  2  │  3  │  4  │  5  │  6  │  7  │  8  │  9  │  :  │  ;  │  <  │  =  │  >  │  ?  │
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│  40 │  41 │  42 │  43 │  44 │  45 │  46 │  47 │  48 │  49 │  4A │  4B │  4C │  4D │  4E │  4F │
│ 064 │ 065 │ 066 │ 067 │ 068 │ 069 │ 070 │ 071 │ 072 │ 073 │ 074 │ 075 │ 076 │ 077 │ 078 │ 079 │
│  @  │  A  │  B  │  C  │  D  │  E  │  F  │  G  │  H  │  I  │  J  │  K  │  L  │  M  │  N  │  O  │
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│  50 │  51 │  52 │  53 │  54 │  55 │  56 │  57 │  58 │  59 │  5A │  5B │  5C │  5D │  5E │  5F │
│ 080 │ 081 │ 082 │ 083 │ 084 │ 085 │ 086 │ 087 │ 088 │ 089 │ 090 │ 091 │ 092 │ 093 │ 094 │ 095 │
│  P  │  Q  │  R  │  S  │  T  │  U  │  V  │  W  │  X  │  Y  │  Z  │  [  │  \  │  ]  │  ^  │  _  │
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│  60 │  61 │  62 │  63 │  64 │  65 │  66 │  67 │  68 │  69 │  6A │  6B │  6C │  6D │  6E │  6F │
│ 096 │ 097 │ 098 │ 099 │ 100 │ 101 │ 102 │ 103 │ 104 │ 105 │ 106 │ 107 │ 108 │ 109 │ 110 │ 111 │
│  `  │  a  │  b  │  c  │  d  │  e  │  f  │  g  │  h  │  i  │  j  │  k  │  l  │  m  │  n  │  o  │
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
│  70 │  71 │  72 │  73 │  74 │  75 │  76 │  77 │  78 │  79 │  7A │  7B │  7C │  7D │  7E │  7F │
│ 112 │ 113 │ 114 │ 115 │ 116 │ 117 │ 118 │ 119 │ 120 │ 121 │ 122 │ 123 │ 124 │ 125 │ 126 │ 127 │
│  p  │  q  │  r  │  s  │  t  │  u  │  v  │  w  │  x  │  y  │  z  │  {  │  |  │  }  │  ~  │  ␡  │
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

Ring

<lang ring>

  1. Project : Show Ascii table

load "guilib.ring" load "stdlib.ring"

decarr = newlist(16,6) ascarr = newlist(16,6)

new qapp

       {
       win1 = new qwidget() {
                 setwindowtitle("Show Ascii table")
                 setgeometry(100,100,800,600)
                 for n = 1 to 16
                      for m = 1 to 6
                           decarr[n][m] = new qpushbutton(win1) {
                                                 x = 150+m*60
                                                 y = 30 + n*30
                                                 ind = string((m-1)*16+n+31)
                                                 setgeometry(x,y,30,30)
                                                 settext(ind)
                                                 }
                      next
                 next
                 for n = 1 to 16
                      for m = 1 to 6
                           ascarr[n][m] = new qpushbutton(win1) {
                                                 x = 180+m*60
                                                 y = 30 + n*30
                                                 ind = (m-1)*16+n+31
                                                 setgeometry(x,y,30,30)
                                                 if ind = 32
                                                    settext("Spc")
                                                    loop
                                                 ok
                                                 if ind = 127
                                                    settext("Del")
                                                    loop
                                                 ok
                                                 settext(char(ind))
                                                 }
                      next
                 next
                 show()
       }
       exec()
       }

</lang> Output:

Show Ascii table