Project

General

Profile

no-error.p

Stanislav Lomany, 01/07/2021 07:23 AM

Download (2.69 KB)

 
1
DEF VAR h AS HANDLE.
2
CREATE FRAME h.
3

    
4
PROCEDURE proc:
5
    RETURN ERROR.
6
END.
7

    
8
PROCEDURE herr:
9
    DEF INPUT PARAMETER id AS CHAR.
10
    MESSAGE (id + ": ERROR:") ERROR-STATUS:ERROR "NUM-ERRORS:" ERROR-STATUS:NUM-MESSAGES "CODE:" ERROR-STATUS:GET-NUMBER(1) "MESSAGE:" error-status:get-message(1).
11
END.
12

    
13
DEF TEMP-TABLE tt FIELD f1 AS INTEGER
14
                  FIELD f2 AS CHARACTER.
15
                     
16
CREATE tt. tt.f1 = 1. tt.f2 = "test 1".
17
CREATE tt. tt.f1 = 2. tt.f2 = "test 2".
18

    
19

    
20
DEF VAR i AS INT.
21

    
22
ASSIGN i = 100 
23
       h:SCROLLBAR-HORIZONTAL = NO
24
       i = 200 
25
       no-error.
26

    
27
RUN herr("1").
28

    
29
ASSIGN i = 100 
30
       h:SCROLLBAR-VERTICAL = NO
31
       no-error.
32

    
33
RUN herr("2").
34

    
35
DEF VAR l AS LOGICAL.
36
ASSIGN l = h:SCROLLBAR-HORIZONTAL
37
       l = h:SCROLLBAR-VERTICAL 
38
       no-error.
39

    
40
RUN herr("3").
41

    
42

    
43
FIND FIRST tt WHERE tt.f1 > 100 NO-ERROR.
44

    
45
RUN herr("4").
46

    
47
ASSIGN l = h:SCROLLBAR-VERTICAL 
48
       i = tt.f1
49
       no-error.
50
RUN herr("4-2").
51

    
52
DEFINE VARIABLE name-hdl AS WIDGET-HANDLE.
53
DEFINE VARIABLE num-hdl AS WIDGET-HANDLE.
54
DEFINE VARIABLE address-hdl AS WIDGET-HANDLE.
55
DEFINE VARIABLE calc-col-hdl AS WIDGET-HANDLE.
56
DEFINE VARIABLE browse-hdl AS WIDGET-HANDLE.
57
DEFINE VARIABLE buff-field-hdl AS WIDGET-HANDLE.
58
DEFINE VARIABLE brws-col-hdl AS WIDGET-HANDLE.
59
DEFINE VARIABLE j AS INTEGER.
60

    
61

    
62
DEFINE FRAME MyFrame WITH SIZE 80 BY 20.
63
DEFINE QUERY q1 FOR tt SCROLLING.
64

    
65
CREATE BROWSE browse-hdl
66
             ASSIGN TITLE = "Dynamic Browse"
67
             X = 2
68
             Y = 2
69
             WIDTH = 74
70
             HEIGHT = 10
71
             FRAME = FRAME MyFrame:HANDLE
72
             SENSITIVE = TRUE
73
             MULTIPLE          = TRUE
74
             HIDDEN            = FALSE
75
             VISIBLE = YES
76
             READ-ONLY = YES
77
             
78
             COLUMN-MOVABLE    = TRUE
79
             COLUMN-RESIZABLE  = TRUE
80
             QUERY = QUERY q1:HANDLE
81
TRIGGERS:
82
     ON "x"
83
     DO:
84
        MESSAGE "x pressed".
85
     END.
86
END TRIGGERS.             
87
             
88
num-hdl = browse-hdl:ADD-LIKE-COLUMN("tt.f1").
89
name-hdl = browse-hdl:ADD-LIKE-COLUMN("tt.f2").
90

    
91

    
92
ENABLE ALL WITH FRAME MyFrame.
93
OPEN QUERY q1 FOR EACH tt NO-LOCK.
94

    
95
ASSIGN browse-hdl:ROW-MARKERS = FALSE no-error.
96
RUN herr("5").
97

    
98
ASSIGN FRAME MyFrame:col = 0 no-error.
99
RUN herr("7").
100

    
101
TEMP-TABLE tt:CREATE-LIKE("test") NO-ERROR.
102
RUN herr("8").
103

    
104
RUN proc NO-ERROR.
105
RUN herr("9").
106

    
107
def var th as handle.
108
create temp-table th.
109
th:add-like-field("f1", "tt.zzz") no-error.
110
RUN herr("10").
111

    
112
th:add-like-field("f1", "tt.f1").
113
th:CREATE-LIKE("test") no-error.
114
RUN herr("11").
115

    
116
open query q for each tt.
117
get last q.
118
get next q.
119

    
120
query q:get-current() no-error.
121
RUN herr("12").
122

    
123
th = ?.
124
def var str as char.
125
assign str = th:name no-error.
126
RUN herr("13").
127

    
128
WAIT-FOR CLOSE OF CURRENT-WINDOW.