From 0eb1f22eab4c14a403573e2157ebdcabeae96e38 Mon Sep 17 00:00:00 2001 From: Anton Krotov Date: Tue, 18 Jan 2022 16:23:19 +0000 Subject: [PATCH] CEdit: refactoring oberon07: update examples git-svn-id: svn://kolibrios.org@9648 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/develop/cedit/CEDIT | Bin 31364 -> 31094 bytes programs/develop/cedit/SRC/CEdit.ob07 | 521 ++++++++---------- programs/develop/cedit/SRC/KolibriOS.ob07 | 12 - programs/develop/cedit/SRC/Menu.ob07 | 141 +++-- programs/develop/cedit/SRC/Tabs.ob07 | 4 +- programs/develop/cedit/SRC/scroll.ob07 | 115 ++-- .../develop/oberon07/samples/BUILD_ALL.SH | 5 + .../develop/oberon07/samples/Dialogs.ob07 | 191 ++++--- programs/develop/oberon07/samples/HW.ob07 | 82 ++- programs/develop/oberon07/samples/HW_con.ob07 | 80 ++- 10 files changed, 586 insertions(+), 565 deletions(-) create mode 100644 programs/develop/oberon07/samples/BUILD_ALL.SH diff --git a/programs/develop/cedit/CEDIT b/programs/develop/cedit/CEDIT index c7bb9a80c649db832e825ac8aadf158bd5389c84..9acb73ce8da446e47dddbdf5cbf3842613ff6d10 100644 GIT binary patch literal 31094 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 NjS_DZ0N)D$00#!kc4q(p literal 31364 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 0 THEN - click(m, m.selItem) - END; - m.cliItem := -1 - ELSIF key DIV 65536 = 77 THEN - IF ~submenu(m, TRUE) THEN - click(m, -(getMainID(m) + 1)) - END; - m.cliItem := -1 - ELSIF key DIV 65536 = 75 THEN - IF m.parent # NIL THEN - escape(m) - ELSE - click(m, -(getMainID(m) - 1)) - END; - m.cliItem := -1 - ELSIF key DIV 65536 = 1 THEN - escape(m) - ELSE - IF m.key(m, key) THEN - IF m.parent # NIL THEN - temp := m.parent.tid; - m.parent.tid := 0; - K.ExitID(temp) - END; - exit(m) - END - END + key := K.GetKey() DIV 65536; + IF shift THEN + INC(key, SHIFT) + END; + IF ctrl THEN + INC(key, CTRL) + END; + + CASE key OF + |72: + m.selItem := (m.selItem - 1) MOD m.items.count + |80: + m.selItem := (m.selItem + 1) MOD m.items.count + |28: + IF m.selItem >= 0 THEN + click(m, m.selItem) + END; + m.cliItem := -1 + |77: + IF ~submenu(m, TRUE) THEN + click(m, -(getMainID(m) + 1)) + END; + m.cliItem := -1 + |75: + IF m.parent # NIL THEN + escape(m) + ELSE + click(m, -(getMainID(m) - 1)) + END; + m.cliItem := -1 + |1: + escape(m) ELSE - IF m.key(m, key) THEN - IF m.parent # NIL THEN - temp := m.parent.tid; - m.parent.tid := 0; - K.ExitID(temp) - END; - exit(m) - END + IF getShortcut(key) THEN + IF m.parent # NIL THEN + temp := m.parent.tid; + m.parent.tid := 0; + K.ExitID(temp) + END; + exit(m) + END END; repaint(m) |6: @@ -593,7 +621,7 @@ BEGIN END isEnabled; -PROCEDURE create* (items: List.tList; click: tClick; key: tKey): tMenu; +PROCEDURE create* (items: List.tList): tMenu; VAR m: tMenu; maxLength: INTEGER; @@ -606,8 +634,6 @@ BEGIN m.child := NIL; m.mainID := 0; m.items := items; - m.click := click; - m.key := key; maxLength := 0; item := items.first(tItem); WHILE item # NIL DO @@ -623,10 +649,23 @@ BEGIN END create; +PROCEDURE AddShortcut* (key, MenuItem: INTEGER); +VAR + item: tShortcut; +BEGIN + NEW(item); + item.key := key; + item.MenuItem := MenuItem; + List.append(shortcuts, item) +END AddShortcut; + + PROCEDURE init* (_resetTimer: tProc); VAR i: INTEGER; BEGIN + SetItem(0); + shortcuts := List.create(NIL); resetTimer := _resetTimer; _open := open; FOR i := 0 TO maxLEVEL DO diff --git a/programs/develop/cedit/SRC/Tabs.ob07 b/programs/develop/cedit/SRC/Tabs.ob07 index ea1e97d934..dd24b771f3 100644 --- a/programs/develop/cedit/SRC/Tabs.ob07 +++ b/programs/develop/cedit/SRC/Tabs.ob07 @@ -206,11 +206,11 @@ BEGIN END delete; -PROCEDURE scroll* (t: tTabs; n: INTEGER); +PROCEDURE scroll* (t: tTabs; btn: INTEGER); VAR pos: INTEGER; BEGIN - pos := t.first + n; + pos := t.first + ORD(btn = btnRight) - ORD(btn = btnLeft); IF pos < 0 THEN pos := 0 ELSIF pos >= t.strings.count THEN diff --git a/programs/develop/cedit/SRC/scroll.ob07 b/programs/develop/cedit/SRC/scroll.ob07 index d2a7af5d3a..9146eb9bdc 100644 --- a/programs/develop/cedit/SRC/scroll.ob07 +++ b/programs/develop/cedit/SRC/scroll.ob07 @@ -23,38 +23,35 @@ IMPORT G := Graph, K := KolibriOS, U := Utils; CONST - ScrollIPC* = 0; DELAY = 40; TYPE + tProcedure = PROCEDURE; + tScroll* = RECORD - vertical, Inc*, Dec*, mouse: BOOLEAN; + vertical, mouse: BOOLEAN; top*, left*, width*, height*: INTEGER; (* read only *) btnSize, sliderSize: INTEGER; pos, Slider, pos0, maxVal*, value*: INTEGER; - canvas*: G.tCanvas + canvas: G.tCanvas; + change: tProcedure; + delay: INTEGER; + btn*: INTEGER END; - tProcedure* = PROCEDURE; - -VAR - - ScrollChange: tProcedure; - delay: INTEGER; - PROCEDURE MouseUp (VAR scroll: tScroll); BEGIN scroll.Slider := -1; - scroll.Inc := FALSE; - scroll.Dec := FALSE; + scroll.btn := 0; scroll.mouse := FALSE; + scroll.delay := DELAY END MouseUp; -PROCEDURE create* (vertical: BOOLEAN; width, height: INTEGER; btnSize, sliderSize: INTEGER; VAR scroll: tScroll); +PROCEDURE create* (vertical: BOOLEAN; width, height: INTEGER; btnSize, sliderSize: INTEGER; change: tProcedure; VAR scroll: tScroll); VAR res: tScroll; BEGIN @@ -69,6 +66,7 @@ BEGIN res.pos := 0; res.maxVal := 0; res.canvas := G.CreateCanvas(width, height); + res.change := change; scroll := res END create; @@ -111,9 +109,9 @@ BEGIN G.SetColor(canvas, K.colors.line); G.Rect(canvas, 0, 0, width - 1, height - 1); IF scroll.vertical THEN - SetColor(canvas, ~scroll.Dec); + SetColor(canvas, scroll.btn # -1); Rect(canvas, 0, 0, width - 1, btn - 1); - SetColor(canvas, ~scroll.Inc); + SetColor(canvas, scroll.btn # 1); Rect(canvas, 0, height - btn, width - 1, height - 1); G.SetColor(canvas, K.colors.button); Rect(canvas, 0, btn + scroll.pos - 1, width - 1, btn + scroll.pos + scroll.sliderSize - 1); @@ -129,17 +127,17 @@ BEGIN x1 := (width - d) DIV 2; x2 := x1 + d; - SetColor(canvas, scroll.Dec); + SetColor(canvas, scroll.btn = -1); y := (btn - d DIV 2) DIV 2 + d DIV 2 - 1; G.Triangle(canvas, x1 - 1, y, x2, y, G.triUp); - SetColor(canvas, scroll.Inc); + SetColor(canvas, scroll.btn = 1); y := y + height - btn - d DIV 2 + 1; G.Triangle(canvas, x1 - 1, y, x2, y, G.triDown); ELSE - SetColor(canvas, ~scroll.Dec); + SetColor(canvas, scroll.btn # -1); Rect(canvas, 0, 0, btn - 1, height - 1); - SetColor(canvas, ~scroll.Inc); + SetColor(canvas, scroll.btn # 1); Rect(canvas, width - btn, 0, width - 1, height - 1); G.SetColor(canvas, K.colors.button); Rect(canvas, btn + scroll.pos - 1, 0, btn + scroll.pos + scroll.sliderSize - 1, height - 1); @@ -155,11 +153,11 @@ BEGIN y1 := (height - d) DIV 2; y2 := y1 + d; - SetColor(canvas, scroll.Dec); + SetColor(canvas, scroll.btn = -1); x := (btn - d DIV 2) DIV 2 + d DIV 2 - 1; G.Triangle(canvas, x, y1 - 1, x, y2, G.triLeft); - SetColor(canvas, scroll.Inc); + SetColor(canvas, scroll.btn = 1); x := x + width - btn - d DIV 2 + 1; G.Triangle(canvas, x, y1 - 1, x, y2, G.triRight); END; @@ -219,17 +217,6 @@ BEGIN END setValue; -PROCEDURE change* (VAR scroll: tScroll); -BEGIN - IF scroll.Inc THEN - setValue(scroll, scroll.value + 1) - ELSIF scroll.Dec THEN - setValue(scroll, scroll.value - 1) - END; - draw(scroll) -END change; - - PROCEDURE ceil (p, q: INTEGER): INTEGER; RETURN p DIV q + ORD(p MOD q # 0) END ceil; @@ -306,38 +293,34 @@ BEGIN END MouseMove; -PROCEDURE SendIPC; +PROCEDURE button (VAR scroll: tScroll); VAR - msg: ARRAY 2 OF INTEGER; + btn: INTEGER; BEGIN - msg[0] := ScrollIPC; - msg[1] := 8; - K.SendIPC(K.ThreadID(), msg) -END SendIPC; - - -PROCEDURE receiveIPC* (VAR IPC: ARRAY OF INTEGER; VAR scrollIPC: BOOLEAN); -BEGIN - scrollIPC := FALSE; - ScrollChange; - IF 0 IN K.MouseState() THEN - WHILE (0 IN K.MouseState()) & (delay > 0) DO - K.Pause(1); - DEC(delay) + WHILE scroll.btn # 0 DO + btn := scroll.btn; + setValue(scroll, scroll.value + btn); + draw(scroll); + IF scroll.change # NIL THEN + scroll.change END; - IF delay = 0 THEN - IPC[0] := 0; - IPC[1] := 0; - scrollIPC := TRUE; - SendIPC; - delay := 4 + scroll.btn := 0; + IF 0 IN K.MouseState() THEN + WHILE (0 IN K.MouseState()) & (scroll.delay > 0) DO + K.Pause(1); + DEC(scroll.delay) + END; + IF scroll.delay = 0 THEN + scroll.btn := btn; + scroll.delay := 3 + ELSE + scroll.delay := DELAY + END ELSE - delay := DELAY + scroll.delay := DELAY END - ELSE - delay := DELAY END -END receiveIPC; +END button; PROCEDURE MouseDown (VAR scroll: tScroll; x, y: INTEGER); @@ -359,11 +342,9 @@ BEGIN scroll.pos0 := scroll.pos; scroll.Slider := c ELSIF U.between(0, c, scroll.btnSize - 1) THEN - scroll.Dec := TRUE; - SendIPC + scroll.btn := -1 ELSIF U.between(size - scroll.btnSize, c, size - 1) THEN - scroll.Inc := TRUE; - SendIPC + scroll.btn := 1 ELSE setPos(scroll, c - scroll.btnSize - scroll.sliderSize DIV 2); scroll.pos0 := scroll.pos; @@ -389,15 +370,9 @@ BEGIN ELSIF scroll.mouse THEN MouseUp(scroll); draw(scroll) - END + END; + button(scroll) END mouse; -PROCEDURE init* (_ScrollChange: tProcedure); -BEGIN - delay := DELAY; - ScrollChange := _ScrollChange -END init; - - END Scroll. \ No newline at end of file diff --git a/programs/develop/oberon07/samples/BUILD_ALL.SH b/programs/develop/oberon07/samples/BUILD_ALL.SH new file mode 100644 index 0000000000..16828c5f80 --- /dev/null +++ b/programs/develop/oberon07/samples/BUILD_ALL.SH @@ -0,0 +1,5 @@ +#SHS +/kolibrios/develop/oberon07/compiler.kex HW.ob07 kosexe -out /tmp0/1/HW.kex -stk 1 +/kolibrios/develop/oberon07/compiler.kex HW_con.ob07 kosexe -out /tmp0/1/HW_con.kex -stk 1 +/kolibrios/develop/oberon07/compiler.kex Dialogs.ob07 kosexe -out /tmp0/1/Dialogs.kex -stk 1 +exit \ No newline at end of file diff --git a/programs/develop/oberon07/samples/Dialogs.ob07 b/programs/develop/oberon07/samples/Dialogs.ob07 index 70cf75e6db..57452a10c2 100644 --- a/programs/develop/oberon07/samples/Dialogs.ob07 +++ b/programs/develop/oberon07/samples/Dialogs.ob07 @@ -1,110 +1,159 @@ MODULE Dialogs; -IMPORT KOSAPI, sys := SYSTEM, OpenDlg, ColorDlg; +IMPORT + KOSAPI, SYSTEM, OpenDlg, ColorDlg; -VAR header: ARRAY 1024 OF CHAR; back_color: INTEGER; -PROCEDURE WindowRedrawStatus(p: INTEGER); +CONST + btnNone = 0; + btnClose = 1; + btnOpen = 17; + btnColor = 18; + + +VAR + header: ARRAY 1024 OF CHAR; + back_color: INTEGER; + + +PROCEDURE BeginDraw; BEGIN - KOSAPI.sysfunc2(12, p) -END WindowRedrawStatus; + KOSAPI.sysfunc2(12, 1) +END BeginDraw; -PROCEDURE DefineAndDrawWindow(x, y, w, h, color, style, hcolor, hstyle, htext: INTEGER); + +PROCEDURE EndDraw; BEGIN - KOSAPI.sysfunc6(0, x * 65536 + w, y * 65536 + h, color + LSL(style, 24), hcolor + LSL(hstyle, 24), htext) + KOSAPI.sysfunc2(12, 2) +END EndDraw; + + +PROCEDURE DefineAndDrawWindow (left, top, width, height, color, style, hcolor, hstyle: INTEGER; header: ARRAY OF CHAR); +BEGIN + KOSAPI.sysfunc6(0, left*65536 + width, top*65536 + height, color + LSL(style, 24), hcolor + LSL(hstyle, 24), SYSTEM.ADR(header[0])) END DefineAndDrawWindow; -PROCEDURE WaitForEvent(): INTEGER; - RETURN KOSAPI.sysfunc1(10) + +PROCEDURE WaitForEvent (): INTEGER; + RETURN KOSAPI.sysfunc1(10) END WaitForEvent; + PROCEDURE ExitApp; BEGIN - KOSAPI.sysfunc1(-1) + KOSAPI.sysfunc1(-1) END ExitApp; -PROCEDURE pause(t: INTEGER); + +PROCEDURE pause (t: INTEGER); BEGIN - KOSAPI.sysfunc2(5, t) + KOSAPI.sysfunc2(5, t) END pause; + PROCEDURE Buttons; - PROCEDURE Button(id, X, Y, W, H: INTEGER; Caption: ARRAY OF CHAR); - VAR n, aux: INTEGER; - BEGIN - n := LENGTH(Caption); - aux := KOSAPI.sysfunc5(8, X * 65536 + W, Y * 65536 + H, id, 00C0C0C0H); - X := X + (W - 8 * n) DIV 2; - Y := Y + (H - 14) DIV 2; - aux := KOSAPI.sysfunc6(4, X * 65536 + Y, LSL(48, 24), sys.ADR(Caption[0]), n, 0) - END Button; + PROCEDURE Button (id, X, Y, W, H: INTEGER; Caption: ARRAY OF CHAR); + VAR + n: INTEGER; + BEGIN + n := LENGTH(Caption); + KOSAPI.sysfunc5(8, X*65536 + W, Y*65536 + H, id, 00C0C0C0H); + X := X + (W - 8*n) DIV 2; + Y := Y + (H - 14) DIV 2; + KOSAPI.sysfunc6(4, X*65536 + Y, LSL(48, 24), SYSTEM.ADR(Caption[0]), n, 0) + END Button; BEGIN - Button(17, 5, 5, 70, 25, "open"); - Button(18, 85, 5, 70, 25, "color"); + Button(btnOpen, 5, 5, 70, 25, "open"); + Button(btnColor, 85, 5, 70, 25, "color"); END Buttons; + PROCEDURE draw_window; BEGIN - WindowRedrawStatus(1); - DefineAndDrawWindow(200, 200, 500, 100, back_color, 51, 0, 0, sys.ADR(header[0])); - Buttons; - WindowRedrawStatus(2); + BeginDraw; + DefineAndDrawWindow(200, 200, 500, 100, back_color, 51, 0, 0, header); + Buttons; + EndDraw; END draw_window; -PROCEDURE OpenFile(Open: OpenDlg.Dialog); + +PROCEDURE OpenFile (Open: OpenDlg.Dialog); BEGIN - IF Open # NIL THEN - OpenDlg.Show(Open, 500, 450); - WHILE Open.status = 2 DO - pause(30) - END; - IF Open.status = 1 THEN - COPY(Open.FilePath, header) - END - END + IF Open # NIL THEN + OpenDlg.Show(Open, 500, 450); + WHILE Open.status = 2 DO + pause(30) + END; + IF Open.status = 1 THEN + COPY(Open.FilePath, header) + END + END END OpenFile; -PROCEDURE SelColor(Color: ColorDlg.Dialog); + +PROCEDURE SelColor (Color: ColorDlg.Dialog); BEGIN - IF Color # NIL THEN - ColorDlg.Show(Color); - WHILE Color.status = 2 DO - pause(30) - END; - IF Color.status = 1 THEN - back_color := Color.color - END - END + IF Color # NIL THEN + ColorDlg.Show(Color); + WHILE Color.status = 2 DO + pause(30) + END; + IF Color.status = 1 THEN + back_color := Color.color + END + END END SelColor; -PROCEDURE main; -VAR Open: OpenDlg.Dialog; Color: ColorDlg.Dialog; res, al: INTEGER; + +PROCEDURE GetButton (): INTEGER; +VAR + btn: INTEGER; BEGIN - back_color := 00FFFFFFH; - header := "Dialogs"; - draw_window; - Open := OpenDlg.Create(draw_window, 0, "/sys", "ASM|TXT|INI"); - Color := ColorDlg.Create(draw_window); - WHILE TRUE DO - CASE WaitForEvent() OF - |1: draw_window - |3: res := KOSAPI.sysfunc1(17); - al := LSR(LSL(res, 24), 24); - res := LSR(res, 8); - IF al = 0 THEN - CASE res OF - | 1: ExitApp - |17: OpenFile(Open) - |18: SelColor(Color) - END - END - ELSE - END - END + btn := KOSAPI.sysfunc1(17); + IF btn MOD 256 = 0 THEN + btn := btn DIV 256 + ELSE + btn := btnNone + END + RETURN btn +END GetButton; + + +PROCEDURE main; +CONST + EVENT_REDRAW = 1; + EVENT_KEY = 2; + EVENT_BUTTON = 3; +VAR + Open: OpenDlg.Dialog; + Color: ColorDlg.Dialog; +BEGIN + back_color := 00FFFFFFH; + header := "Dialogs"; + Open := OpenDlg.Create(draw_window, 0, "/sys", "ASM|TXT|INI"); + Color := ColorDlg.Create(draw_window); + + WHILE TRUE DO + CASE WaitForEvent() OF + |EVENT_REDRAW: + draw_window + + |EVENT_KEY: + + |EVENT_BUTTON: + CASE GetButton() OF + |btnNone: + |btnClose: ExitApp + |btnOpen: OpenFile(Open) + |btnColor: SelColor(Color) + END + END + END END main; + BEGIN - main + main END Dialogs. \ No newline at end of file diff --git a/programs/develop/oberon07/samples/HW.ob07 b/programs/develop/oberon07/samples/HW.ob07 index 3412f93b53..72a9c49c9b 100644 --- a/programs/develop/oberon07/samples/HW.ob07 +++ b/programs/develop/oberon07/samples/HW.ob07 @@ -1,50 +1,78 @@ MODULE HW; -IMPORT sys := SYSTEM, KOSAPI; +IMPORT + SYSTEM, KOSAPI; -PROCEDURE WindowRedrawStatus(p: INTEGER); -BEGIN - KOSAPI.sysfunc2(12, p) -END WindowRedrawStatus; -PROCEDURE DefineAndDrawWindow(x, y, w, h, color, style, hcolor, hstyle, htext: INTEGER); +PROCEDURE BeginDraw; BEGIN - KOSAPI.sysfunc6(0, x * 65536 + w, y * 65536 + h, color + LSL(style, 24), hcolor + LSL(hstyle, 24), htext) + KOSAPI.sysfunc2(12, 1) +END BeginDraw; + + +PROCEDURE EndDraw; +BEGIN + KOSAPI.sysfunc2(12, 2) +END EndDraw; + + +PROCEDURE DefineAndDrawWindow (left, top, width, height, color, style, hcolor, hstyle: INTEGER; header: ARRAY OF CHAR); +BEGIN + KOSAPI.sysfunc6(0, left*65536 + width, top*65536 + height, color + LSL(style, 24), hcolor + LSL(hstyle, 24), SYSTEM.ADR(header[0])) END DefineAndDrawWindow; -PROCEDURE WriteTextToWindow(x, y, color: INTEGER; text: ARRAY OF CHAR); + +PROCEDURE WriteTextToWindow (x, y, color: INTEGER; text: ARRAY OF CHAR); BEGIN - KOSAPI.sysfunc6(4, x * 65536 + y, color + LSL(48, 24), sys.ADR(text[0]), LENGTH(text), 0) + KOSAPI.sysfunc6(4, x*65536 + y, color + LSL(48, 24), SYSTEM.ADR(text[0]), LENGTH(text), 0) END WriteTextToWindow; -PROCEDURE WaitForEvent(): INTEGER; - RETURN KOSAPI.sysfunc1(10) + +PROCEDURE WaitForEvent (): INTEGER; + RETURN KOSAPI.sysfunc1(10) END WaitForEvent; + PROCEDURE ExitApp; BEGIN - KOSAPI.sysfunc1(-1) + KOSAPI.sysfunc1(-1) END ExitApp; -PROCEDURE draw_window(header, text: ARRAY OF CHAR); + +PROCEDURE draw_window (header, text: ARRAY OF CHAR); +CONST + WHITE = 0FFFFFFH; + RED = 0C00000H; + GREEN = 0008000H; + BLUE = 00000C0H; + GRAY = 0808080H; BEGIN - WindowRedrawStatus(1); - DefineAndDrawWindow(200, 200, 200, 100, 0FFFFFFH, 51, 0, 0, sys.ADR(header)); - WriteTextToWindow(10, 10, 0FF0000H, text); - WindowRedrawStatus(2); + BeginDraw; + DefineAndDrawWindow(200, 200, 300, 150, WHITE, 51, 0, 0, header); + WriteTextToWindow( 5, 10, RED, text); + WriteTextToWindow(35, 30, GREEN, text); + WriteTextToWindow(65, 50, BLUE, text); + WriteTextToWindow(95, 70, GRAY, text); + EndDraw END draw_window; -PROCEDURE Main(header, text: ARRAY OF CHAR); + +PROCEDURE main (header, text: ARRAY OF CHAR); +CONST + EVENT_REDRAW = 1; + EVENT_KEY = 2; + EVENT_BUTTON = 3; BEGIN - WHILE TRUE DO - CASE WaitForEvent() OF - |1: draw_window(header, text) - |3: ExitApp - ELSE - END - END -END Main; + WHILE TRUE DO + CASE WaitForEvent() OF + |EVENT_REDRAW: draw_window(header, text) + |EVENT_KEY: ExitApp + |EVENT_BUTTON: ExitApp + END + END +END main; + BEGIN - Main("HW", "Hello, world!") + main("Hello", "Hello, world!") END HW. \ No newline at end of file diff --git a/programs/develop/oberon07/samples/HW_con.ob07 b/programs/develop/oberon07/samples/HW_con.ob07 index 7f8f9e136c..94ac7e8adf 100644 --- a/programs/develop/oberon07/samples/HW_con.ob07 +++ b/programs/develop/oberon07/samples/HW_con.ob07 @@ -1,63 +1,59 @@ MODULE HW_con; -IMPORT Out, In, Console, DateTime; +IMPORT + Out, In, Console, DateTime; -PROCEDURE OutInt2(n: INTEGER); +PROCEDURE OutInt2 (n: INTEGER); BEGIN - ASSERT((0 <= n) & (n <= 99)); - IF n < 10 THEN - Out.Char("0") - END; - Out.Int(n, 0) + ASSERT((0 <= n) & (n <= 99)); + IF n < 10 THEN + Out.Char("0") + END; + Out.Int(n, 0) END OutInt2; -PROCEDURE OutMonth(n: INTEGER); +PROCEDURE OutMonth (n: INTEGER); VAR - str: ARRAY 4 OF CHAR; - + str: ARRAY 4 OF CHAR; BEGIN - - CASE n OF - | 1: str := "jan" - | 2: str := "feb" - | 3: str := "mar" - | 4: str := "apr" - | 5: str := "may" - | 6: str := "jun" - | 7: str := "jul" - | 8: str := "aug" - | 9: str := "sep" - |10: str := "oct" - |11: str := "nov" - |12: str := "dec" - END; - - Out.String(str) + CASE n OF + | 1: str := "jan" + | 2: str := "feb" + | 3: str := "mar" + | 4: str := "apr" + | 5: str := "may" + | 6: str := "jun" + | 7: str := "jul" + | 8: str := "aug" + | 9: str := "sep" + |10: str := "oct" + |11: str := "nov" + |12: str := "dec" + END; + Out.String(str) END OutMonth; PROCEDURE main; VAR - Year, Month, Day, Hour, Min, Sec, Msec: INTEGER; - + Year, Month, Day, + Hour, Min, Sec, Msec: INTEGER; BEGIN - Out.String("Hello, world!"); Out.Ln; - Console.SetColor(Console.White, Console.Red); - DateTime.Now(Year, Month, Day, Hour, Min, Sec, Msec); - Out.Int(Year, 0); Out.Char("-"); - OutMonth(Month); Out.Char("-"); - OutInt2(Day); Out.Char(" "); - OutInt2(Hour); Out.Char(":"); - OutInt2(Min); Out.Char(":"); - OutInt2(Sec) + Out.String("Hello, world!"); Out.Ln; + Console.SetColor(Console.White, Console.Red); + DateTime.Now(Year, Month, Day, Hour, Min, Sec, Msec); + OutInt2(Day); Out.Char("-"); OutMonth(Month); Out.Char("-"); Out.Int(Year, 0); Out.Char(" "); + OutInt2(Hour); Out.Char(":"); OutInt2(Min); Out.Char(":"); OutInt2(Sec); Out.Ln; + Console.SetColor(Console.Blue, Console.LightGray); + Out.Ln; Out.String("press enter..."); + In.Ln END main; BEGIN - Console.open; - main; - In.Ln; - Console.exit(TRUE) + Console.open; + main; + Console.exit(TRUE) END HW_con. \ No newline at end of file