| Trimming strings | Posted on Wednesday, January 02, 2008 at 2:43 AM | Here, for completeness without further comment, is the code for RTrim, LTrim and Trim which are included in the unit Tools.
Function RTrim (Var S : String) : String ;
{
RTrim -- remove trailing blanks
}
Var
i : Byte ;
begin { RTrim }
for i := Length(S) downto 1 do
if S[i] > BLANK then begin
S := Copy(S,1,i) ;
RTrim := S ;
Exit
end ;
{
if we reach this point then S contains only BLANKS
so we return a null string
}
S := '' ;
RTrim := S
end ; { RTrim }
Function LTrim (Var S : String) : String ;
{
LTrim -- remove leading blanks
}
Var
i : Byte ;
begin { LTrim }
for i := 1 to Length(S) do
if S[i] > BLANK then begin
S := Copy(S,i,MAXSTR) ;
Read More |
| Entabbing | Posted on Friday, December 28, 2007 at 3:54 AM | The next program in our project is EnTab which replaces runs of blanks in a text file by tabs and blanks. Here is the specification, i.e., the "manual"
PROGRAM
EnTab -- convert runs of blanks into tabs
USAGE
EnTab
FUNCTION
EnTab copies its input to its output, replacing strings of blanks by
tabs so that the output is visually the same as the input but contains
fewer characters. Tab stops are assumed to be set every 3 columns
(i.e., 1, 4, 7, ...), so that each sequence of one to four blanks
ending on a tab stop is replaced by a tab character.
BUGS
1. EnTab is naive about backspaces, vertical motions and non-printing
characters.
2. EnTab will convert a single blank to a tab if it occurs at a tab
stop, thus EnTab is not an exact inverse of DeTab.
3. if any record in the input is longer than 255 char Entab will
truncate that record to 255 char.
Read More |
|
Subscribe
RSS Feed
More Tags
.NET C C# C# 3.0 C++ Embedded engineering service eveh3d firmware Hardware Linux Made-In-China offshore Operating System Outsource Perl product development Programming R&D Software
Help
Check out the Blog FAQ.
|