Rev 9645 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9645 | Rev 9659 | ||
---|---|---|---|
Line 49... | Line 49... | ||
49 | END; |
49 | END; |
Line 50... | Line 50... | ||
50 | 50 | ||
51 | 51 | ||
52 | PROCEDURE [stdcall, "box_lib.obj", "edit_box_draw"] draw* (eb: tEditBox); END; |
52 | PROCEDURE [stdcall, "box_lib.obj", "edit_box_draw"] draw* (eb: tEditBox); END; |
53 | PROCEDURE [stdcall, "box_lib.obj", "edit_box_mouse"] mouse* (eb: tEditBox); END; |
53 | PROCEDURE [stdcall, "box_lib.obj", "edit_box_mouse"] mouse* (eb: tEditBox); END; |
Line 54... | Line 54... | ||
54 | PROCEDURE [stdcall, "box_lib.obj", "edit_box_set_text"] _setValue (eb: tEditBox; text: INTEGER); END; |
54 | PROCEDURE [stdcall, "box_lib.obj", "edit_box_set_text"] set_text (eb: tEditBox; text: INTEGER); END; |
55 | PROCEDURE [stdcall, "box_lib.obj", "edit_box_key_safe"] key* (eb: tEditBox; key: INTEGER); END; |
55 | PROCEDURE [stdcall, "box_lib.obj", "edit_box_key_safe"] key* (eb: tEditBox; key: INTEGER); END; |
56 | 56 | ||
57 | PROCEDURE getValue* (text: tEditBox; VAR str: ARRAY OF CHAR); |
- | |
58 | VAR |
57 | PROCEDURE get* (text: tEditBox; VAR str: ARRAY OF CHAR); |
59 | ptr, max, i: INTEGER; |
58 | VAR |
60 | 59 | ptr, max, i: INTEGER; |
|
61 | BEGIN |
60 | BEGIN |
62 | ptr := text.text; |
61 | ptr := text.text; |
Line 67... | Line 66... | ||
67 | SYSTEM.GET(ptr, str[i]); |
66 | SYSTEM.GET(ptr, str[i]); |
68 | INC(i); |
67 | INC(i); |
69 | INC(ptr) |
68 | INC(ptr) |
70 | UNTIL (str[i - 1] = 0X) OR (i = max); |
69 | UNTIL (str[i - 1] = 0X) OR (i = max); |
71 | str[i] := 0X |
70 | str[i] := 0X |
72 | END getValue; |
71 | END get; |
Line 73... | Line 72... | ||
73 | 72 | ||
74 | 73 | ||
75 | PROCEDURE setValue* (text: tEditBox; str: ARRAY OF WCHAR); |
74 | PROCEDURE set* (text: tEditBox; str: ARRAY OF WCHAR); |
76 | VAR |
75 | VAR |
77 | i: INTEGER; |
76 | i: INTEGER; |
78 | temp: ARRAY MAX_LENGTH OF CHAR; |
77 | temp: ARRAY MAX_LENGTH OF CHAR; |
79 | BEGIN |
78 | BEGIN |
80 | ASSERT(LENGTH(str) < LEN(temp)); |
79 | ASSERT(LENGTH(str) < LEN(temp)); |
81 | i := 0; |
80 | i := 0; |
82 | REPEAT |
81 | REPEAT |
83 | temp[i] := CHR(Encodings.UNI[ORD(str[i]), Encodings.CP866] MOD 256); |
82 | temp[i] := CHR(Encodings.UNI[ORD(str[i]), Encodings.CP866] MOD 256); |
84 | INC(i) |
83 | INC(i) |
85 | UNTIL str[i - 1] = 0X; |
84 | UNTIL str[i - 1] = 0X; |
Line 86... | Line 85... | ||
86 | _setValue(text, SYSTEM.ADR(temp[0])) |
85 | set_text(text, SYSTEM.ADR(temp[0])) |
87 | END setValue; |
86 | END set; |
88 | 87 | ||
89 | 88 | ||
90 | PROCEDURE create* (tlx, tly, width, max_chars: INTEGER; VAR editbox: tEditBox); |
89 | PROCEDURE create* (x, y, width, max_chars: INTEGER; VAR editbox: tEditBox); |
91 | BEGIN |
90 | BEGIN |
92 | editbox.width := width; |
91 | editbox.width := width; |
93 | editbox.left := tlx; |
92 | editbox.left := x; |
94 | editbox.top := tly; |
93 | editbox.top := y; |
95 | editbox.color := 0FFFFFFH; |
94 | editbox.color := 0FFFFFFH; |