diff --git a/mystic/nodespy_ansiterm.ans b/mystic/nodespy_ansiterm.ans index ba0cb99..8373f60 100644 --- a/mystic/nodespy_ansiterm.ans +++ b/mystic/nodespy_ansiterm.ans @@ -7,5 +7,5 @@ °°²ÛÛÛÛ ²ÜÜÜܲ ÛÛÛÛÛ ±Ü ßßßßÛÛÛÛ²ÛÛÛÛÛÛÛÛÛÛ²± ßÛÛÛÛÜÜÛÛÛÛÛ±°°°°°ßÛÛÛÛÜÜÜÜÜ ÜÜÛ ÜÜþ ßß² ± °°²ÜÜÜÜÜÜܲßßßßß ²ÛÛÛ ²²²ÛÛÛ²ßßßß ÞÜÜ ßßßßßßßß ßßßßß ßßßßßßß Ý°° °Ý°°þ Þßßßßßßßßßßßßß ß Node Spy ßÜ -ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜܲ System Name ²³² Address ²³² LastCall ²³² Calls ²Ûßßßßßßßßßßßßßßßßßßßßßßßßßßß³ßßßßßßßßßßßßßßßßßßßßßßßßßßßß³ßßßßßßßßßßßß³ßßßßßßßßÛÝÞÝÞÝÞÝÞÝÞÝÞÝÞÝÞÝÞ²ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜܲ° Default NodeSpy PhoneBook ° ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß - ENTER: Call ALT+E: Edit ALT+S: Sort DELETE: Clear ESCAPE: Quit \ No newline at end of file +ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜܲ System Name ²³² Address ²³² LastCall ²³² Calls ²Ûßßßßßßßßßßßßßßßßßßßßßßßßßßß³ßßßßßßßßßßßßßßßßßßßßßßßßßßßß³ßßßßßßßßßßßß³ßßßßßßßßÛÝÞÝÞÝÞÝÞÝÞÝÞÝÞÝÞÝÞ²ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜܲ° NodeSpy Telnet Directory ° ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß + ENTER: Call ALT+E: Edit INSERT: Add DELETE: Clear ESCAPE: Quit \ No newline at end of file diff --git a/mystic/nodespy_ansiterm.pas b/mystic/nodespy_ansiterm.pas index 151b38d..fa3122c 100644 --- a/mystic/nodespy_ansiterm.pas +++ b/mystic/nodespy_ansiterm.pas @@ -2,8 +2,8 @@ Procedure DrawTerminalAnsi; Const IMAGEDATA_WIDTH=80; IMAGEDATA_DEPTH=25; - IMAGEDATA_LENGTH=1115; - IMAGEDATA : array [1..1115] of Char = ( + IMAGEDATA_LENGTH=1112; + IMAGEDATA : array [1..1112] of Char = ( #1,#16,'Ü','Ü',#25,#10, #8,'Ü','Ü',#25, #3, #7,'°', #0,#23,'²',#16, #25,#23, #9,#26, #4,'Ü',#25, #9,#14,'±','Û','±', #7,'°', #0,#23,'²', #16,#25, #8, #7,'°', #0,#23,'²', #8,#16,'g','j','!',#24,' ', #9,#17, @@ -54,22 +54,22 @@ Const #24, #7,'Ü',#15,#26,#25,'Ü', #7,'Ü',' ','Ü',#15,#26,#25,'Ü', #7,'Ü', ' ','Ü',#15,#26, #9,'Ü', #7,'Ü',' ','Ü',#15,#26, #6,'Ü', #7,'Ü',#24, #8,#23,'²',' ', #0,'S','y','s','t','e','m',' ','N','a','m','e',#25, - #13, #7,#16,'²',#15,'³', #8,#23,'²',' ', #0,'A','d','d','r','e','s', - 's',#25,#17, #7,#16,'²',#15,'³', #8,#23,'²',' ', #0,'L','a','s','t', - 'C','a','l','l',' ', #8,#16,'²',#15,'³', #8,#23,'²',' ', #0,'C','a', - 'l','l','s',' ', #8,'²',#24,#16,'Û',#26,#26,'ß', #9,'³', #8,#26,#27, - 'ß', #9,'³', #8,#26,#11,'ß', #9,'³', #8,#26, #7,'ß','Û',#24,'Ý',#25, - 'M','Þ',#24,'Ý',#25,'M','Þ',#24, #7,'Ý',#25,'M','Þ',#24,'Ý',#25,'M', - 'Þ',#24,'Ý',#25,'M','Þ',#24,#15,'Ý',#25,'M','Þ',#24, #7,'Ý',#25,'M', - 'Þ',#24,#15,'Ý',#25,'M','Þ',#24,'Ý',#25,'M','Þ',#24,'²',#26,'M','Ü', - '²',#24, #7,'°',#23,#25,#26, #0,'D','e','f','a','u','l','t',' ','N', - 'o','d','e','S','p','y',' ','P','h','o','n','e','B','o','o','k',#25, - #25, #7,#16,'°',#24,' ', #8,#26,'M','ß',#24,#25, #2,#15,'E','N','T', - 'E','R', #8,':',' ', #7,'C','a','l','l',#25, #3,#15,'A','L','T','+', - 'E', #8,':',' ', #7,'E','d','i','t',#25, #3,#15,'A','L','T','+','S', - #8,':',' ', #7,'S','o','r','t',#25, #3,#15,'D','E','L','E','T','E', - #8,':',' ', #7,'C','l','e','a','r',#25, #3,#15,'E','S','C','A','P', - 'E', #8,':',' ', #7,'Q','u','i','t',#24); + #13, #7,#16,'²','³', #8,#23,'²',' ', #0,'A','d','d','r','e','s','s', + #25,#17, #7,#16,'²','³', #8,#23,'²',' ', #0,'L','a','s','t','C','a', + 'l','l',' ', #8,#16,'²', #7,'³', #8,#23,'²',' ', #0,'C','a','l','l', + 's',' ', #8,'²',#24,#16,'Û',#26,#26,'ß', #1,'³', #8,#26,#27,'ß', #1, + '³', #8,#26,#11,'ß', #1,'³', #8,#26, #7,'ß','Û',#24,'Ý',#25,'M','Þ', + #24,'Ý',#25,'M','Þ',#24, #7,'Ý',#25,'M','Þ',#24,'Ý',#25,'M','Þ',#24, + 'Ý',#25,'M','Þ',#24,#15,'Ý',#25,'M','Þ',#24, #7,'Ý',#25,'M','Þ',#24, + #15,'Ý',#25,'M','Þ',#24,'Ý',#25,'M','Þ',#24,'²',#26,'M','Ü','²',#24, + #7,'°',#23,#25,#27, #0,'N','o','d','e','S','p','y',' ','T','e','l', + 'n','e','t',' ','D','i','r','e','c','t','o','r','y',#25,#25, #7,#16, + '°',#24,' ', #8,#26,'M','ß',#24,#25, #2,#15,'E','N','T','E','R', #8, + ':',' ', #7,'C','a','l','l',#25, #3,#15,'A','L','T','+','E', #8,':', + ' ', #7,'E','d','i','t',#25, #3,#15,'I','N','S','E','R','T', #8,':', + ' ', #7,'A','d','d',#25, #3,#15,'D','E','L','E','T','E', #8,':',' ', + #7,'C','l','e','a','r',#25, #3,#15,'E','S','C','A','P','E', #8,':', + ' ', #7,'Q','u','i','t',#24); Begin Screen.LoadScreenImage(ImageData, ImageData_Length, ImageData_Width, 1, 1); End; diff --git a/mystic/nodespy_common.pas b/mystic/nodespy_common.pas index ed82d3d..257e571 100644 --- a/mystic/nodespy_common.pas +++ b/mystic/nodespy_common.pas @@ -105,7 +105,8 @@ Begin Until False; End; - MsgBox.Close; + If BoxType <> 2 Then MsgBox.Close; + MsgBox.Free; Screen.CursorXY (SavedX, SavedY); diff --git a/mystic/nodespy_term.pas b/mystic/nodespy_term.pas index aad508d..1fa86a4 100644 --- a/mystic/nodespy_term.pas +++ b/mystic/nodespy_term.pas @@ -62,17 +62,21 @@ Begin GetAddressPort := 23; End; +Function GetNewRecord : PhoneRec; +Begin + FillChar (Result, SizeOf(PhoneRec), 0); + + Result.StatusBar := True; + Result.LastCall := '00/00/00'; + Result.Calls := '0'; +End; + Procedure InitializeBook (Var Book: PhoneBookRec); Var Count : SmallInt; Begin - FillChar (Book, SizeOf(Book), 0); - - For Count := 1 to 100 Do Begin - Book[Count].StatusBar := True; - Book[Count].LastCall := '00/00/00'; - Book[Count].Calls := '0'; - End; + For Count := 1 to 100 Do + Book[Count] := GetNewRecord; Book[1].Name := 'Local Login'; Book[1].Address := 'localhost:' + strI2S(Config.INetTNPort); @@ -84,7 +88,7 @@ Var Buffer : Array[1..4096] of Char; Count : SmallInt; Begin - ShowMsgBox (2, 'Saving phonebook'); + //ShowMsgBox (2, 'Saving phonebook'); Assign (OutFile, 'nodespy.phn'); SetTextBuf (OutFile, Buffer); @@ -156,7 +160,7 @@ Begin If Dial.StatusBar Then Begin Screen.SetWindow (1, 1, 80, 24, True); - Screen.WriteXY (1, 25, Config.StatusColor3, strPadC('ALT-X/Quit', 80, ' ')); + Screen.WriteXY (1, 25, Config.StatusColor3, strPadC('ALT/L-Send Login Info ALT-X/Quit', 80, ' ')); End; Term.SetReplyClient(TIOBase(Client)); @@ -253,8 +257,11 @@ End; Function GetTerminalEntry (Var Book: PhoneBookRec; Var Dial: PhoneRec) : Boolean; Var - Count : SmallInt; - List : TMenuList; + Count : SmallInt; + Count2 : SmallInt; + List : TMenuList; + Found : Boolean; + Picked : SmallInt; Begin Result := False; @@ -271,15 +278,21 @@ Begin DrawTerminalAnsi; - Repeat - List := TMenuList.Create(Screen); + Picked := 1; - List.NoWindow := True; - List.AllowTag := False; - List.LoAttr := 7; - List.HiAttr := 9 + 1 * 16; - List.LoChars := #13#27; - List.HiChars := #18; + List := TMenuList.Create(Screen); + + List.NoWindow := True; + List.AllowTag := False; + List.LoAttr := 7; + List.HiAttr := 9 + 1 * 16; + List.LoChars := #13#27; + List.HiChars := #18#82#83; + + Repeat + List.Clear; + + List.Picked := Picked; For Count := 1 to 100 Do List.Add(strPadR(Book[Count].Name, 26, ' ') + ' ' + @@ -290,6 +303,8 @@ Begin List.Open(1, 12, 80, 22); + Picked := List.Picked; + Case List.ExitCode of #13 : If Book[List.Picked].Address = '' Then ShowMsgBox(0, 'Address is empty') @@ -308,10 +323,38 @@ Begin End; #18 : EditEntry(Book, List.Picked); #27 : Break; - End; + #82 : Begin + Found := False; - List.Free; + For Count := List.Picked to 100 Do + If (Book[Count].Name = '') and (Book[Count].Address = '') and (Book[Count].Calls = '0') Then Begin + Found := True; + Break; + End; + + If Not Found Then + ShowMsgBox (0, 'No blank entries available') + Else Begin + For Count2 := Count DownTo List.Picked + 1 Do + Book[Count2] := Book[Count2 - 1]; + + Book[List.Picked] := GetNewRecord; + + WriteBook(Book); + End; + End; + #83 : If ShowMsgBox(1, 'Delete this record?') Then Begin + For Count := List.Picked to 100 - 1 Do + Book[Count] := Book[Count + 1]; + + Book[100] := GetNewRecord; + + WriteBook(Book); + End; + End; Until False; + + List.Free; End; Procedure Terminal;