Let's assume your program is written in Visual Basic, called it VisualBasicCode.vb as follows.
' VisualBasicCode.vb
Sub Signal(strSignalfolge As String, Optional lngTakt As Long = 100)
'Prozedur erzeugt eine Serie von Warntönen.
'Die optionale Variable lngTakt gibt den Takt in Millisekunden vor (Standard: 100 ms)
'Das Muster kann über die String-Variable strSignalfolge beeinflusst werden:
' Stern (*) -> 1 Warnton
' Ziffern 1..9 -> 1..9 Takte Pause
' Leerzeichen -> 1 Sekunde Pause
' Minus (-) -> 1.5 Sekunden Pause
Dim i As Integer
Dim b As String
For i = 1 To Len(strSignalfolge)
b = Mid(strSignalfolge, i, 1)
Select Case b
Case "*": beep
Case 1 To 9: DELAY CInt(b) * lngTakt
Case " ": DELAY 1000
Case "-": DELAY 1500
End Select
DELAY lngTakt
Next i
End Sub
Public Function strParse(Data As String, Trenn As String, Nr As Integer)
'Funktion trennt die Zeichenkette <Data>
On Error Resume Next
Dim MainData() As String, SplitData() As String
MainData = Split(Data, Trenn)
SplitData = Split(MainData(Nr - 1), Trenn)
strParse = SplitData(0)
End Function
Public Sub ProtokollZeile(strData As String)
'Gibt eine Protokollzeile im Direktfenster aus: Datum, Uhrzeit und <strData>
Debug.Print Now & " " & strData
End Sub
Sub NetSend(strmsg As String, Optional strEmpf As String = "imf3beck")
'Prozedur sendet die Kurznachricht <strMsg> über das Intranet an den Rechner <strEmpf>
Dim a
a = Shell("cmd.exe /c net send " & strEmpf & " " & strmsg, vbMinimizedFocus)
MsgBox "(net send message)" & vbCr & strmsg
End Sub
Sub NetSendMessungBeendet(Optional strBem As String = "")
'Sendet über das Netzwerk eine Statusnachricht, dass die Messung beendet wurde und gibt diese
'Nachricht auch lokal als Warndialog aus
Dim strMsgText As String
strMsgText = (Format(Now, "hh:mm:ss") & " Messung beendet" & strBem)
NetSend (strMsgText)
End Sub
Public Function ZellBereichAdresse(strZellber As String) As String
Application.Volatile
ZellBereichAdresse = CStr(Range(strZellber).Address)
End Function
The TeX input file:
\documentclass[dvipsnames,cmyk]{article}
\usepackage[a4paper,hmargin=1cm,vmargin=2cm]{geometry}
\usepackage{listings,xcolor,lipsum}
\lstset
{
breaklines=true,
tabsize=3,
showstringspaces=false,
aboveskip=-\fboxsep% it is needed to remove vertical white space
}
\lstdefinestyle{Common}
{
extendedchars=\true,
language={[Visual]Basic},
frame=single,
%===========================================================
framesep=3pt,%expand outward.
framerule=0.4pt,%expand outward.
xleftmargin=3.4pt,%make the frame fits in the text area.
xrightmargin=3.4pt,%make the frame fits in the text area.
%===========================================================
rulecolor=\color{Red}
}
\lstdefinestyle{A}
{
style=Common,
backgroundcolor=\color{Yellow!10},
basicstyle=\scriptsize\color{Black}\ttfamily,
keywordstyle=\color{Orange},
identifierstyle=\color{Cyan},
stringstyle=\color{Red},
commentstyle=\color{Green}
}
\lstdefinestyle{B}
{
style=Common,
backgroundcolor=\color{Black},
basicstyle=\scriptsize\color{White}\ttfamily,
keywordstyle=\color{Orange},
identifierstyle=\color{Cyan},
stringstyle=\color{Red},
commentstyle=\color{Green}
}
\begin{document}
\begin{minipage}[t]{0.48\linewidth}%
\lstinputlisting[style=A]{VisualBasicCode.vb}
\end{minipage}\hfill
\begin{minipage}[t]{0.48\linewidth}
\lipsum[1-5]
\end{minipage}
\end{document}
Output:

\documentclass) of what you have tried already to clarify things. – Peter Grill Aug 06 '11 at 00:59