X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=Ada95%2Fsamples%2Fsample-explanation.adb;h=cf1ebb60361213989125c4d0ff1f0befe47b378f;hp=8701925dedf3e2066e936e97239c2beab1e0d4b1;hb=9776951416d7fb862b9dca1f4c9f8031a5c9059b;hpb=0eb88fc5281804773e2a0c7a488a4452463535ce;ds=sidebyside diff --git a/Ada95/samples/sample-explanation.adb b/Ada95/samples/sample-explanation.adb index 8701925d..cf1ebb60 100644 --- a/Ada95/samples/sample-explanation.adb +++ b/Ada95/samples/sample-explanation.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -33,9 +33,10 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------ --- Author: Juergen Pfeifer 1996 +-- Author: Juergen Pfeifer, 1996 -- Version Control --- $Revision: 1.12 $ +-- $Revision: 1.24 $ +-- $Date: 2011/03/19 12:18:35 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ -- Poor mans help system. This scans a sequential file for key lines and @@ -57,7 +58,7 @@ package body Sample.Explanation is Help_Keys : constant String := "HELPKEYS"; In_Help : constant String := "INHELP"; - File_Name : String := "explain.msg"; + File_Name : constant String := "explain.txt"; F : File_Type; type Help_Line; @@ -72,8 +73,8 @@ package body Sample.Explanation is Line : String_Access; end record; - procedure Explain (Key : in String; - Win : in Window); + procedure Explain (Key : String; + Win : Window); procedure Release_String is new Ada.Unchecked_Deallocation (String, @@ -85,14 +86,14 @@ package body Sample.Explanation is function Search (Key : String) return Help_Line_Access; procedure Release_Help (Root : in out Help_Line_Access); - procedure Explain (Key : in String) + procedure Explain (Key : String) is begin Explain (Key, Null_Window); end Explain; - procedure Explain (Key : in String; - Win : in Window) + procedure Explain (Key : String; + Win : Window) is -- Retrieve the text associated with this key and display it in this -- window. If no window argument is passed, the routine will create @@ -116,7 +117,7 @@ package body Sample.Explanation is Current : Help_Line_Access; Top_Line : Help_Line_Access; - Has_More : Boolean; + Has_More : Boolean := True; procedure Unknown_Key is @@ -125,7 +126,7 @@ package body Sample.Explanation is Add (W, Key); Add (W, " not found."); Add (W, Character'Val (10)); - Add (W, "Press the Function key labelled 'Quit' key to continue."); + Add (W, "Press the Function key labeled 'Quit' key to continue."); end Unknown_Key; procedure Redo @@ -317,7 +318,7 @@ package body Sample.Explanation is Reset (F); Outer : loop - exit when not Next_Line; + exit Outer when not Next_Line; if Last = (1 + Key'Length) and then Key = Buffer (2 .. Last) and then Buffer (1) = '#' then loop @@ -359,7 +360,7 @@ package body Sample.Explanation is Explain (Context); end Explain_Context; - procedure Notepad (Key : in String) + procedure Notepad (Key : String) is H : constant Help_Line_Access := Search (Key); T : Help_Line_Access := H; @@ -404,5 +405,10 @@ package body Sample.Explanation is begin Open (F, In_File, File_Name); +exception + when Name_Error => + Put_Line (Standard_Error, + "The file explain.txt was not found in the current directory." + ); + raise; end Sample.Explanation; -