conio 1.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +1 -1
- data/README +51 -33
- data/Rakefile +40 -40
- data/ext/libconio.c +1009 -0
- data/lib/conio.rb +392 -407
- data/lib/libconio.so +0 -0
- data/test/test.rb +31 -283
- metadata +10 -5
data/lib/conio.rb
CHANGED
@@ -1,14 +1,12 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
# Library Console I/O for Ruby
|
4
|
-
|
5
3
|
# *******************************************************
|
6
4
|
# * Conio *
|
7
5
|
# *******************************************************
|
8
6
|
# * Library Console I/O for Ruby *
|
9
7
|
# *******************************************************
|
10
8
|
# * Title: Conio *
|
11
|
-
# * Version: 1.0
|
9
|
+
# * Version: 1.1.0 *
|
12
10
|
# * Language: Ruby *
|
13
11
|
# * Source: conio.rb *
|
14
12
|
# *******************************************************
|
@@ -20,560 +18,547 @@
|
|
20
18
|
# * Copyright (C) 2010 RAGNETTO Software *
|
21
19
|
# *******************************************************
|
22
20
|
|
21
|
+
# Library Console I/O for Ruby 1.9
|
22
|
+
|
23
23
|
# Require Dynamic Library [libconio.so]
|
24
24
|
require "libconio"
|
25
25
|
|
26
|
-
#
|
26
|
+
# Initialize object Libconio
|
27
27
|
include Libconio
|
28
28
|
|
29
|
-
#
|
30
|
-
# * Conio Module *
|
31
|
-
# ****************
|
32
|
-
|
29
|
+
# Module Conio
|
33
30
|
module Conio
|
34
|
-
|
35
|
-
# ******************
|
36
|
-
# * Conio Costants *
|
37
|
-
# ******************
|
38
|
-
|
31
|
+
|
39
32
|
# Costant Color Value
|
40
|
-
|
33
|
+
COLOR_BLACK = 0
|
41
34
|
|
42
35
|
# Costant Color Value
|
43
|
-
|
36
|
+
COLOR_BLUE = 1
|
44
37
|
|
45
38
|
# Costant Color Value
|
46
|
-
|
39
|
+
COLOR_GREEN = 2
|
47
40
|
|
48
41
|
# Costant Color Value
|
49
|
-
|
42
|
+
COLOR_CYAN = 3
|
50
43
|
|
51
44
|
# Costant Color Value
|
52
|
-
|
45
|
+
COLOR_RED = 4
|
53
46
|
|
54
47
|
# Costant Color Value
|
55
|
-
|
48
|
+
COLOR_MAGENTA = 5
|
56
49
|
|
57
50
|
# Costant Color Value
|
58
|
-
|
51
|
+
COLOR_BROWN = 6
|
59
52
|
|
60
53
|
# Costant Color Value
|
61
|
-
|
54
|
+
COLOR_LIGHTGRAY = 7
|
62
55
|
|
63
56
|
# Costant Color Value
|
64
|
-
|
57
|
+
COLOR_DARKGRAY = 8
|
65
58
|
|
66
59
|
# Costant Color Value
|
67
|
-
|
60
|
+
COLOR_LIGHTBLUE = 9
|
68
61
|
|
69
62
|
# Costant Color Value
|
70
|
-
|
63
|
+
COLOR_LIGHTGREEN = 10
|
71
64
|
|
72
65
|
# Costant Color Value
|
73
|
-
|
66
|
+
COLOR_LIGHTCYAN = 11
|
74
67
|
|
75
68
|
# Costant Color Value
|
76
|
-
|
69
|
+
COLOR_LIGHTRED = 12
|
77
70
|
|
78
71
|
# Costant Color Value
|
79
|
-
|
72
|
+
COLOR_LIGHTMAGENTA = 13
|
80
73
|
|
81
74
|
# Costant Color Value
|
82
|
-
|
75
|
+
COLOR_YELLOW = 14
|
83
76
|
|
84
77
|
# Costant Color Value
|
85
|
-
|
78
|
+
COLOR_WHITE = 15
|
86
79
|
|
87
80
|
# Costant Info Value
|
88
|
-
|
81
|
+
INFO_ATTR = 0
|
89
82
|
|
90
83
|
# Costant Info Value
|
91
|
-
|
84
|
+
INFO_CX = 1
|
92
85
|
|
93
86
|
# Costant Info Value
|
94
|
-
|
87
|
+
INFO_CY = 2
|
95
88
|
|
96
89
|
# Costant Info Value
|
97
|
-
|
90
|
+
INFO_TOP = 3
|
98
91
|
|
99
92
|
# Costant Info Value
|
100
|
-
|
93
|
+
INFO_LEFT = 4
|
101
94
|
|
102
95
|
# Costant Info Value
|
103
|
-
|
96
|
+
INFO_RIGHT = 5
|
104
97
|
|
105
98
|
# Costant Info Value
|
106
|
-
|
99
|
+
INFO_BOTTOM = 6
|
107
100
|
|
108
101
|
# Costant Info Value
|
109
|
-
|
102
|
+
INFO_WIDTH = 7
|
110
103
|
|
111
104
|
# Costant Info Value
|
112
|
-
|
105
|
+
INFO_HEIGHT = 8
|
113
106
|
|
114
107
|
# Costant Info Value
|
115
|
-
|
108
|
+
INFO_MAXWIDTH = 9
|
116
109
|
|
117
110
|
# Costant Info Value
|
118
|
-
|
111
|
+
INFO_MAXHEIGHT = 10
|
119
112
|
|
120
113
|
# Costant Info Value
|
121
|
-
|
114
|
+
INFO_TOTALWIDTH = 11
|
122
115
|
|
123
116
|
# Costant Info Value
|
124
|
-
|
117
|
+
INFO_TOTALHEIGHT = 12
|
125
118
|
|
126
119
|
# Costant Text Info Value
|
127
|
-
|
120
|
+
TEXTINFO_ATTRIBUTE = 0
|
128
121
|
|
129
122
|
# Costant Text Info Value
|
130
|
-
|
123
|
+
TEXTINFO_NORMATTR = 1
|
131
124
|
|
132
125
|
# Costant Text Info Value
|
133
|
-
|
126
|
+
TEXTINFO_CURRMODE = 2
|
134
127
|
|
135
128
|
# Costant Text Info Value
|
136
|
-
|
129
|
+
TEXTINFO_CURX = 3
|
137
130
|
|
138
131
|
# Costant Text Info Value
|
139
|
-
|
132
|
+
TEXTINFO_CURY = 4
|
140
133
|
|
141
134
|
# Costant Text Info Value
|
142
|
-
|
135
|
+
TEXTINFO_SCREENWIDTH = 5
|
143
136
|
|
144
137
|
# Costant Text Info Value
|
145
|
-
|
138
|
+
TEXTINFO_SCREENHEIGHT = 6
|
146
139
|
|
147
140
|
# Costant Text Info Value
|
148
|
-
|
141
|
+
TEXTINFO_WINLEFT = 7
|
149
142
|
|
150
143
|
# Costant Text Info Value
|
151
|
-
|
144
|
+
TEXTINFO_WINTOP = 8
|
152
145
|
|
153
146
|
# Costant Text Info Value
|
154
|
-
|
147
|
+
TEXTINFO_WINRIGHT = 9
|
155
148
|
|
156
149
|
# Costant Text Info Value
|
157
|
-
|
150
|
+
TEXTINFO_WINBOTTOM = 10
|
158
151
|
|
159
152
|
# Costant Cursor Value
|
160
|
-
|
153
|
+
CURSOR_HIDE = 0
|
161
154
|
|
162
155
|
# Costant Cursor Value
|
163
|
-
|
156
|
+
CURSOR_NORMAL = 25
|
164
157
|
|
165
158
|
# Costant Cursor Value
|
166
|
-
|
159
|
+
CURSOR_SOLID = 100
|
167
160
|
|
168
|
-
#
|
169
|
-
|
170
|
-
# ***************************
|
161
|
+
# Costant Key Value
|
162
|
+
KEY_F1 = 59
|
171
163
|
|
172
|
-
#
|
173
|
-
|
174
|
-
# Ruby Function cgets()
|
175
|
-
value = Libconio.ruby_cgets(lenght)
|
176
|
-
|
177
|
-
# Return value
|
178
|
-
return value
|
179
|
-
end
|
164
|
+
# Costant Key Value
|
165
|
+
KEY_F2 = 60
|
180
166
|
|
181
|
-
#
|
182
|
-
|
183
|
-
# Ruby Function clreol()
|
184
|
-
Libconio.ruby_clreol()
|
185
|
-
|
186
|
-
# Return nil
|
187
|
-
return nil
|
188
|
-
end
|
167
|
+
# Costant Key Value
|
168
|
+
KEY_F3 = 61
|
189
169
|
|
190
|
-
#
|
191
|
-
|
192
|
-
# Ruby Function clrscr()
|
193
|
-
Libconio.ruby_clrscr()
|
194
|
-
|
195
|
-
# Return nil
|
196
|
-
return nil
|
197
|
-
end
|
170
|
+
# Costant Key Value
|
171
|
+
KEY_F4 = 62
|
198
172
|
|
199
|
-
#
|
200
|
-
|
201
|
-
# Ruby Function cputs()
|
202
|
-
value = Libconio.ruby_cputs(text)
|
203
|
-
|
204
|
-
# Return text value
|
205
|
-
return value
|
206
|
-
end
|
173
|
+
# Costant Key Value
|
174
|
+
KEY_F5 = 63
|
207
175
|
|
208
|
-
#
|
209
|
-
|
210
|
-
# Ruby Function crop()
|
211
|
-
Libconio.ruby_crop()
|
212
|
-
|
213
|
-
# Return nil
|
214
|
-
return nil
|
215
|
-
end
|
176
|
+
# Costant Key Value
|
177
|
+
KEY_F6 = 64
|
216
178
|
|
217
|
-
#
|
218
|
-
|
219
|
-
# Ruby Function delay()
|
220
|
-
Libconio.ruby_delay(milliseconds)
|
221
|
-
|
222
|
-
# Return nil
|
223
|
-
return nil
|
224
|
-
end
|
179
|
+
# Costant Key Value
|
180
|
+
KEY_F7 = 65
|
225
181
|
|
226
|
-
#
|
227
|
-
|
228
|
-
# Ruby Function delline()
|
229
|
-
Libconio.ruby_delline()
|
230
|
-
|
231
|
-
# Return nil
|
232
|
-
return nil
|
233
|
-
end
|
182
|
+
# Costant Key Value
|
183
|
+
KEY_F8 = 66
|
234
184
|
|
235
|
-
#
|
236
|
-
|
237
|
-
# Ruby Function fill()
|
238
|
-
Libconio.ruby_fill(character, forecolor, backcolor, number, x, y)
|
239
|
-
|
240
|
-
# Return nil
|
241
|
-
return nil
|
242
|
-
end
|
185
|
+
# Costant Key Value
|
186
|
+
KEY_F9 = 67
|
243
187
|
|
244
|
-
#
|
245
|
-
|
246
|
-
# Ruby Function fillattr()
|
247
|
-
Libconio.ruby_fillattr(forecolor, backcolor, number, x, y)
|
248
|
-
|
249
|
-
# Return nil
|
250
|
-
return nil
|
251
|
-
end
|
188
|
+
# Costant Key Value
|
189
|
+
KEY_F10 = 68
|
252
190
|
|
253
|
-
#
|
254
|
-
|
255
|
-
# Ruby Function fillchar()
|
256
|
-
Libconio.ruby_fillchar(character, number, x, y)
|
257
|
-
|
258
|
-
# Return nil
|
259
|
-
return nil
|
260
|
-
end
|
191
|
+
# Costant Key Value
|
192
|
+
KEY_F11 = 133
|
261
193
|
|
262
|
-
#
|
263
|
-
|
264
|
-
# Ruby Function fillcr()
|
265
|
-
Libconio.ruby_fillcr(character, number, x, y)
|
266
|
-
|
267
|
-
# Return nil
|
268
|
-
return nil
|
269
|
-
end
|
194
|
+
# Costant Key Value
|
195
|
+
KEY_F12 = 134
|
270
196
|
|
271
|
-
#
|
272
|
-
|
273
|
-
# Ruby Function get()
|
274
|
-
Libconio.ruby_get(left, top, right, bottom, buffer)
|
275
|
-
|
276
|
-
# Return nil
|
277
|
-
return nil
|
278
|
-
end
|
197
|
+
# Costant Key Value
|
198
|
+
KEY_SHIFT_F1 = 84
|
279
199
|
|
280
|
-
#
|
281
|
-
|
282
|
-
# Ruby Function getattrs()
|
283
|
-
Libconio.ruby_getattrs(left, top, right, bottom, buffer)
|
284
|
-
|
285
|
-
# Return nil
|
286
|
-
return nil
|
287
|
-
end
|
200
|
+
# Costant Key Value
|
201
|
+
KEY_SHIFT_F2 = 85
|
288
202
|
|
289
|
-
#
|
290
|
-
|
291
|
-
# Ruby Function getch()
|
292
|
-
value = Libconio.ruby_getch()
|
293
|
-
|
294
|
-
# Return character value
|
295
|
-
return value
|
296
|
-
end
|
203
|
+
# Costant Key Value
|
204
|
+
KEY_SHIFT_F3 = 86
|
297
205
|
|
298
|
-
#
|
299
|
-
|
300
|
-
# Ruby Function getchars()
|
301
|
-
Libconio.ruby_getchars(left, top, right, bottom, buffer)
|
302
|
-
|
303
|
-
# Return nil
|
304
|
-
return nil
|
305
|
-
end
|
206
|
+
# Costant Key Value
|
207
|
+
KEY_SHIFT_F4 = 87
|
306
208
|
|
307
|
-
#
|
308
|
-
|
309
|
-
# Ruby Function getche()
|
310
|
-
value = Libconio.ruby_getche()
|
311
|
-
|
312
|
-
# Return value
|
313
|
-
return value
|
314
|
-
end
|
209
|
+
# Costant Key Value
|
210
|
+
KEY_SHIFT_F5 = 88
|
315
211
|
|
316
|
-
#
|
317
|
-
|
318
|
-
# Ruby Function getinfo()
|
319
|
-
value = Libconio.ruby_getinfo()
|
320
|
-
|
321
|
-
# Return value
|
322
|
-
return value
|
323
|
-
end
|
212
|
+
# Costant Key Value
|
213
|
+
KEY_SHIFT_F6 = 89
|
324
214
|
|
325
|
-
#
|
326
|
-
|
327
|
-
# Ruby Function gettext()
|
328
|
-
Libconio.ruby_gettext(left, top, right, bottom, buffer)
|
329
|
-
|
330
|
-
# Return nil
|
331
|
-
return nil
|
332
|
-
end
|
215
|
+
# Costant Key Value
|
216
|
+
KEY_SHIFT_F7 = 90
|
333
217
|
|
334
|
-
#
|
335
|
-
|
336
|
-
# Ruby Function gettextinfo()
|
337
|
-
value = Libconio.ruby_gettextinfo()
|
218
|
+
# Costant Key Value
|
219
|
+
KEY_SHIFT_F8 = 91
|
338
220
|
|
339
|
-
|
340
|
-
|
341
|
-
end
|
221
|
+
# Costant Key Value
|
222
|
+
KEY_SHIFT_F9 = 92
|
342
223
|
|
343
|
-
#
|
344
|
-
|
345
|
-
# Ruby Function gotoxy()
|
346
|
-
Libconio.ruby_gotoxy(x, y)
|
347
|
-
|
348
|
-
# Return nil
|
349
|
-
return nil
|
350
|
-
end
|
224
|
+
# Costant Key Value
|
225
|
+
KEY_SHIFT_F10 = 93
|
351
226
|
|
352
|
-
#
|
353
|
-
|
354
|
-
# Ruby Function insline()
|
355
|
-
Libconio.ruby_insline()
|
356
|
-
|
357
|
-
# Return nil
|
358
|
-
return nil
|
359
|
-
end
|
227
|
+
# Costant Key Value
|
228
|
+
KEY_SHIFT_F11 = 135
|
360
229
|
|
361
|
-
#
|
362
|
-
|
363
|
-
# Ruby Function kbhit()
|
364
|
-
value = Libconio.ruby_kbhit()
|
365
|
-
|
366
|
-
# Return value
|
367
|
-
return value
|
368
|
-
end
|
230
|
+
# Costant Key Value
|
231
|
+
KEY_SHIFT_F12 = 136
|
369
232
|
|
370
|
-
#
|
371
|
-
|
372
|
-
# Ruby Function movetext()
|
373
|
-
Libconio.ruby_movetext(left, top, right, bottom, newleft, newtop)
|
374
|
-
|
375
|
-
# Return nil
|
376
|
-
return nil
|
377
|
-
end
|
233
|
+
# Costant Key Value
|
234
|
+
KEY_CTRL_F1 = 94
|
378
235
|
|
379
|
-
#
|
380
|
-
|
381
|
-
# Ruby Function put()
|
382
|
-
Libconio.ruby_put(left, top, right, bottom, buffer)
|
383
|
-
|
384
|
-
# Return nil
|
385
|
-
return nil
|
386
|
-
end
|
236
|
+
# Costant Key Value
|
237
|
+
KEY_CTRL_F2 = 95
|
387
238
|
|
388
|
-
#
|
389
|
-
|
390
|
-
# Ruby Function putattrs()
|
391
|
-
Libconio.ruby_putattrs(left, top, right, bottom, buffer)
|
392
|
-
|
393
|
-
# Return nil
|
394
|
-
return nil
|
395
|
-
end
|
239
|
+
# Costant Key Value
|
240
|
+
KEY_CTRL_F3 = 96
|
396
241
|
|
397
|
-
#
|
398
|
-
|
399
|
-
# Ruby Function putch()
|
400
|
-
value = Libconio.ruby_putch(character)
|
401
|
-
|
402
|
-
# Return value
|
403
|
-
return value
|
404
|
-
end
|
242
|
+
# Costant Key Value
|
243
|
+
KEY_CTRL_F4 = 97
|
405
244
|
|
406
|
-
#
|
407
|
-
|
408
|
-
# Ruby Function putchars()
|
409
|
-
Libconio.ruby_putchars(left, top, right, bottom, buffer)
|
410
|
-
|
411
|
-
# Return nil
|
412
|
-
return nil
|
413
|
-
end
|
245
|
+
# Costant Key Value
|
246
|
+
KEY_CTRL_F5 = 98
|
414
247
|
|
415
|
-
#
|
416
|
-
|
417
|
-
# Ruby Function puttext()
|
418
|
-
Libconio.ruby_puttext(left, top, right, bottom, buffer)
|
419
|
-
|
420
|
-
# Return nil
|
421
|
-
return nil
|
422
|
-
end
|
248
|
+
# Costant Key Value
|
249
|
+
KEY_CTRL_F6 = 99
|
423
250
|
|
424
|
-
#
|
425
|
-
|
426
|
-
# Ruby Function resize()
|
427
|
-
Libconio.ruby_resize(width, height)
|
428
|
-
|
429
|
-
# Return nil
|
430
|
-
return nil
|
431
|
-
end
|
251
|
+
# Costant Key Value
|
252
|
+
KEY_CTRL_F7 = 100
|
432
253
|
|
433
|
-
#
|
434
|
-
|
435
|
-
# Ruby Function scroll()
|
436
|
-
Libconio.ruby_scroll(left, top, right, bottom, newleft, newtop)
|
437
|
-
|
438
|
-
# Return nil
|
439
|
-
return nil
|
440
|
-
end
|
254
|
+
# Costant Key Value
|
255
|
+
KEY_CTRL_F8 = 101
|
441
256
|
|
442
|
-
#
|
443
|
-
|
444
|
-
# Ruby Function scrollup()
|
445
|
-
Libconio.ruby_scrollup(left, top, right, bottom)
|
446
|
-
|
447
|
-
# Return nil
|
448
|
-
return nil
|
449
|
-
end
|
257
|
+
# Costant Key Value
|
258
|
+
KEY_CTRL_F9 = 102
|
450
259
|
|
451
|
-
#
|
452
|
-
|
453
|
-
# Ruby Function scrolldown()
|
454
|
-
Libconio.ruby_scrolldown(left, top, right, bottom)
|
455
|
-
|
456
|
-
# Return nil
|
457
|
-
return nil
|
458
|
-
end
|
260
|
+
# Costant Key Value
|
261
|
+
KEY_CTRL_F10 = 103
|
459
262
|
|
460
|
-
#
|
461
|
-
|
462
|
-
# Ruby Function scrollleft()
|
463
|
-
Libconio.ruby_scrollleft(left, top, right, bottom)
|
464
|
-
|
465
|
-
# Return nil
|
466
|
-
return nil
|
467
|
-
end
|
263
|
+
# Costant Key Value
|
264
|
+
KEY_CTRL_F11 = 137
|
468
265
|
|
469
|
-
#
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
# Return nil
|
475
|
-
return nil
|
476
|
-
end
|
266
|
+
# Costant Key Value
|
267
|
+
KEY_CTRL_F12 = 138
|
268
|
+
|
269
|
+
# Costant Key Value
|
270
|
+
KEY_ALT_F1 = 104
|
477
271
|
|
478
|
-
#
|
479
|
-
|
480
|
-
# Ruby Function setbuffer()
|
481
|
-
Libconio.ruby_setbuffer(width, height)
|
482
|
-
|
483
|
-
# Return nil
|
484
|
-
return nil
|
485
|
-
end
|
272
|
+
# Costant Key Value
|
273
|
+
KEY_ALT_F2 = 105
|
486
274
|
|
487
|
-
#
|
488
|
-
|
489
|
-
# Ruby Function setcursortype()
|
490
|
-
Libconio.ruby_setcursortype(cursor)
|
491
|
-
|
492
|
-
# Return nil
|
493
|
-
return nil
|
494
|
-
end
|
275
|
+
# Costant Key Value
|
276
|
+
KEY_ALT_F3 = 106
|
495
277
|
|
496
|
-
#
|
497
|
-
|
498
|
-
# Ruby Function settitle()
|
499
|
-
Libconio.ruby_settitle(title)
|
500
|
-
|
501
|
-
# Return nil
|
502
|
-
return nil
|
503
|
-
end
|
278
|
+
# Costant Key Value
|
279
|
+
KEY_ALT_F4 = 107
|
504
280
|
|
505
|
-
#
|
506
|
-
|
507
|
-
# Ruby Function setwindow()
|
508
|
-
Libconio.ruby_setwindow(left, top, right, bottom)
|
509
|
-
|
510
|
-
# Return nil
|
511
|
-
return nil
|
512
|
-
end
|
281
|
+
# Costant Key Value
|
282
|
+
KEY_ALT_F5 = 108
|
513
283
|
|
514
|
-
#
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
284
|
+
# Costant Key Value
|
285
|
+
KEY_ALT_F6 = 109
|
286
|
+
|
287
|
+
# Costant Key Value
|
288
|
+
KEY_ALT_F7 = 110
|
289
|
+
|
290
|
+
# Costant Key Value
|
291
|
+
KEY_ALT_F8 = 111
|
292
|
+
|
293
|
+
# Costant Key Value
|
294
|
+
KEY_ALT_F9 = 112
|
295
|
+
|
296
|
+
# Costant Key Value
|
297
|
+
KEY_ALT_F10 = 113
|
298
|
+
|
299
|
+
# Costant Key Value
|
300
|
+
KEY_ALT_F11 = 139
|
301
|
+
|
302
|
+
# Costant Key Value
|
303
|
+
KEY_ALT_F12 = 140
|
304
|
+
|
305
|
+
# Costant Key Value
|
306
|
+
KEY_INS = 82
|
307
|
+
|
308
|
+
# Costant Key Value
|
309
|
+
KEY_DEL = 83
|
310
|
+
|
311
|
+
# Costant Key Value
|
312
|
+
KEY_STAMP = 71
|
313
|
+
|
314
|
+
# Costant Key Value
|
315
|
+
KEY_END = 79
|
316
|
+
|
317
|
+
# Costant Key Value
|
318
|
+
KEY_UP = 72
|
319
|
+
|
320
|
+
# Costant Key Value
|
321
|
+
KEY_DOWN = 80
|
322
|
+
|
323
|
+
# Costant Key Value
|
324
|
+
KEY_LEFT = 75
|
522
325
|
|
523
|
-
#
|
524
|
-
|
525
|
-
|
526
|
-
|
326
|
+
# Costant Key Value
|
327
|
+
KEY_RIGHT = 77
|
328
|
+
|
329
|
+
# Costant Key Value
|
330
|
+
KEY_PAGEUP = 73
|
331
|
+
|
332
|
+
# Costant Key Value
|
333
|
+
KEY_PAGDOWN = 81
|
334
|
+
|
335
|
+
# Costant Key Value
|
336
|
+
KEY_CTRL_INS = 146
|
337
|
+
|
338
|
+
# Costant Key Value
|
339
|
+
KEY_CTRL_DEL = 147
|
340
|
+
|
341
|
+
# Costant Key Value
|
342
|
+
KEY_CTRL_STAMP = 119
|
343
|
+
|
344
|
+
# Costant Key Value
|
345
|
+
KEY_CTRL_END = 117
|
346
|
+
|
347
|
+
# Costant Key Value
|
348
|
+
KEY_CTRL_UP = 141
|
349
|
+
|
350
|
+
# Costant Key Value
|
351
|
+
KEY_CTRL_DOWN = 145
|
352
|
+
|
353
|
+
# Costant Key Value
|
354
|
+
KEY_CTRL_LEFT = 115
|
355
|
+
|
356
|
+
# Costant Key Value
|
357
|
+
KEY_CTRL_RIGHT = 116
|
358
|
+
|
359
|
+
# Costant Key Value
|
360
|
+
KEY_CTRL_PAGEUP = 134
|
361
|
+
|
362
|
+
# Costant Key Value
|
363
|
+
KEY_CTRL_PAGDOWN = 118
|
364
|
+
|
365
|
+
# Costant Key Value
|
366
|
+
KEY_ALT_INS = 162
|
367
|
+
|
368
|
+
# Costant Key Value
|
369
|
+
KEY_ALT_DEL = 163
|
370
|
+
|
371
|
+
# Costant Key Value
|
372
|
+
KEY_ALT_STAMP = 151
|
373
|
+
|
374
|
+
# Costant Key Value
|
375
|
+
KEY_ALT_END = 159
|
376
|
+
|
377
|
+
# Costant Key Value
|
378
|
+
KEY_ALT_UP = 152
|
379
|
+
|
380
|
+
# Costant Key Value
|
381
|
+
KEY_ALT_DOWN = 160
|
382
|
+
|
383
|
+
# Costant Key Value
|
384
|
+
KEY_ALT_LEFT = 155
|
385
|
+
|
386
|
+
# Costant Key Value
|
387
|
+
KEY_ALT_RIGHT = 157
|
388
|
+
|
389
|
+
# Costant Key Value
|
390
|
+
KEY_ALT_PAGEUP = 153
|
391
|
+
|
392
|
+
# Costant Key Value
|
393
|
+
KEY_ALT_PAGDOWN = 161
|
394
|
+
|
395
|
+
# :call-seq:
|
396
|
+
# beep() -> nil
|
397
|
+
#
|
398
|
+
# Execute bells sound in time interval.
|
399
|
+
def self.beep(number, milliseconds)
|
400
|
+
# Variable service
|
401
|
+
index = 0
|
402
|
+
|
403
|
+
# Verify equal value of index and number
|
404
|
+
while index != number do
|
405
|
+
# Put character sound
|
406
|
+
putch(7)
|
407
|
+
|
408
|
+
# Put time interval
|
409
|
+
delay(milliseconds)
|
410
|
+
|
411
|
+
# Increment index value by one
|
412
|
+
index = index + 1
|
413
|
+
end
|
527
414
|
|
528
|
-
# Return nil
|
415
|
+
# Return nil value
|
529
416
|
return nil
|
530
417
|
end
|
418
|
+
|
419
|
+
# :call-seq:
|
420
|
+
# cgets(length) -> string
|
421
|
+
#
|
422
|
+
# Reads a string of characters from the console and stores the
|
423
|
+
# string, and the string length, in the location string.
|
424
|
+
def self.cgets(length)
|
425
|
+
# Declare variable text
|
426
|
+
text = gets()
|
427
|
+
|
428
|
+
# Set text value
|
429
|
+
text = text[0, length]
|
430
|
+
|
431
|
+
# Return text value
|
432
|
+
return text
|
433
|
+
end
|
531
434
|
|
532
|
-
#
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
#
|
538
|
-
|
435
|
+
# :call-seq:
|
436
|
+
# getkey() -> number
|
437
|
+
#
|
438
|
+
# Reads a double character directly from the keyboard for special key.
|
439
|
+
def self.getkey()
|
440
|
+
# Conio function getch()
|
441
|
+
character = getch()
|
442
|
+
|
443
|
+
# Verify key pressed
|
444
|
+
while character != 0 and character != 224
|
445
|
+
# Conio function getch()
|
446
|
+
character = getch()
|
447
|
+
end
|
448
|
+
|
449
|
+
# Conio function getch()
|
450
|
+
character = getch()
|
451
|
+
|
452
|
+
# Return value character
|
453
|
+
return character
|
539
454
|
end
|
540
455
|
|
541
|
-
#
|
542
|
-
|
543
|
-
|
544
|
-
|
456
|
+
# :call-seq:
|
457
|
+
# getlimit(length) -> string
|
458
|
+
#
|
459
|
+
# Puts a string of characters and limit the string length in the location string.
|
460
|
+
def self.getlimit(length)
|
461
|
+
# Declare and initalize variable text
|
462
|
+
text = ""
|
463
|
+
|
464
|
+
# Conio function getch()
|
465
|
+
character = getch()
|
466
|
+
|
467
|
+
# Verify character code
|
468
|
+
while character != 13 do
|
469
|
+
# Verify character code
|
470
|
+
while character == 0 or character == 224
|
471
|
+
# Conio function getch()
|
472
|
+
character = getch()
|
473
|
+
character = getch()
|
474
|
+
end
|
475
|
+
|
476
|
+
# Declare and initalize variable dimension
|
477
|
+
dimension = text.length
|
478
|
+
|
479
|
+
# Verify character code value and variable dimension
|
480
|
+
if character == 8 and dimension > 0 then
|
481
|
+
# Conio function putch()
|
482
|
+
putch(8)
|
483
|
+
putch(32)
|
484
|
+
putch(8)
|
485
|
+
|
486
|
+
# Set text value
|
487
|
+
text = text[0, dimension - 1]
|
488
|
+
elsif character == 13 then
|
489
|
+
# Exit from cicle while
|
490
|
+
break
|
491
|
+
# Verify character code value and variable dimension
|
492
|
+
elsif character != 8 and character != 9 and character != 27 and dimension < length then
|
493
|
+
# Enable only characters alphanumeric
|
494
|
+
if character > 47 and character < 58 or character > 64 and character < 91 or character > 96 and character < 123 or character == 32 then
|
495
|
+
# Conio function putch()
|
496
|
+
putch(character)
|
497
|
+
|
498
|
+
# Set format for character code
|
499
|
+
character = character.chr
|
500
|
+
|
501
|
+
# Set variable texe
|
502
|
+
text = text + character
|
503
|
+
end
|
504
|
+
else
|
505
|
+
# Nil
|
506
|
+
end
|
507
|
+
|
508
|
+
# Conio function getch()
|
509
|
+
character = getch()
|
510
|
+
end
|
545
511
|
|
546
|
-
# Return value
|
547
|
-
return
|
512
|
+
# Return text value
|
513
|
+
return text
|
548
514
|
end
|
549
515
|
|
550
|
-
#
|
551
|
-
|
552
|
-
|
553
|
-
|
516
|
+
# :call-seq:
|
517
|
+
# version() -> nil
|
518
|
+
#
|
519
|
+
# Puts the current version of Ruby Conio in text window.
|
520
|
+
def self.version()
|
521
|
+
# Put Ruby Conio version
|
522
|
+
cputs("Ruby Conio 1.1.0")
|
554
523
|
|
555
|
-
# Return value
|
556
|
-
return
|
524
|
+
# Return nil value
|
525
|
+
return nil
|
557
526
|
end
|
558
527
|
|
559
|
-
#
|
560
|
-
|
561
|
-
|
562
|
-
|
528
|
+
# :call-seq:
|
529
|
+
# wherexy(x, y) -> boolean
|
530
|
+
#
|
531
|
+
# Verify if x and y are equals to current cursor position.
|
532
|
+
def self.wherexy(x, y)
|
533
|
+
# Declare and initialize variables cursorx and cursory
|
534
|
+
cursorx = wherex()
|
535
|
+
cursory = wherey()
|
563
536
|
|
564
|
-
#
|
565
|
-
|
537
|
+
# Verify cursor position
|
538
|
+
if x == cursorx and y == cursory then
|
539
|
+
# Return value true
|
540
|
+
return true
|
541
|
+
else
|
542
|
+
# Return value false
|
543
|
+
return false
|
544
|
+
end
|
566
545
|
end
|
567
546
|
|
568
|
-
#
|
569
|
-
|
570
|
-
|
571
|
-
|
547
|
+
# :call-seq:
|
548
|
+
# write(text, x, y) -> string
|
549
|
+
#
|
550
|
+
# Writes the null-terminated string text to the current text window and positioning in the coordinates x and y.
|
551
|
+
def self.write(text, x, y)
|
552
|
+
# Set cursor position
|
553
|
+
gotoxy(x, y)
|
554
|
+
|
555
|
+
# Print text
|
556
|
+
cputs(text)
|
572
557
|
|
573
|
-
# Return value
|
574
|
-
return
|
558
|
+
# Return text value
|
559
|
+
return text
|
575
560
|
end
|
576
|
-
|
577
561
|
end
|
578
562
|
|
563
|
+
|
579
564
|
# End of file
|