home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast.iso / pcmag / vol11n19.zip / USTRING.PAS < prev    next >
Pascal/Delphi Source File  |  1992-05-24  |  1KB  |  47 lines

  1. PROGRAM UString;
  2. USES WinCrt, OString, EString;
  3. VAR
  4.   PO : TOString;
  5.   PE : TEString;
  6.   OldLen : Word;
  7. BEGIN
  8.   PO.Init(300);
  9.   PO.AddPChar('I am a TOString.  ');
  10.   PO.AddPChar('The value of pi is: ');
  11.   PO.AddReal(pi, 1, 5);
  12.   PO.NewLine;
  13.   PO.AddPChar('My own address is: ');
  14.   PO.AddHexWord(Seg(PO));
  15.   PO.AddPChar(':');
  16.   PO.AddHexWord(Ofs(PO));
  17.   PO.NewLine;
  18.   REPEAT
  19.     OldLen := PO.Len;
  20.     PO.AddPChar('Adding too much text, ');
  21.     PO.AddPChar('line after line after line!');
  22.     PO.NewLine;
  23.   UNTIL OldLen = PO.Len;
  24.   WriteBuf(PO.GetPChar, PO.Len);
  25.   WriteLn;
  26.   WriteLn;
  27.   PO.Clear;
  28.   PO.AddPChar('Adding too much text, ');
  29.   PO.AddPChar('line after line after line!');
  30.   PO.NewLine;
  31.  
  32.   PE.Init(300);
  33.   PE.AddPChar('I am an expandable TOString - a TEString');
  34.   PE.NewLine;
  35.   REPEAT
  36.     PE.AddOString(PO);
  37.   UNTIL PE.GetExcess > 0;
  38.   IF PE.ExpandTo(400) THEN
  39.     BEGIN
  40.       PE.AddPChar('I ran out of space, so I expanded ');
  41.       PE.AddPChar('to make more room!');
  42.       PE.NewLine;
  43.     END;
  44.   WriteBuf(PE.GetPChar, PE.Len);
  45.   PO.Done;
  46.   PE.Done;
  47. END.