PokemonGameEditor/GBAPokemonGameEditor/modTextSapp.vb
Gamer2020 adc0696c32 Source Code Uploaded!
Finally got around to uploading the source code. There are still things
to be done. Once a couple of things are fixed a released will be made.
In the mean time people that know how to compile the program can do so
but make sure to adhere to the license.
2014-09-02 21:18:22 -04:00

1090 lines
50 KiB
VB.net
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Option Strict Off
Option Explicit Off
Module modTextSapp
Public Function Asc2Sapp(ByVal asciistring As String) As String
o = ""
Dim m As Boolean
For i = 1 To Len(asciistring)
m = False
If Len(asciistring) - (i - 1) > 3 Then
Select Case Mid(asciistring, i, 4)
Case "[Lv]" : Y = &H34 : m = True
Case "[PK]" : Y = &H53 : m = True
Case "[MN]" : Y = &H54 : m = True
Case "[PO]" : Y = &H55 : m = True
Case "[Ke]" : Y = &H56 : m = True
Case "[BL]" : Y = &H57 : m = True
Case "[OC]" : Y = &H58 : m = True
Case "" & "" & "" & "" : Y = &HFB : m = True
'Case StrDup(1, 10) : Y = &HFB : m = True
'Case StrDup(1, &HD) : Y = &HFB : m = True
'Case StrDup(1, &HA) : Y = &HFB : m = True
End Select
If m = True Then
i = i + 3
Else
If Mid(asciistring, i, 2) = "\h" And IsHex(Mid(asciistring, i + 2, 2)) = True Then
Y = Val("&H" & Mid(asciistring, i + 2, 2))
i = i + 3
m = True
End If
End If
End If
If Len(asciistring) - (i - 1) > 2 And m = False Then
Select Case Mid(asciistring, i, 3)
Case "[K]" : Y = &H59 : m = True
Case "[U]" : Y = &H79 : m = True
Case "[D]" : Y = &H7A : m = True
Case "[L]" : Y = &H7B : m = True
Case "[R]" : Y = &H7C : m = True
Case "[.]" : Y = &HB0 : m = True
Case "[""]" : Y = &HB1 : m = True
Case "[']" : Y = &HB3 : m = True
Case "[m]" : Y = &HB5 : m = True
Case "[f]" : Y = &HB6 : m = True
Case "[p]" : Y = &HB7 : m = True
Case "[x]" : Y = &HB9 : m = True
Case "[>]" : Y = &HEF : m = True
Case "[u]" : Y = &HF7 : m = True
Case "[d]" : Y = &HF8 : m = True
Case "[l]" : Y = &HF9 : m = True
End Select
If m = True Then i = i + 2
End If
If Len(asciistring) - (i - 1) > 1 And m = False Then
Select Case Mid(asciistring, i, 2)
Case "\l" : Y = &HFA : m = True
Case "\p" : Y = &HFB : m = True
Case "\c" : Y = &HFC : m = True
Case "\v" : Y = &HFD : m = True
Case "\n" : Y = &HFE : m = True
Case "\x" : Y = &HFF : m = True
Case "" & "" : Y = &HFE : m = True
'Case StrDup(1, &HD) : Y = &HFE : m = True
'Case StrDup(1, &HA) : Y = &HFE : m = True
End Select
If m = True Then i = i + 1
End If
If m = False Then
Select Case Mid(asciistring, i, 1)
Case " " : Y = &H0 : m = True
Case "À" : Y = &H1 : m = True
Case "Á" : Y = &H2 : m = True
Case "Â" : Y = &H3 : m = True
Case "Ç" : Y = &H4 : m = True
Case "È" : Y = &H5 : m = True
Case "É" : Y = &H6 : m = True
Case "Ê" : Y = &H7 : m = True
Case "Ë" : Y = &H8 : m = True
Case "Ì" : Y = &H9 : m = True
Case "Î" : Y = &HB : m = True
Case "Ï" : Y = &HC : m = True
Case "Ò" : Y = &HD : m = True
Case "Ó" : Y = &HE : m = True
Case "Ô" : Y = &HF : m = True
Case "Œ" : Y = &H10 : m = True
Case "Ù" : Y = &H11 : m = True
Case "Ú" : Y = &H12 : m = True
Case "Û" : Y = &H13 : m = True
Case "ß" : Y = &H15 : m = True
Case "à" : Y = &H16 : m = True
Case "á" : Y = &H17 : m = True
Case "ç" : Y = &H19 : m = True
Case "è" : Y = &H1A : m = True
Case "é" : Y = &H1B : m = True
Case "ê" : Y = &H1C : m = True
Case "ë" : Y = &H1D : m = True
Case "ì" : Y = &H1E : m = True
Case "î" : Y = &H20 : m = True
Case "ï" : Y = &H21 : m = True
Case "ò" : Y = &H22 : m = True
Case "ó" : Y = &H23 : m = True
Case "œ" : Y = &H24 : m = True
Case "ù" : Y = &H25 : m = True
Case "ú" : Y = &H26 : m = True
Case "°" : Y = &H28 : m = True
Case "ª" : Y = &H29 : m = True
Case "+" : Y = &H2C : m = True
Case "&" : Y = &H2D : m = True
Case "=" : Y = &H35 : m = True
Case "¿" : Y = &H51 : m = True
Case "¡" : Y = &H52 : m = True
Case "Í" : Y = &H5A : m = True
Case "%" : Y = &H5B : m = True
Case "(" : Y = &H5C : m = True
Case ")" : Y = &H5D : m = True
Case "â" : Y = &H68 : m = True
Case "í" : Y = &H6F : m = True
Case "0" : Y = &HA1 : m = True
Case "1" : Y = &HA2 : m = True
Case "2" : Y = &HA3 : m = True
Case "3" : Y = &HA4 : m = True
Case "4" : Y = &HA5 : m = True
Case "5" : Y = &HA6 : m = True
Case "6" : Y = &HA7 : m = True
Case "7" : Y = &HA8 : m = True
Case "8" : Y = &HA9 : m = True
Case "9" : Y = &HAA : m = True
Case "!" : Y = &HAB : m = True
Case "?" : Y = &HAC : m = True
Case "." : Y = &HAD : m = True
Case "-" : Y = &HAE : m = True
Case "·" : Y = &HAF : m = True
Case "," : Y = &HB8 : m = True
Case """" : Y = &HB2 : m = True
Case "'" : Y = &HB4 : m = True
Case "/" : Y = &HBA : m = True
Case "A" : Y = &HBB : m = True
Case "B" : Y = &HBC : m = True
Case "C" : Y = &HBD : m = True
Case "D" : Y = &HBE : m = True
Case "E" : Y = &HBF : m = True
Case "F" : Y = &HC0 : m = True
Case "G" : Y = &HC1 : m = True
Case "H" : Y = &HC2 : m = True
Case "I" : Y = &HC3 : m = True
Case "J" : Y = &HC4 : m = True
Case "K" : Y = &HC5 : m = True
Case "L" : Y = &HC6 : m = True
Case "M" : Y = &HC7 : m = True
Case "N" : Y = &HC8 : m = True
Case "O" : Y = &HC9 : m = True
Case "P" : Y = &HCA : m = True
Case "Q" : Y = &HCB : m = True
Case "R" : Y = &HCC : m = True
Case "S" : Y = &HCD : m = True
Case "T" : Y = &HCE : m = True
Case "U" : Y = &HCF : m = True
Case "V" : Y = &HD0 : m = True
Case "W" : Y = &HD1 : m = True
Case "X" : Y = &HD2 : m = True
Case "Y" : Y = &HD3 : m = True
Case "Z" : Y = &HD4 : m = True
Case "a" : Y = &HD5 : m = True
Case "b" : Y = &HD6 : m = True
Case "c" : Y = &HD7 : m = True
Case "d" : Y = &HD8 : m = True
Case "e" : Y = &HD9 : m = True
Case "f" : Y = &HDA : m = True
Case "g" : Y = &HDB : m = True
Case "h" : Y = &HDC : m = True
Case "i" : Y = &HDD : m = True
Case "j" : Y = &HDE : m = True
Case "k" : Y = &HDF : m = True
Case "l" : Y = &HE0 : m = True
Case "m" : Y = &HE1 : m = True
Case "n" : Y = &HE2 : m = True
Case "o" : Y = &HE3 : m = True
Case "p" : Y = &HE4 : m = True
Case "q" : Y = &HE5 : m = True
Case "r" : Y = &HE6 : m = True
Case "s" : Y = &HE7 : m = True
Case "t" : Y = &HE8 : m = True
Case "u" : Y = &HE9 : m = True
Case "v" : Y = &HEA : m = True
Case "w" : Y = &HEB : m = True
Case "x" : Y = &HEC : m = True
Case "y" : Y = &HED : m = True
Case "z" : Y = &HEE : m = True
Case ":" : Y = &HF0 : m = True
Case "Ä" : Y = &HF1 : m = True
Case "Ö" : Y = &HF2 : m = True
Case "Ü" : Y = &HF3 : m = True
Case "ä" : Y = &HF4 : m = True
Case "ö" : Y = &HF5 : m = True
Case "ü" : Y = &HF6 : m = True
'This whole thing auto-converted from TBL file
Case "" : Y = &H1 '"a"
Case "" : Y = &H2 '"i"
Case "" : Y = &H3 '"u"
Case "" : Y = &H4 '"e"
Case "" : Y = &H5 '"o"
Case "" : Y = &H6 '"ka"
Case "" : Y = &H7 '"ki"
Case "" : Y = &H8 '"ku"
Case "" : Y = &H9 '"ke"
Case "" : Y = &HA '"ko"
Case "" : Y = &HB '"sa"
Case "" : Y = &HC '"shi"
Case "" : Y = &HD '"su"
Case "" : Y = &HE '"se"
Case "" : Y = &HF '"so"
Case "" : Y = &H10 '"ta"
Case "" : Y = &H11 '"chi"
Case "" : Y = &H12 '"tsu"
Case "" : Y = &H13 '"te"
Case "" : Y = &H14 '"to"
Case "" : Y = &H15 '"na"
Case "" : Y = &H16 '"ni"
Case "" : Y = &H17 '"nu"
Case "" : Y = &H18 '"ne"
Case "" : Y = &H19 '"no"
Case "" : Y = &H1A '"ha"
Case "" : Y = &H1B '"hi"
Case "" : Y = &H1C '"fu"
Case "" : Y = &H1D '"he"
Case "" : Y = &H1E '"ho"
Case "" : Y = &H1F '"ma"
Case "" : Y = &H20 '"mi"
Case "" : Y = &H21 '"mu"
Case "" : Y = &H22 '"me"
Case "" : Y = &H23 '"mo"
Case "" : Y = &H24 '"ya"
Case "" : Y = &H25 '"yu"
Case "" : Y = &H26 '"yo"
Case "" : Y = &H27 '"ra"
Case "" : Y = &H28 '"ri"
Case "" : Y = &H29 '"ru"
Case "" : Y = &H2A '"re"
Case "" : Y = &H2B '"ro"
Case "" : Y = &H2C '"wa"
Case "" : Y = &H2D '"wo"
Case "" : Y = &H2E '"n"
Case "" : Y = &H2F '"la"
Case "" : Y = &H30 '"li"
Case "" : Y = &H31 '"lu"
Case "" : Y = &H32 '"le"
Case "" : Y = &H33 '"lo"
Case "" : Y = &H34 '"lya"
Case "" : Y = &H35 '"lyu"
Case "" : Y = &H36 '"lyo"
Case "" : Y = &H37 '"ga"
Case "" : Y = &H38 '"gi"
Case "" : Y = &H39 '"gu"
Case "" : Y = &H3A '"ge"
Case "" : Y = &H3B '"go"
Case "" : Y = &H3C '"za"
Case "" : Y = &H3D '"ji"
Case "" : Y = &H3E '"zu"
Case "" : Y = &H3F '"ze"
Case "" : Y = &H40 '"zo"
Case "" : Y = &H41 '"da"
Case "" : Y = &H42 '"dji"
Case "" : Y = &H43 '"dzu"
Case "" : Y = &H44 '"de"
Case "" : Y = &H45 '"do"
Case "" : Y = &H46 '"ba"
Case "" : Y = &H47 '"bi"
Case "" : Y = &H48 '"bu"
Case "" : Y = &H49 '"be"
Case "" : Y = &H4A '"bo"
Case "" : Y = &H4B '"pa"
Case "" : Y = &H4C '"pi"
Case "" : Y = &H4D '"pu"
Case "" : Y = &H4E '"pe"
Case "" : Y = &H4F '"po"
Case "" : Y = &H50 '"ltsu"
Case "" : Y = &H51 '"A"
Case "" : Y = &H52 '"I"
Case "" : Y = &H53 '"U"
Case "" : Y = &H54 '"E"
Case "" : Y = &H55 '"O"
Case "" : Y = &H56 '"KA"
Case "" : Y = &H57 '"KI"
Case "" : Y = &H58 '"KU"
Case "" : Y = &H59 '"KE"
Case "" : Y = &H5A '"KO"
Case "" : Y = &H5B '"SA"
Case "" : Y = &H5C '"SHI"
Case "" : Y = &H5D '"SU"
Case "" : Y = &H5E '"SE"
Case "" : Y = &H5F '"SO"
Case "" : Y = &H60 '"TA"
Case "" : Y = &H61 '"CHI"
Case "" : Y = &H62 '"TSU"
Case "" : Y = &H63 '"TE"
Case "" : Y = &H64 '"TO"
Case "" : Y = &H65 '"NA"
Case "" : Y = &H66 '"NI"
Case "" : Y = &H67 '"NU"
Case "" : Y = &H68 '"NE"
Case "" : Y = &H69 '"NO"
Case "" : Y = &H6A '"HA"
Case "" : Y = &H6B '"HI"
Case "" : Y = &H6C '"FU"
Case "" : Y = &H6D '"HE"
Case "" : Y = &H6E '"HO"
Case "" : Y = &H6F '"MA"
Case "" : Y = &H70 '"MI"
Case "" : Y = &H71 '"MU"
Case "" : Y = &H72 '"ME"
Case "" : Y = &H73 '"MO"
Case "" : Y = &H74 '"YA"
Case "" : Y = &H75 '"YU"
Case "" : Y = &H76 '"YO"
Case "" : Y = &H77 '"RA"
Case "" : Y = &H78 '"RI"
Case "" : Y = &H79 '"RU"
Case "" : Y = &H7A '"RE"
Case "" : Y = &H7B '"RO"
Case "" : Y = &H7C '"WA"
Case "" : Y = &H7D '"WO"
Case "" : Y = &H7E '"N"
Case "" : Y = &H7F '"LA"
Case "" : Y = &H80 '"LI"
Case "" : Y = &H81 '"LU"
Case "" : Y = &H82 '"LE"
Case "" : Y = &H83 '"LO"
Case "" : Y = &H84 '"LYA"
Case "" : Y = &H85 '"LYU"
Case "" : Y = &H86 '"LYO"
Case "" : Y = &H87 '"GA"
Case "" : Y = &H88 '"GI"
Case "" : Y = &H89 '"GU"
Case "" : Y = &H8A '"GE"
Case "" : Y = &H8B '"GO"
Case "" : Y = &H8C '"ZA"
Case "" : Y = &H8D '"JI"
Case "" : Y = &H8E '"ZU"
Case "" : Y = &H8F '"ZE"
Case "" : Y = &H90 '"ZO"
Case "" : Y = &H91 '"DA"
Case "" : Y = &H92 '"DJI"
Case "" : Y = &H93 '"DZU"
Case "" : Y = &H94 '"DE"
Case "" : Y = &H95 '"DO"
Case "" : Y = &H96 '"BA"
Case "" : Y = &H97 '"BI"
Case "" : Y = &H98 '"BU"
Case "" : Y = &H99 '"BE"
Case "" : Y = &H9A '"BO"
Case "" : Y = &H9B '"PA"
Case "" : Y = &H9C '"PI"
Case "" : Y = &H9D '"PU"
Case "" : Y = &H9E '"PE"
Case "" : Y = &H9F '"PO"
Case "" : Y = &HA0 '"LTSU"
End Select
End If
If m = False Then Y = &H0
o = o & Chr(Y)
Next i
Asc2Sapp = o
End Function
Public Function Sapp2Asc(ByVal sappstring As String, Optional ByVal japanese As Boolean = False) As String
Dim Y As String
Dim n As Boolean
o = ""
For i = 1 To Len(sappstring)
X = IIf(Mid(sappstring, i, 1) = "", 0, Asc(Mid(sappstring, i, 1)))
If n = True Then
Y = "\h" & IIf(Len(Hex(X)) < 2, "0" & Hex(X), Hex(X))
n = False
Else
If japanese Then
Select Case X
'This whole thing auto-converted from TBL file
Case &H0 : Y = " "
Case &H1 : Y = "" '"a"
Case &H2 : Y = "" '"i"
Case &H3 : Y = "" '"u"
Case &H4 : Y = "" '"e"
Case &H5 : Y = "" '"o"
Case &H6 : Y = "" '"ka"
Case &H7 : Y = "" '"ki"
Case &H8 : Y = "" '"ku"
Case &H9 : Y = "" '"ke"
Case &HA : Y = "" '"ko"
Case &HB : Y = "" '"sa"
Case &HC : Y = "" '"shi"
Case &HD : Y = "" '"su"
Case &HE : Y = "" '"se"
Case &HF : Y = "" '"so"
Case &H10 : Y = "" '"ta"
Case &H11 : Y = "" '"chi"
Case &H12 : Y = "" '"tsu"
Case &H13 : Y = "" '"te"
Case &H14 : Y = "" '"to"
Case &H15 : Y = "" '"na"
Case &H16 : Y = "" '"ni"
Case &H17 : Y = "" '"nu"
Case &H18 : Y = "" '"ne"
Case &H19 : Y = "" '"no"
Case &H1A : Y = "" '"ha"
Case &H1B : Y = "" '"hi"
Case &H1C : Y = "" '"fu"
Case &H1D : Y = "" '"he"
Case &H1E : Y = "" '"ho"
Case &H1F : Y = "" '"ma"
Case &H20 : Y = "" '"mi"
Case &H21 : Y = "" '"mu"
Case &H22 : Y = "" '"me"
Case &H23 : Y = "" '"mo"
Case &H24 : Y = "" '"ya"
Case &H25 : Y = "" '"yu"
Case &H26 : Y = "" '"yo"
Case &H27 : Y = "" '"ra"
Case &H28 : Y = "" '"ri"
Case &H29 : Y = "" '"ru"
Case &H2A : Y = "" '"re"
Case &H2B : Y = "" '"ro"
Case &H2C : Y = "" '"wa"
Case &H2D : Y = "" '"wo"
Case &H2E : Y = "" '"n"
Case &H2F : Y = "" '"la"
Case &H30 : Y = "" '"li"
Case &H31 : Y = "" '"lu"
Case &H32 : Y = "" '"le"
Case &H33 : Y = "" '"lo"
Case &H34 : Y = "" '"lya"
Case &H35 : Y = "" '"lyu"
Case &H36 : Y = "" '"lyo"
Case &H37 : Y = "" '"ga"
Case &H38 : Y = "" '"gi"
Case &H39 : Y = "" '"gu"
Case &H3A : Y = "" '"ge"
Case &H3B : Y = "" '"go"
Case &H3C : Y = "" '"za"
Case &H3D : Y = "" '"ji"
Case &H3E : Y = "" '"zu"
Case &H3F : Y = "" '"ze"
Case &H40 : Y = "" '"zo"
Case &H41 : Y = "" '"da"
Case &H42 : Y = "" '"dji"
Case &H43 : Y = "" '"dzu"
Case &H44 : Y = "" '"de"
Case &H45 : Y = "" '"do"
Case &H46 : Y = "" '"ba"
Case &H47 : Y = "" '"bi"
Case &H48 : Y = "" '"bu"
Case &H49 : Y = "" '"be"
Case &H4A : Y = "" '"bo"
Case &H4B : Y = "" '"pa"
Case &H4C : Y = "" '"pi"
Case &H4D : Y = "" '"pu"
Case &H4E : Y = "" '"pe"
Case &H4F : Y = "" '"po"
Case &H50 : Y = "" '"ltsu"
Case &H51 : Y = "" '"A"
Case &H52 : Y = "" '"I"
Case &H53 : Y = "" '"U"
Case &H54 : Y = "" '"E"
Case &H55 : Y = "" '"O"
Case &H56 : Y = "" '"KA"
Case &H57 : Y = "" '"KI"
Case &H58 : Y = "" '"KU"
Case &H59 : Y = "" '"KE"
Case &H5A : Y = "" '"KO"
Case &H5B : Y = "" '"SA"
Case &H5C : Y = "" '"SHI"
Case &H5D : Y = "" '"SU"
Case &H5E : Y = "" '"SE"
Case &H5F : Y = "" '"SO"
Case &H60 : Y = "" '"TA"
Case &H61 : Y = "" '"CHI"
Case &H62 : Y = "" '"TSU"
Case &H63 : Y = "" '"TE"
Case &H64 : Y = "" '"TO"
Case &H65 : Y = "" '"NA"
Case &H66 : Y = "" '"NI"
Case &H67 : Y = "" '"NU"
Case &H68 : Y = "" '"NE"
Case &H69 : Y = "" '"NO"
Case &H6A : Y = "" '"HA"
Case &H6B : Y = "" '"HI"
Case &H6C : Y = "" '"FU"
Case &H6D : Y = "" '"HE"
Case &H6E : Y = "" '"HO"
Case &H6F : Y = "" '"MA"
Case &H70 : Y = "" '"MI"
Case &H71 : Y = "" '"MU"
Case &H72 : Y = "" '"ME"
Case &H73 : Y = "" '"MO"
Case &H74 : Y = "" '"YA"
Case &H75 : Y = "" '"YU"
Case &H76 : Y = "" '"YO"
Case &H77 : Y = "" '"RA"
Case &H78 : Y = "" '"RI"
Case &H79 : Y = "" '"RU"
Case &H7A : Y = "" '"RE"
Case &H7B : Y = "" '"RO"
Case &H7C : Y = "" '"WA"
Case &H7D : Y = "" '"WO"
Case &H7E : Y = "" '"N"
Case &H7F : Y = "" '"LA"
Case &H80 : Y = "" '"LI"
Case &H81 : Y = "" '"LU"
Case &H82 : Y = "" '"LE"
Case &H83 : Y = "" '"LO"
Case &H84 : Y = "" '"LYA"
Case &H85 : Y = "" '"LYU"
Case &H86 : Y = "" '"LYO"
Case &H87 : Y = "" '"GA"
Case &H88 : Y = "" '"GI"
Case &H89 : Y = "" '"GU"
Case &H8A : Y = "" '"GE"
Case &H8B : Y = "" '"GO"
Case &H8C : Y = "" '"ZA"
Case &H8D : Y = "" '"JI"
Case &H8E : Y = "" '"ZU"
Case &H8F : Y = "" '"ZE"
Case &H90 : Y = "" '"ZO"
Case &H91 : Y = "" '"DA"
Case &H92 : Y = "" '"DJI"
Case &H93 : Y = "" '"DZU"
Case &H94 : Y = "" '"DE"
Case &H95 : Y = "" '"DO"
Case &H96 : Y = "" '"BA"
Case &H97 : Y = "" '"BI"
Case &H98 : Y = "" '"BU"
Case &H99 : Y = "" '"BE"
Case &H9A : Y = "" '"BO"
Case &H9B : Y = "" '"PA"
Case &H9C : Y = "" '"PI"
Case &H9D : Y = "" '"PU"
Case &H9E : Y = "" '"PE"
Case &H9F : Y = "" '"PO"
Case &HA0 : Y = "" '"LTSU"
Case &HA1 : Y = "0"
Case &HA2 : Y = "1"
Case &HA3 : Y = "2"
Case &HA4 : Y = "3"
Case &HA5 : Y = "4"
Case &HA6 : Y = "5"
Case &HA7 : Y = "6"
Case &HA8 : Y = "7"
Case &HA9 : Y = "8"
Case &HAA : Y = "9"
Case &HAB : Y = "!"
Case &HAC : Y = "?"
Case &HAD : Y = "."
Case &HAE : Y = ""
Case &HAF : Y = ""
Case &HFA : Y = "\l"
Case &HFB : Y = "\p"
Case &HFC : Y = "\c" : n = True
Case &HFD : Y = "\v" : n = True
Case &HFE : Y = "\n"
Case &HFF : Y = "\x"
Case &H7C : Y = " "
Case &H80 : Y = ""
Case Else : Y = "\h" & IIf(Len(Hex(X)) < 2, "0" & Hex(X), Hex(X))
End Select
Else
Select Case X
Case &H0 : Y = " "
Case &H1 : Y = "À"
Case &H2 : Y = "Á"
Case &H3 : Y = "Â"
Case &H4 : Y = "Ç"
Case &H5 : Y = "È"
Case &H6 : Y = "É"
Case &H7 : Y = "Ê"
Case &H8 : Y = "Ë"
Case &H9 : Y = "Ì"
Case &HB : Y = "Î"
Case &HC : Y = "Ï"
Case &HD : Y = "Ò"
Case &HE : Y = "Ó"
Case &HF : Y = "Ô"
Case &H10 : Y = "Œ"
Case &H11 : Y = "Ù"
Case &H12 : Y = "Ú"
Case &H13 : Y = "Û"
Case &H15 : Y = "ß"
Case &H16 : Y = "à"
Case &H17 : Y = "á"
Case &H19 : Y = "ç"
Case &H1A : Y = "è"
Case &H1B : Y = "é"
Case &H1C : Y = "ê"
Case &H1D : Y = "ë"
Case &H1E : Y = "ì"
Case &H20 : Y = "î"
Case &H21 : Y = "ï"
Case &H22 : Y = "ò"
Case &H23 : Y = "ó"
Case &H24 : Y = "œ"
Case &H25 : Y = "ù"
Case &H26 : Y = "ú"
Case &H28 : Y = "°"
Case &H29 : Y = "ª"
Case &H2B : Y = "&"
Case &H2C : Y = "+"
Case &H2D : Y = "&"
Case &H34 : Y = "[Lv]"
Case &H35 : Y = "="
Case &H51 : Y = "¿"
Case &H52 : Y = "¡"
Case &H53 : Y = "[PK]"
Case &H54 : Y = "[MN]"
Case &H55 : Y = "[PO]"
Case &H56 : Y = "[Ke]"
Case &H57 : Y = "[BL]"
Case &H58 : Y = "[OC]"
Case &H59 : Y = "[K]"
Case &H5A : Y = "Í"
Case &H5B : Y = "%"
Case &H5C : Y = "("
Case &H5D : Y = ")"
Case &H68 : Y = "â"
Case &H6F : Y = "í"
Case &H79 : Y = "[U]"
Case &H7A : Y = "[D]"
Case &H7B : Y = "[L]"
Case &H7C : Y = "[R]"
Case &HA1 : Y = "0"
Case &HA2 : Y = "1"
Case &HA3 : Y = "2"
Case &HA4 : Y = "3"
Case &HA5 : Y = "4"
Case &HA6 : Y = "5"
Case &HA7 : Y = "6"
Case &HA8 : Y = "7"
Case &HA9 : Y = "8"
Case &HAA : Y = "9"
Case &HAB : Y = "!"
Case &HAC : Y = "?"
Case &HAD : Y = "."
Case &HAE : Y = "-"
Case &HAF : Y = "·"
Case &HB0 : Y = "[.]"
Case &HB1 : Y = "[""]"
Case &HB2 : Y = """"
Case &HB3 : Y = "[']"
Case &HB4 : Y = "'"
Case &HB5 : Y = ""
Case &HB6 : Y = ""
Case &HB7 : Y = "[p]"
Case &HB8 : Y = ","
Case &HB9 : Y = "[x]"
Case &HBA : Y = "/"
Case &HBB : Y = "A"
Case &HBC : Y = "B"
Case &HBD : Y = "C"
Case &HBE : Y = "D"
Case &HBF : Y = "E"
Case &HC0 : Y = "F"
Case &HC1 : Y = "G"
Case &HC2 : Y = "H"
Case &HC3 : Y = "I"
Case &HC4 : Y = "J"
Case &HC5 : Y = "K"
Case &HC6 : Y = "L"
Case &HC7 : Y = "M"
Case &HC8 : Y = "N"
Case &HC9 : Y = "O"
Case &HCA : Y = "P"
Case &HCB : Y = "Q"
Case &HCC : Y = "R"
Case &HCD : Y = "S"
Case &HCE : Y = "T"
Case &HCF : Y = "U"
Case &HD0 : Y = "V"
Case &HD1 : Y = "W"
Case &HD2 : Y = "X"
Case &HD3 : Y = "Y"
Case &HD4 : Y = "Z"
Case &HD5 : Y = "a"
Case &HD6 : Y = "b"
Case &HD7 : Y = "c"
Case &HD8 : Y = "d"
Case &HD9 : Y = "e"
Case &HDA : Y = "f"
Case &HDB : Y = "g"
Case &HDC : Y = "h"
Case &HDD : Y = "i"
Case &HDE : Y = "j"
Case &HDF : Y = "k"
Case &HE0 : Y = "l"
Case &HE1 : Y = "m"
Case &HE2 : Y = "n"
Case &HE3 : Y = "o"
Case &HE4 : Y = "p"
Case &HE5 : Y = "q"
Case &HE6 : Y = "r"
Case &HE7 : Y = "s"
Case &HE8 : Y = "t"
Case &HE9 : Y = "u"
Case &HEA : Y = "v"
Case &HEB : Y = "w"
Case &HEC : Y = "x"
Case &HED : Y = "y"
Case &HEE : Y = "z"
Case &HEF : Y = "[>]"
Case &HF0 : Y = ":"
Case &HF1 : Y = "Ä"
Case &HF2 : Y = "Ö"
Case &HF3 : Y = "Ü"
Case &HF4 : Y = "ä"
Case &HF5 : Y = "ö"
Case &HF6 : Y = "ü"
Case &HF7 : Y = "[u]"
Case &HF8 : Y = "[d]"
Case &HF9 : Y = "[l]"
Case &HFA : Y = "\l"
Case &HFB : Y = "\p"
Case &HFC : Y = "" 'n = True
Case &HFD : Y = "\v" 'n = True
Case &HFE : Y = "\n"
Case &HFF : Y = "\x"
Case Else : Y = "\h" & IIf(Len(Hex(X)) < 2, "0" & Hex(X), Hex(X))
End Select
End If
End If
o = o & Y
Next i
Sapp2Asc = o
End Function
'Public Function Sapp2AscTabled(ByVal sappstring As String, Optional japanese As Boolean) As String
' Dim mytable(256) As String
' Dim i As String
' Dim a As Integer, b As Integer, c As Integer
' Dim ff As Integer
' ff = FreeFile
' Open "obsidian.tbl" For Input As ff
' While Not EOF(ff)
' Line Input #ff, i
' c = Val("&H" & Left(i, 2))
' mytable(c) = Mid(i, 4)
' Wend
' Close #ff
' i = ""
' For a = 1 To Len(sappstring)
' c = Asc(Mid(sappstring, a, 1))
' If mytable(c) = "" Then
' i = i & "\h" & Right(" " & Hex(c), 2)
' Else
' i = i & mytable(c)
' End If
' Next a
' Sapp2Asc = i
'End Function
Private Function IsHex(ByVal hexstring As String) As Boolean
Dim z As Boolean
Dim Y As Byte
For i = 1 To Len(hexstring)
Y = Asc(Mid(hexstring, i, 1))
z = IIf((Y > 47 And Y < 58) Or (Y > 64 And Y < 71) Or (Y > 96 And Y < 103), True, False)
If z = False Then Exit For
Next i
IsHex = z
End Function
Private Function Hex2(ByVal indec As Long, Optional ByVal digits As Byte = 2) As String
X = Hex(indec)
Do While Len(X) < digits
X = "0" & X
Loop
Hex2 = X
End Function
Public Function NameAsc2Sapp(ByVal asciistring As String) As String
o = ""
Dim m As Boolean
For i = 1 To Len(asciistring)
m = False
If m = False Then
Select Case Mid(asciistring, i, 1)
Case " " : Y = &H0 : m = True
Case "À" : Y = &H1 : m = True
Case "Á" : Y = &H2 : m = True
Case "Â" : Y = &H3 : m = True
Case "Ç" : Y = &H4 : m = True
Case "È" : Y = &H5 : m = True
Case "É" : Y = &H6 : m = True
Case "Ê" : Y = &H7 : m = True
Case "Ë" : Y = &H8 : m = True
Case "Ì" : Y = &H9 : m = True
Case "Î" : Y = &HB : m = True
Case "Ï" : Y = &HC : m = True
Case "Ò" : Y = &HD : m = True
Case "Ó" : Y = &HE : m = True
Case "Ô" : Y = &HF : m = True
Case "Œ" : Y = &H10 : m = True
Case "Ù" : Y = &H11 : m = True
Case "Ú" : Y = &H12 : m = True
Case "Û" : Y = &H13 : m = True
Case "ß" : Y = &H15 : m = True
Case "à" : Y = &H16 : m = True
Case "á" : Y = &H17 : m = True
Case "ç" : Y = &H19 : m = True
Case "è" : Y = &H1A : m = True
Case "é" : Y = &H1B : m = True
Case "ê" : Y = &H1C : m = True
Case "ë" : Y = &H1D : m = True
Case "ì" : Y = &H1E : m = True
Case "î" : Y = &H20 : m = True
Case "ï" : Y = &H21 : m = True
Case "ò" : Y = &H22 : m = True
Case "ó" : Y = &H23 : m = True
Case "œ" : Y = &H24 : m = True
Case "ù" : Y = &H25 : m = True
Case "ú" : Y = &H26 : m = True
Case "°" : Y = &H28 : m = True
Case "ª" : Y = &H29 : m = True
Case "+" : Y = &H2C : m = True
Case "&" : Y = &H2D : m = True
Case "=" : Y = &H35 : m = True
Case "¿" : Y = &H51 : m = True
Case "¡" : Y = &H52 : m = True
Case "Í" : Y = &H5A : m = True
Case "%" : Y = &H5B : m = True
Case "(" : Y = &H5C : m = True
Case ")" : Y = &H5D : m = True
Case "â" : Y = &H68 : m = True
Case "í" : Y = &H6F : m = True
Case "0" : Y = &HA1 : m = True
Case "1" : Y = &HA2 : m = True
Case "2" : Y = &HA3 : m = True
Case "3" : Y = &HA4 : m = True
Case "4" : Y = &HA5 : m = True
Case "5" : Y = &HA6 : m = True
Case "6" : Y = &HA7 : m = True
Case "7" : Y = &HA8 : m = True
Case "8" : Y = &HA9 : m = True
Case "9" : Y = &HAA : m = True
Case "!" : Y = &HAB : m = True
Case "?" : Y = &HAC : m = True
Case "." : Y = &HAD : m = True
Case "-" : Y = &HAE : m = True
Case "·" : Y = &HAF : m = True
Case "," : Y = &HB8 : m = True
Case """" : Y = &HB2 : m = True
Case "'" : Y = &HB4 : m = True
Case "/" : Y = &HBA : m = True
Case "A" : Y = &HBB : m = True
Case "B" : Y = &HBC : m = True
Case "C" : Y = &HBD : m = True
Case "D" : Y = &HBE : m = True
Case "E" : Y = &HBF : m = True
Case "F" : Y = &HC0 : m = True
Case "G" : Y = &HC1 : m = True
Case "H" : Y = &HC2 : m = True
Case "I" : Y = &HC3 : m = True
Case "J" : Y = &HC4 : m = True
Case "K" : Y = &HC5 : m = True
Case "L" : Y = &HC6 : m = True
Case "M" : Y = &HC7 : m = True
Case "N" : Y = &HC8 : m = True
Case "O" : Y = &HC9 : m = True
Case "P" : Y = &HCA : m = True
Case "Q" : Y = &HCB : m = True
Case "R" : Y = &HCC : m = True
Case "S" : Y = &HCD : m = True
Case "T" : Y = &HCE : m = True
Case "U" : Y = &HCF : m = True
Case "V" : Y = &HD0 : m = True
Case "W" : Y = &HD1 : m = True
Case "X" : Y = &HD2 : m = True
Case "Y" : Y = &HD3 : m = True
Case "Z" : Y = &HD4 : m = True
Case "a" : Y = &HD5 : m = True
Case "b" : Y = &HD6 : m = True
Case "c" : Y = &HD7 : m = True
Case "d" : Y = &HD8 : m = True
Case "e" : Y = &HD9 : m = True
Case "f" : Y = &HDA : m = True
Case "g" : Y = &HDB : m = True
Case "h" : Y = &HDC : m = True
Case "i" : Y = &HDD : m = True
Case "j" : Y = &HDE : m = True
Case "k" : Y = &HDF : m = True
Case "l" : Y = &HE0 : m = True
Case "m" : Y = &HE1 : m = True
Case "n" : Y = &HE2 : m = True
Case "o" : Y = &HE3 : m = True
Case "p" : Y = &HE4 : m = True
Case "q" : Y = &HE5 : m = True
Case "r" : Y = &HE6 : m = True
Case "s" : Y = &HE7 : m = True
Case "t" : Y = &HE8 : m = True
Case "u" : Y = &HE9 : m = True
Case "v" : Y = &HEA : m = True
Case "w" : Y = &HEB : m = True
Case "x" : Y = &HEC : m = True
Case "y" : Y = &HED : m = True
Case "z" : Y = &HEE : m = True
Case ":" : Y = &HF0 : m = True
Case "Ä" : Y = &HF1 : m = True
Case "Ö" : Y = &HF2 : m = True
Case "Ü" : Y = &HF3 : m = True
Case "ä" : Y = &HF4 : m = True
Case "ö" : Y = &HF5 : m = True
Case "ü" : Y = &HF6 : m = True
Case "" : Y = &HB5 : m = True
Case "" : Y = &HB6 : m = True
'This whole thing auto-converted from TBL file
Case "" : Y = &H1 '"a"
Case "" : Y = &H2 '"i"
Case "" : Y = &H3 '"u"
Case "" : Y = &H4 '"e"
Case "" : Y = &H5 '"o"
Case "" : Y = &H6 '"ka"
Case "" : Y = &H7 '"ki"
Case "" : Y = &H8 '"ku"
Case "" : Y = &H9 '"ke"
Case "" : Y = &HA '"ko"
Case "" : Y = &HB '"sa"
Case "" : Y = &HC '"shi"
Case "" : Y = &HD '"su"
Case "" : Y = &HE '"se"
Case "" : Y = &HF '"so"
Case "" : Y = &H10 '"ta"
Case "" : Y = &H11 '"chi"
Case "" : Y = &H12 '"tsu"
Case "" : Y = &H13 '"te"
Case "" : Y = &H14 '"to"
Case "" : Y = &H15 '"na"
Case "" : Y = &H16 '"ni"
Case "" : Y = &H17 '"nu"
Case "" : Y = &H18 '"ne"
Case "" : Y = &H19 '"no"
Case "" : Y = &H1A '"ha"
Case "" : Y = &H1B '"hi"
Case "" : Y = &H1C '"fu"
Case "" : Y = &H1D '"he"
Case "" : Y = &H1E '"ho"
Case "" : Y = &H1F '"ma"
Case "" : Y = &H20 '"mi"
Case "" : Y = &H21 '"mu"
Case "" : Y = &H22 '"me"
Case "" : Y = &H23 '"mo"
Case "" : Y = &H24 '"ya"
Case "" : Y = &H25 '"yu"
Case "" : Y = &H26 '"yo"
Case "" : Y = &H27 '"ra"
Case "" : Y = &H28 '"ri"
Case "" : Y = &H29 '"ru"
Case "" : Y = &H2A '"re"
Case "" : Y = &H2B '"ro"
Case "" : Y = &H2C '"wa"
Case "" : Y = &H2D '"wo"
Case "" : Y = &H2E '"n"
Case "" : Y = &H2F '"la"
Case "" : Y = &H30 '"li"
Case "" : Y = &H31 '"lu"
Case "" : Y = &H32 '"le"
Case "" : Y = &H33 '"lo"
Case "" : Y = &H34 '"lya"
Case "" : Y = &H35 '"lyu"
Case "" : Y = &H36 '"lyo"
Case "" : Y = &H37 '"ga"
Case "" : Y = &H38 '"gi"
Case "" : Y = &H39 '"gu"
Case "" : Y = &H3A '"ge"
Case "" : Y = &H3B '"go"
Case "" : Y = &H3C '"za"
Case "" : Y = &H3D '"ji"
Case "" : Y = &H3E '"zu"
Case "" : Y = &H3F '"ze"
Case "" : Y = &H40 '"zo"
Case "" : Y = &H41 '"da"
Case "" : Y = &H42 '"dji"
Case "" : Y = &H43 '"dzu"
Case "" : Y = &H44 '"de"
Case "" : Y = &H45 '"do"
Case "" : Y = &H46 '"ba"
Case "" : Y = &H47 '"bi"
Case "" : Y = &H48 '"bu"
Case "" : Y = &H49 '"be"
Case "" : Y = &H4A '"bo"
Case "" : Y = &H4B '"pa"
Case "" : Y = &H4C '"pi"
Case "" : Y = &H4D '"pu"
Case "" : Y = &H4E '"pe"
Case "" : Y = &H4F '"po"
Case "" : Y = &H50 '"ltsu"
Case "" : Y = &H51 '"A"
Case "" : Y = &H52 '"I"
Case "" : Y = &H53 '"U"
Case "" : Y = &H54 '"E"
Case "" : Y = &H55 '"O"
Case "" : Y = &H56 '"KA"
Case "" : Y = &H57 '"KI"
Case "" : Y = &H58 '"KU"
Case "" : Y = &H59 '"KE"
Case "" : Y = &H5A '"KO"
Case "" : Y = &H5B '"SA"
Case "" : Y = &H5C '"SHI"
Case "" : Y = &H5D '"SU"
Case "" : Y = &H5E '"SE"
Case "" : Y = &H5F '"SO"
Case "" : Y = &H60 '"TA"
Case "" : Y = &H61 '"CHI"
Case "" : Y = &H62 '"TSU"
Case "" : Y = &H63 '"TE"
Case "" : Y = &H64 '"TO"
Case "" : Y = &H65 '"NA"
Case "" : Y = &H66 '"NI"
Case "" : Y = &H67 '"NU"
Case "" : Y = &H68 '"NE"
Case "" : Y = &H69 '"NO"
Case "" : Y = &H6A '"HA"
Case "" : Y = &H6B '"HI"
Case "" : Y = &H6C '"FU"
Case "" : Y = &H6D '"HE"
Case "" : Y = &H6E '"HO"
Case "" : Y = &H6F '"MA"
Case "" : Y = &H70 '"MI"
Case "" : Y = &H71 '"MU"
Case "" : Y = &H72 '"ME"
Case "" : Y = &H73 '"MO"
Case "" : Y = &H74 '"YA"
Case "" : Y = &H75 '"YU"
Case "" : Y = &H76 '"YO"
Case "" : Y = &H77 '"RA"
Case "" : Y = &H78 '"RI"
Case "" : Y = &H79 '"RU"
Case "" : Y = &H7A '"RE"
Case "" : Y = &H7B '"RO"
Case "" : Y = &H7C '"WA"
Case "" : Y = &H7D '"WO"
Case "" : Y = &H7E '"N"
Case "" : Y = &H7F '"LA"
Case "" : Y = &H80 '"LI"
Case "" : Y = &H81 '"LU"
Case "" : Y = &H82 '"LE"
Case "" : Y = &H83 '"LO"
Case "" : Y = &H84 '"LYA"
Case "" : Y = &H85 '"LYU"
Case "" : Y = &H86 '"LYO"
Case "" : Y = &H87 '"GA"
Case "" : Y = &H88 '"GI"
Case "" : Y = &H89 '"GU"
Case "" : Y = &H8A '"GE"
Case "" : Y = &H8B '"GO"
Case "" : Y = &H8C '"ZA"
Case "" : Y = &H8D '"JI"
Case "" : Y = &H8E '"ZU"
Case "" : Y = &H8F '"ZE"
Case "" : Y = &H90 '"ZO"
Case "" : Y = &H91 '"DA"
Case "" : Y = &H92 '"DJI"
Case "" : Y = &H93 '"DZU"
Case "" : Y = &H94 '"DE"
Case "" : Y = &H95 '"DO"
Case "" : Y = &H96 '"BA"
Case "" : Y = &H97 '"BI"
Case "" : Y = &H98 '"BU"
Case "" : Y = &H99 '"BE"
Case "" : Y = &H9A '"BO"
Case "" : Y = &H9B '"PA"
Case "" : Y = &H9C '"PI"
Case "" : Y = &H9D '"PU"
Case "" : Y = &H9E '"PE"
Case "" : Y = &H9F '"PO"
Case "" : Y = &HA0 '"LTSU"
End Select
End If
If m = False Then Y = &H0
o = o & Chr(Y)
Next i
NameAsc2Sapp = o
End Function
End Module