home *** CD-ROM | disk | FTP | other *** search
- Using Null Terminated Strings in Turbo Pascal 6
- ===============================================
-
-
- Unlike Turbo Pascal for Windows the Turbo Pascal 6.0
- compiler does not have support for null terminated strings.
- Therefore there are some things which have to be stated
- differently. It must be said, though, that once you have made the
- described alterations the a program will still compile
- successfully under Turbo Pascal for Windows.
-
-
- Included with the unit is a file called 'STRINGTE.PAS'. This
- demonstrates the use of the strings unit. This program can also
- be used along with the Turbo Pascal IDE Debugger to see that the
- strings unit is working correctly.
-
- Syntax
- ======
-
- Constant Null terminated strings.
- --------------------------------
-
- These are defined by
-
- const
- foostring : array [0..foolen] of char = 'FooText etc'#0;
-
- They are referred to when passing then to functions by:
-
- @foostring[0]
-
- This literally passes the address of the first character in the
- string to the function.
-
-
- Var type Null terminated strings.
- ---------------------------------
-
- These are defined by
-
- var
- foovar : array [0..foolen] of char;
-
- To blank one of these strings you could use:
- foovar[0]:=#0;
-
- or alternatively
- Fillchar(foovar,Sizeof(foovar),#0);
-
- Dynamic type Null terminated Strings.
- ====================================
-
- These are defined by
- var
- foodynamic : pChar;
-
-
- They are allocated on the heap using StrNew and Released by using
- StrDispose. You must use StrDispose to release memory allocated
- with StrNew. Since StrNew also keeps a check on the length of
- string allocated so always the correct amount is released even if
- a null is introduced into the middle of the string.
-
- To refer to a specific character in a null terminated string you
- must use:
-
- ptChar(foodynamic)^[foocharno]
-