Abbildung 3 zeigt das Nassi-Shneidermann-Diagramm des Unterprogramms listendruck. Der Quelltext sieht wie folgt aus:
PROCEDURE listendruck
' Lokale Variable:
LOCAL dateipfad$
LOCAL datei$
LOCAL zeilenzahl%
'
' Fileselektor aufrufen:
dateipfad$=FN fileselectpro$("Liste drucken","DAT",dateipfad$,TRUE,datei$)
'
IF dateipfad$<>""
' Es ein Dateiname eingegeben oder ausgewählt...
'
' Datei öffnen:
OPEN "I",#1,dateipfad$
'
' Ersten 3 Zeilen einlesen:
ERASE zeile$() ! Ggf. vorhandenes Feld löschen
DIM zeile$(2) ! Einlesefeld für 3 Zeilen dimensionieren
RECALL #1,zeile$(),3,zeilenzahl%
'
WHILE zeilenzahl%>=3
' Es sind mehr als 3 Zeilen vorhanden...
'
' Daten drucken:
~FN exp_prn(zeile$(0),FALSE,FALSE) ! Nachname
~FN exp_prn(zeile$(1),FALSE,FALSE) ! Vorname
~FN exp_prn(zeile$(2),FALSE,FALSE) ! Telefon
'
' Nächste 3 Zeilen einlesen:
RECALL #1,zeile$(),3,zeilenzahl%
WEND
'
' Datei schließen:
CLOSE #1
ENDIF
RETURN