*ascii.prg #define dnLeft 5 #define dnTop 5 #define dnBoxWidth 45 #define dnBoxHeight 36 public m.loAscii m.loAscii = createobject('form') m.loAscii.Width = 800 m.loAscii.Height = 700 lnTop = dnTop lcText = 'NUL,SOH,STX,ETX,EOT,ENQ,ACK,BEL,BS,TAB,LF,VT,FF,CR,SO,SI,DLE,DC1,DC2,DC3,DC4,NAK,SYN,ETB,CAN,EM,SUB,ESC,FS,GS,RS,US,Space' alines(laText,lcText,0,',') for lnX1 = 0 to 15 for lnX2 = 0 to 15 lnAscii = (m.lnX1 * 16) + m.lnX2 lcObject = 'loAsc' + transform(m.lnAscii) local m.loObject as EditBox m.loAscii.AddObject(m.lcObject,'editbox') loObject = evaluate('loAscii.' + m.lcObject) m.loObject.Left = dnLeft + (m.lnX2 * (dnBoxWidth + 2) ) m.loObject.Top = lnTop &&dnTop + (m.lnX1 * (dnBoxHeight + 2 )) m.loObject.Width = dnBoxWidth if lnX1 < 3 m.loObject.Height = dnBoxHeight * 1.5 else m.loObject.Height = dnBoxHeight Endif m.loObject.ScrollBars = 0 text to lctext noshow textmerge pretext 1+2+4 <<transform(lnAscii)>> <<chr(lnAscii)>> <<iif(lnAscii<33,laText(lnAscii + 1),'')>> endtext m.loObject.Value = lcText m.loObject.Visible = .T. Endfor lnTop = lnTop + m.loObject.Height + 2 Endfor m.loAscii.SetAll('Fontname','Courier new') m.loAscii.Caption = 'ASCII chart - Font is Courier new' m.loAscii.Visible = .t.