home *** CD-ROM | disk | FTP | other *** search
-
-
- Chapter 7
- STRINGS & STRING PROCEDURES
-
- PASCAL STRINGS
- _________________________________________________________________
-
- According to the Pascal definition, a string is ================
- simply an array of 2 of more elements of type STRARRAY.PAS
- char, and is contained in an array defined in a ================
- var declaration as a fixed length. Examine the
- example program named STRARRAY.PAS. Notice that
- the strings are defined in the type declaration even though they
- could have been defined in the var part of the declaration. This
- is to begin getting you used to seeing the type declaration. The
- strings defined here are nothing more than arrays with char type
- variables.
-
-
- A STRING IS AN ARRAY OF CHAR
- _________________________________________________________________
-
- The interesting part of this file is the executable program.
- Notice that when the variable First_Name is assigned a value, the
- value assigned to it must contain exactly 10 characters or the
- compiler will generate an error. If you edit out a blank, you will
- get an invalid type error. Pascal is neat in allowing you to write
- out the values in the string array without specifically writing
- each character in a loop as can be seen in the Writeln statement.
- To combine the data, called concatenation, requires the use of the
- rather extensive looping and subscripting seen in the last part of
- the program. It would be even messier if we were to consider
- variable length fields which is nearly always the case in a real
- program.
-
- Two things should be observed in this program. First, notice the
- fact that the string operations are truly array operations and will
- follow all of the characteristics discussed in the last chapter.
- Secondly, it is very obvious that Pascal is rather weak when it
- comes to its handling of text type data. Pascal will handle text
- data, even though it may be difficult to do so using the standard
- description of Pascal as illustrated in this program. We will see
- next that TURBO Pascal really shines when it is desired to
- manipulate text. Compile and run STRARRAY.PAS and observe the
- output.
-
-
- THE TURBO PASCAL STRING TYPE
- _________________________________________________________________
-
- Examine the example program STRINGS.PAS. You ===============
- will see a much more concise program that STRINGS.PAS
- actually does more. TURBO Pascal has, as an ===============
- extension to standard Pascal, the string type of
- variable. It is used as shown, and the number
-
- Page 7-1
-
- Chapter 7 - Strings and String Procedures
-
- in the square brackets in the var declaration is the maximum length
- of the string. In actual use in the program, the variable can be
- used as any length from zero characters up to the maximum given in
- the declaration. The variable First_Name, for example, actually
- has 11 locations of storage for its data. The current length is
- stored in First_Name[0] and the data is stored in First_Name[1]
- through First_Name[10]. All data are stored as byte variables,
- including the size, so the length is limited to a maximum of 255
- characters.
-
-
- STRINGS HAVE VARIABLE LENGTHS
- _________________________________________________________________
-
- Now look at the program itself. Even though the variable
- First_Name is defined as 10 characters long, it is perfectly legal
- to assign it a 4 character constant, with First_Name[0]
- automatically set to 4 by the system and the last six characters
- undefined and unneeded. When the program is run, the three
- variables are printed out all squeezed together indicating that the
- variables are indeed shorter than their full size as defined in the
- var declaration.
-
- Using the string type is even easier when you desire to combine
- several fields into one as can be seen in the assignment to
- Full_Name. The concatenation operator is the plus sign and is used
- to combine strings and individual characters as indicated in line
- 14. Notice that there are even two blanks, in the form of constant
- fields, inserted between the component parts of the full name.
- When it is written out, the full name is formatted neatly and is
- easy to read. Compile and run STRINGS.PAS and observe the output.
-
-
- WHAT'S IN A STRING TYPE VARIABLE?
- _________________________________________________________________
-
- The next example program named WHATSTRG.PAS, is ================
- intended to show you exactly what is in a string WHATSTRG.PAS
- variable. This program is identical to the last ================
- program except for some added statements at the
- end. Notice the assignment to Total. The
- function Length is available in TURBO Pascal to return the current
- length of any string type variable. It returns a byte type
- variable with the value contained in the [0] position of the
- variable. We print out the number of characters in the string at
- this point, and then print out each character on a line by itself
- to illustrate that the TURBO Pascal string type variable is simply
- an array variable.
-
- The TURBO Pascal reference manual has a full description of several
- more procedures and functions for use with strings which are
- available in TURBO Pascal only. Refer to your TURBO Pascal
- reference manual for complete details. The use of these should be
- clear after you grasp the material covered here.
-
- Page 7-2
-
- Chapter 7 - Strings and String Procedures
-
-
- PROGRAMMING EXERCISE
- _________________________________________________________________
-
- 1. Write a program in which you store your first, middle, and
- last names as variables, then display them one to a line.
- Concatenate the names with blanks between them and display
- your full name as a single variable.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 7-3