#include "vbcompat.bi" '+--------------------------------------------------------------------------------------+ '| Header: Bestimmen der bergabeparameter | '| AnzeigeCheck:|Il1 sind Alt-0124, Groes i, kleines L, Eins ߎę֚񱸩=| '| Author="Zeichentabelle.Bas v0.21.1 2011 by ytwinky, MD"' | '| (Tastenkombination: keine) | '| | '| Zweck : Zeichentabelle mit Steuerzeichen(soweit mgl.)im Konsol- und Grafikmodus | '+--------------------------------------------------------------------------------------+ '(Anmerkung zu den Sonderzeichen: zuerst steht das DOS-Zeichen, danach das Windowszeichen) Const Del=!"\08", Lf=!"\n", Esc=!"\27", SysChar="0123456789ABCDEF", Weiss=15, Gelb=14, Blau=1, Schwarz=0 Declare Function MakeLine(StartChr As String, FirstChr As String, LineChr As String="") As String Declare Sub Init(byVal Grafik As String="T") Declare Sub ColorizeIt(z As String) Dim As String RowCol, c, s Dim Shared As Integer Fg=Weiss, Bg=Schwarz Color Fg, Bg Var Grafik=UCase(Command(1)) If Grafik="G" Then Init() Else Init(Grafik) Do If RowCol="" Or c=Del Then Locate 34, 1 Print "Was nun?"; End If Do c=UCase(InKey) Sleep 1 Loop Until InStr(SysChar &*IIf(Grafik="G", @"T", @"G") &"H" &Del &Esc, c) While InKey<>"":Wend 'Eingabepuffer leeren.. If InStr("GHT" &Del &Esc, c) Then RowCol="" Select Case c Case Esc If Grafik<>"G" Then End Grafik="T" Init(Grafik) Case "G", "T" Grafik=c Init(c) Case Del Case "H" ScreenRes 420, 250,,, 4 WindowTitle "Hilfe-Modus" Print !"Die Bedienung des Programms ist (eigentlich)\ndenkbar einfach:\n" _ !"ZeichenSatz [G]\neingeben und los gehts..\n" _ !"Bei Angabe von G in der Befehlszeile startet das\nProgramm gleich im Grafikmodus\n" _ !"(Denn die Zeichen unterscheiden sich ja in den\n beiden Modi..)\n" _ !"H diese Hilfe ausgeben\nG wechselt in den Grafikmodus\nT wechselt in den Textmodus\n" _ !"Esc beendet das Programm(oder den Grafikmodus)\nZeichen-Nr.: Zeilen-Nr. & Spalten-Nr.\n" _ !"z.B. Zeile-Nr. 19 und Spalte-Nr. 4: Zeichen-Nr. 194\n(weiter im alten Modus)" GetKey Init(Grafik) End Select Loop End Function MakeLine(StartChr As String, FirstChr As String, LineChr As String="") As String Dim s As String=StartChr &"" For i As Integer=0 To 9 s+=FirstChr &LineChr Next Return s End Function Sub Init(byVal Grafik As String="") Dim As Integer i, j, k Dim As String s=MakeLine("", "") &"", vl="", svl=" " &vl Static As String t If Grafik="G" Then ' ScreenRes 209, 300,,, 4 ScreenRes 220, 400,,, 4 WindowTitle "Grafik-Modus" Else Screen 0 Width 26, 36 End If Locate 1, 1 t="" &String(23, "") &!"\n" &vl t+="FB-Zeichentabelle v5.0 " Print t &vl &Lf &MakeLine("", "") &!"" t=vl &"dez" &vl For i=0 To 9 t+=Str(i) &vl Next ColorizeIt(t) For i=0 To 25 Color FG, BG t=vl &*IIf(i<10, @" ", @"") &Right(" " &Str(i), 3) &vl For j=0 To 9 k=i*10+j If (k<14) And InStr("0789AD", Hex(k))<>0 Then t+=svl Else If k<256 Then t+=Chr(k) &vl Else t &= " " &vl EndIf Next ColorizeIt(t) Next Print MakeLine("", "") &"" Color Weiss, Schwarz Print !"(c)2012 by ytwinky, MD\n" &*IIf(Grafik="G", @"T|Esc=Textmodus", @"G=Grafik Esc=Ende") &" H=Hilfe" Swap Fg, Bg End Sub Sub ColorizeIt(z As String) Color Weiss, Schwarz Print Left(z, 1); Swap Bg, Fg Color IIf(Fg=Schwarz, Blau, Gelb), Bg Print Mid(z, 2, Len(z)-2); Color Weiss, Schwarz Print Left(z, 1) End Sub