[Back to STRINGS SWAG index] [Back to Main SWAG index] [Original]
{
> 2: And with a string I want to read a specific string and
> get the first to letter of the 1st and last names.
> So for example: Mike Enos ==> ME-DATA.DAT.
>
> Function GetDatName : String;
[deleted]
To get the first letter of a surname, it might be better to scan
from the end of the string -- in case the person also uses their
middle name or initial...
}
PROGRAM Monogram;
VAR
PersonName : STRING[64]; (* person's name(s) *)
FileName : STRING[12]; (* file name *)
Index : WORD; (* character pointer *)
BEGIN
FileName := '??-DATA.DAT'; (* common file name *)
PersonName := 'Jack B. Nimble'; (* example name *)
(* the person's name MUST contain at least one space... *)
IF (Length(PersonName)=0) OR (Pos(' ',PersonName)=0) THEN BEGIN
WriteLn; WriteLn ('First AND Last names, please...');
Halt(1);
END;
(* assume there's no leading white spaces... *)
FileName[1] := UpCase (PersonName[1]); (* pick up 1st char *)
(* scan from the end of PersonName, looking for white space... *)
Index := Length (PersonName);
WHILE (Index > 0) AND (PersonName[Index] > ' ') DO DEC (Index);
INC (Index); (* ... 'cause we went one too many *)
FileName[2] := PersonName[Index]; (* get 1st char of surname *)
WriteLn;
WriteLn ('File name for "',PersonName,'" is ',FileName);
WriteLn;
END.
[Back to STRINGS SWAG index] [Back to Main SWAG index] [Original]