Asc() function

Monkey Forums/Monkey Code/Asc() function

Nobuyuki(Posted 2011) [#1]
I've hacked together a little function which I needed for doing some basic ascii operations with single-char strings. This should work with the extended ascii set's printable characters (no unicode, sorry). Unless I missed something in the docs, I have no idea why Monkey has Chr() but not Asc() (or AscW, for that matter). So, here you go.


Function Asc:Int(char:String)
	If char = String.FromChar(32) then Return 32
	If char = String.FromChar(33) then Return 33
	If char = String.FromChar(34) then Return 34
	If char = String.FromChar(35) then Return 35
	If char = String.FromChar(36) then Return 36
	If char = String.FromChar(37) then Return 37
	If char = String.FromChar(38) then Return 38
	If char = String.FromChar(39) then Return 39
	If char = String.FromChar(40) then Return 40
	If char = String.FromChar(41) then Return 41
	If char = String.FromChar(42) then Return 42
	If char = String.FromChar(43) then Return 43
	If char = String.FromChar(44) then Return 44
	If char = String.FromChar(45) then Return 45
	If char = String.FromChar(46) then Return 46
	If char = String.FromChar(47) then Return 47
	If char = String.FromChar(48) then Return 48
	If char = String.FromChar(49) then Return 49
	If char = String.FromChar(50) then Return 50
	If char = String.FromChar(51) then Return 51
	If char = String.FromChar(52) then Return 52
	If char = String.FromChar(53) then Return 53
	If char = String.FromChar(54) then Return 54
	If char = String.FromChar(55) then Return 55
	If char = String.FromChar(56) then Return 56
	If char = String.FromChar(57) then Return 57
	If char = String.FromChar(58) then Return 58
	If char = String.FromChar(59) then Return 59
	If char = String.FromChar(60) then Return 60
	If char = String.FromChar(61) then Return 61
	If char = String.FromChar(62) then Return 62
	If char = String.FromChar(63) then Return 63
	If char = String.FromChar(64) then Return 64
	If char = String.FromChar(65) then Return 65
	If char = String.FromChar(66) then Return 66
	If char = String.FromChar(67) then Return 67
	If char = String.FromChar(68) then Return 68
	If char = String.FromChar(69) then Return 69
	If char = String.FromChar(70) then Return 70
	If char = String.FromChar(71) then Return 71
	If char = String.FromChar(72) then Return 72
	If char = String.FromChar(73) then Return 73
	If char = String.FromChar(74) then Return 74
	If char = String.FromChar(75) then Return 75
	If char = String.FromChar(76) then Return 76
	If char = String.FromChar(77) then Return 77
	If char = String.FromChar(78) then Return 78
	If char = String.FromChar(79) then Return 79
	If char = String.FromChar(80) then Return 80
	If char = String.FromChar(81) then Return 81
	If char = String.FromChar(82) then Return 82
	If char = String.FromChar(83) then Return 83
	If char = String.FromChar(84) then Return 84
	If char = String.FromChar(85) then Return 85
	If char = String.FromChar(86) then Return 86
	If char = String.FromChar(87) then Return 87
	If char = String.FromChar(88) then Return 88
	If char = String.FromChar(89) then Return 89
	If char = String.FromChar(90) then Return 90
	If char = String.FromChar(91) then Return 91
	If char = String.FromChar(92) then Return 92
	If char = String.FromChar(93) then Return 93
	If char = String.FromChar(94) then Return 94
	If char = String.FromChar(95) then Return 95
	If char = String.FromChar(96) then Return 96
	If char = String.FromChar(97) then Return 97
	If char = String.FromChar(98) then Return 98
	If char = String.FromChar(99) then Return 99
	If char = String.FromChar(100) then Return 100
	If char = String.FromChar(101) then Return 101
	If char = String.FromChar(102) then Return 102
	If char = String.FromChar(103) then Return 103
	If char = String.FromChar(104) then Return 104
	If char = String.FromChar(105) then Return 105
	If char = String.FromChar(106) then Return 106
	If char = String.FromChar(107) then Return 107
	If char = String.FromChar(108) then Return 108
	If char = String.FromChar(109) then Return 109
	If char = String.FromChar(110) then Return 110
	If char = String.FromChar(111) then Return 111
	If char = String.FromChar(112) then Return 112
	If char = String.FromChar(113) then Return 113
	If char = String.FromChar(114) then Return 114
	If char = String.FromChar(115) then Return 115
	If char = String.FromChar(116) then Return 116
	If char = String.FromChar(117) then Return 117
	If char = String.FromChar(118) then Return 118
	If char = String.FromChar(119) then Return 119
	If char = String.FromChar(120) then Return 120
	If char = String.FromChar(121) then Return 121
	If char = String.FromChar(122) then Return 122
	If char = String.FromChar(123) then Return 123
	If char = String.FromChar(124) then Return 124
	If char = String.FromChar(125) then Return 125
	If char = String.FromChar(126) then Return 126
	If char = String.FromChar(127) then Return 127
	If char = String.FromChar(128) then Return 128
	If char = String.FromChar(129) then Return 129
	If char = String.FromChar(130) then Return 130
	If char = String.FromChar(131) then Return 131
	If char = String.FromChar(132) then Return 132
	If char = String.FromChar(133) then Return 133
	If char = String.FromChar(134) then Return 134
	If char = String.FromChar(135) then Return 135
	If char = String.FromChar(136) then Return 136
	If char = String.FromChar(137) then Return 137
	If char = String.FromChar(138) then Return 138
	If char = String.FromChar(139) then Return 139
	If char = String.FromChar(140) then Return 140
	If char = String.FromChar(141) then Return 141
	If char = String.FromChar(142) then Return 142
	If char = String.FromChar(143) then Return 143
	If char = String.FromChar(144) then Return 144
	If char = String.FromChar(145) then Return 145
	If char = String.FromChar(146) then Return 146
	If char = String.FromChar(147) then Return 147
	If char = String.FromChar(148) then Return 148
	If char = String.FromChar(149) then Return 149
	If char = String.FromChar(150) then Return 150
	If char = String.FromChar(151) then Return 151
	If char = String.FromChar(152) then Return 152
	If char = String.FromChar(153) then Return 153
	If char = String.FromChar(154) then Return 154
	If char = String.FromChar(155) then Return 155
	If char = String.FromChar(156) then Return 156
	If char = String.FromChar(157) then Return 157
	If char = String.FromChar(158) then Return 158
	If char = String.FromChar(159) then Return 159
	If char = String.FromChar(160) then Return 160
	If char = String.FromChar(161) then Return 161
	If char = String.FromChar(162) then Return 162
	If char = String.FromChar(163) then Return 163
	If char = String.FromChar(164) then Return 164
	If char = String.FromChar(165) then Return 165
	If char = String.FromChar(166) then Return 166
	If char = String.FromChar(167) then Return 167
	If char = String.FromChar(168) then Return 168
	If char = String.FromChar(169) then Return 169
	If char = String.FromChar(170) then Return 170
	If char = String.FromChar(171) then Return 171
	If char = String.FromChar(172) then Return 172
	If char = String.FromChar(173) then Return 173
	If char = String.FromChar(174) then Return 174
	If char = String.FromChar(175) then Return 175
	If char = String.FromChar(176) then Return 176
	If char = String.FromChar(177) then Return 177
	If char = String.FromChar(178) then Return 178
	If char = String.FromChar(179) then Return 179
	If char = String.FromChar(180) then Return 180
	If char = String.FromChar(181) then Return 181
	If char = String.FromChar(182) then Return 182
	If char = String.FromChar(183) then Return 183
	If char = String.FromChar(184) then Return 184
	If char = String.FromChar(185) then Return 185
	If char = String.FromChar(186) then Return 186
	If char = String.FromChar(187) then Return 187
	If char = String.FromChar(188) then Return 188
	If char = String.FromChar(189) then Return 189
	If char = String.FromChar(190) then Return 190
	If char = String.FromChar(191) then Return 191
	If char = String.FromChar(192) then Return 192
	If char = String.FromChar(193) then Return 193
	If char = String.FromChar(194) then Return 194
	If char = String.FromChar(195) then Return 195
	If char = String.FromChar(196) then Return 196
	If char = String.FromChar(197) then Return 197
	If char = String.FromChar(198) then Return 198
	If char = String.FromChar(199) then Return 199
	If char = String.FromChar(200) then Return 200
	If char = String.FromChar(201) then Return 201
	If char = String.FromChar(202) then Return 202
	If char = String.FromChar(203) then Return 203
	If char = String.FromChar(204) then Return 204
	If char = String.FromChar(205) then Return 205
	If char = String.FromChar(206) then Return 206
	If char = String.FromChar(207) then Return 207
	If char = String.FromChar(208) then Return 208
	If char = String.FromChar(209) then Return 209
	If char = String.FromChar(210) then Return 210
	If char = String.FromChar(211) then Return 211
	If char = String.FromChar(212) then Return 212
	If char = String.FromChar(213) then Return 213
	If char = String.FromChar(214) then Return 214
	If char = String.FromChar(215) then Return 215
	If char = String.FromChar(216) then Return 216
	If char = String.FromChar(217) then Return 217
	If char = String.FromChar(218) then Return 218
	If char = String.FromChar(219) then Return 219
	If char = String.FromChar(220) then Return 220
	If char = String.FromChar(221) then Return 221
	If char = String.FromChar(222) then Return 222
	If char = String.FromChar(223) then Return 223
	If char = String.FromChar(224) then Return 224
	If char = String.FromChar(225) then Return 225
	If char = String.FromChar(226) then Return 226
	If char = String.FromChar(227) then Return 227
	If char = String.FromChar(228) then Return 228
	If char = String.FromChar(229) then Return 229
	If char = String.FromChar(230) then Return 230
	If char = String.FromChar(231) then Return 231
	If char = String.FromChar(232) then Return 232
	If char = String.FromChar(233) then Return 233
	If char = String.FromChar(234) then Return 234
	If char = String.FromChar(235) then Return 235
	If char = String.FromChar(236) then Return 236
	If char = String.FromChar(237) then Return 237
	If char = String.FromChar(238) then Return 238
	If char = String.FromChar(239) then Return 239
	If char = String.FromChar(240) then Return 240
	If char = String.FromChar(241) then Return 241
	If char = String.FromChar(242) then Return 242
	If char = String.FromChar(243) then Return 243
	If char = String.FromChar(244) then Return 244
	If char = String.FromChar(245) then Return 245
	If char = String.FromChar(246) then Return 246
	If char = String.FromChar(247) then Return 247
	If char = String.FromChar(248) then Return 248
	If char = String.FromChar(249) then Return 249
	If char = String.FromChar(250) then Return 250
	If char = String.FromChar(251) then Return 251
	If char = String.FromChar(252) then Return 252
	If char = String.FromChar(253) then Return 253
	If char = String.FromChar(254) then Return 254
	If char = String.FromChar(255) then Return 255
	
	Return 0
End Function



muddy_shoes(Posted 2011) [#2]
I think you've missed the bit in the docs that mentions that indexing a string returns the character code. So your function can be replaced by this:

Function Asc:Int(char:String)
    Return char[0]
End



Nobuyuki(Posted 2011) [#3]
haha, I must've. Thanks :)