Some humble string handling routines by Kari Lammassaari. Text.zip contains following files: - hex.inc Type HexType = String[2]; Function Hex(b:Byte):HexType; {Returns a hex string. Eg input value 160 returned as A0 .} Type HexWordType = String[5]; Function HexWord(i :Integer):HexWordType; {Returns a hex string. Eg. input value 65535 returned as ffff .} - fastwrit.inc { improved by Manuel Bilderbeek } Type TPString = String[255]; Procedure FastWrite(St :TpString); {Much faster than TurboPascal 'Write', but doesn't scroll screen at the bottom of screen. Use GotoXY to controll the operation} {Uses wrtvram.inc} {Direct screen write.} {Updates system variables} Procedure FastWriteln(St :TpString); {Much faster than TurboPascal 'Writeln', but doesn't scroll screen at the bottom of screen. Use GotoXY to controll the operation} {Uses wrtvram.inc} {Direct screen write.} {Updates system variables} - string.inc Procedure StLowCase(Var Fn:StringType); {Changes all the letters A..Z in string to lowcase.} {Define StringType according to Your needs.} Function Pad(St:StringType;count:Byte):StringType; {Returns a given string truncated to count. If string is shorter it will be padded with white spaces.} Function PadCh(St:StringType;Ch:Char;count:Byte):StringType; {Returns a given string truncated to count. If string is shorter it will be padded with Ch .} - readstr.inc Function WhereX:Byte; {Returns the x-coordinate of the cursor} Function WhereY:Byte; {Returns the y-coordinate of the cursor} Function ReadCursorChar:Char; {Reads the char under cursor.} Function ReadCursorString(Len:Byte):StringType; {Reads the chars from the cursor location to a string.} Function ReadString(MaxLen:Byte):StringType; {Reads a string of given lenght.} {Recognizes BS.}