Testo Pre Formattato


Il testo pre-formattato--tipicamente codice-- viene preparato in Notes usando una tabella 1x1 con una sola cella e con il testo in Courier. In questo caso viene generato un SGML che rispetta perfettamente il layout originale inclusi gli a capi e le spaziature. In questo testo si traducono comunque le entità. Il markup presente nella tabella viene ignorato. Gli eventuali comandi Break vengono tradotti in un semplice a capo.

Private Function getRawText(iStart As Long, iEnd As Long, doBreak As Integer) As String
    Dim iCur As Integer
    getRawText = ""
    For iCur = iStart To iEnd
        If aRec(iCur).rt = RT_TEXT Then
            Dim i As Integer
            Dim ws As String
            Dim ac As Long
            ws = aRec(iCur).text
            For i = 1 To Len(ws)
                ac = Asc(Mid$(ws, i, 1))
                'SgmlPrint "Char " & Cstr(ac)
                If (ac >= 0 And ac <= 255) Then
                    If (ac = 0 And doBreak = True) Then
                        getRawText = getRawText & "<BR>" & Chr(10)
                    Else
                        getRawText = getRawText & cCode(ac)
                    End If
                End If
            Next i
        End If
    Next iCur
End Function

Se il tutto funziona correttamente l'utente può creare formattazioni manuali complesse rispettando l'allineamento originale:

Codice     * Descrizione                             * Tipo       *     Valore           *
---------- * --------------------------------------- * ---------- * -------------------- *
           *                                         *            *                      *
JPA        * John Peter Arnold                       * Interno    *           2.500,00   *
           * via Wittgens 5                          *            *                      *
           * 20123 Milano                            *            *                      *
GB         * Gabriella Bozzolo                       * Interno    *       1.242.500,00   *
FR         * Franco Radice                           * Interno    *      (5.552.500,00)  *
PE         * Paola Elisio                            * Esterno    *      65.000.500,00   *
---------- * --------------------------------------- * ---------- * -------------------- *
           *                                         *            *      60.693.000,00   *
---------- * --------------------------------------- * ---------- * -------------------- *

Nell'esempio che segue si utilizza un blocco pre per simulare un disegno. Il blocco è stato costruito in modo tale da evidenziare qualunque disallineamento o carattere aggiuntivo. Se il tutto funziona le lettere saranno correttamente formattate esattamente come nell'originale documento che proviene da Notes.

        XXXXX         XXXXXXXXXXX           XXXXXXX
      XXXXXXXXX      XXXXXXXXXXXXXX       XXXXXXXXXXX
    XXX       XXX    XXX         XXX    XXX        XXX
   XXX         XXX   XXX         XXX    XXX        XXX
   XXX         XXX   XXX         XXX   XXX       
   XXX         XXX   XXX        XXX    XXX       
   XXXXXXXXXXXXXXX   XXXXXXXXXXXXX     XXX
   XXXXXXXXXXXXXXX   XXXXXXXXXXXXX     XXX
   XXX         XXX   XXX        XXX    XXX       
   XXX         XXX   XXX         XXX   XXX       
   XXX         XXX   XXX         XXX    XXX        XXX
   XXX         XXX   XXX         XXX    XXX        XXX
   XXX         XXX   XXXXXXXXXXXXXX       XXXXXXXXXXX
   XXX         XXX     XXXXXXXXXXX          XXXXXXX

Infine è utile vedere come viene un blocco di codice in 'C'. Questo linguaggio, alla pari del Perl è una sinfonia di caratteri speciali sopratutto per il TeX.

int a = 0;
if (&pippo = &paperino)
    {
    a = Dipl(&paperino, 10);
    }
return a;
qcl.3oamof9.25 • LastModified: 14-9-2007 • John Peter Arnold