Selaa lähdekoodia

Fixed sysop timeleft issue.

Added extra lines for display info and font demo.
So the updating time wouldn't overwrite it.
Steve Thielemann 2 vuotta sitten
vanhempi
commit
53fe52f7cc
1 muutettua tiedostoa jossa 15 lisäystä ja 7 poistoa
  1. 15 7
      testdoor/testdoor.go

+ 15 - 7
testdoor/testdoor.go

@@ -107,7 +107,7 @@ func MainMenu() door.Menu {
 }
 
 func display_information(d *door.Door) {
-	d.Write(door.Clrscr)
+	d.Write(door.Clrscr + door.CRNL)
 
 	keyColor := door.ColorText("BRI GREEN")
 	sepColor := door.ColorText("BRI YEL")
@@ -146,7 +146,7 @@ func font_demo(d *door.Door) {
 	var l int
 	var centering string
 
-	d.Write(door.Clrscr) //  + door.CRNL + door.CRNL)
+	d.Write(door.Clrscr + door.CRNL) //  + door.CRNL + door.CRNL)
 	fac := FontAmazonCyan()
 	output, l = fac.Output("ABCDEFGHIJKL")
 	if l > door.Width {
@@ -529,12 +529,20 @@ func main() {
 	ticker := time.NewTicker(time.Second)
 
 	go func() {
+		var maxlen int = 0
 		for t := range ticker.C {
 			const tf = "03:04:05 PM"
-			var timeinfo string = fmt.Sprintf("(%3.1f mins)", d.TimeLeft().Minutes())
+			var timeinfo string = " " + t.Format(tf) + " " + fmt.Sprintf("(%3.1f mins)", d.TimeLeft().Minutes()) + " "
+			if maxlen == 0 {
+				maxlen = len(timeinfo)
+			} else {
+				if len(timeinfo) < maxlen {
+					timeinfo += strings.Repeat(" ", maxlen-len(timeinfo))
+				}
+			}
 
 			// maxlen = 12 + 7 + 5 = 24
-			output := door.SavePos + door.Goto(door.Width-25, 0) + door.ColorText("BRI WHI ON BLUE") + " " + t.Format(tf) + " " + timeinfo + " " + door.RestorePos
+			output := door.SavePos + door.Goto(door.Width-(maxlen+1), 0) + door.ColorText("BRI WHI ON BLUE") + timeinfo + door.RestorePos
 			if !d.Disconnect() {
 				d.Write(output)
 			} else {
@@ -544,11 +552,11 @@ func main() {
 		}
 	}()
 
-	bold := door.Color(1, 37, 40)
+	// bold := door.Color(1, 37, 40)
 	bolder := door.ColorText("BLI BOLD YEL ON BLUE")
 	d.Write("Welcome to " + bolder + "door32.sys" + door.Reset + door.CRNL + "..." + door.CRNL)
-	key := press_a_key(&d)
-	d.Write(fmt.Sprintf("Key %s%d / %x%s", bold, key, key, door.Reset) + door.CRNL)
+	press_a_key(&d)
+	d.Write(door.CRNL)
 
 	b := door.AlertBox("Warning: golang is in use!", 1)
 	d.Write(door.ColorText("BRI WHI ON GREEN"))