home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / outputfile.tcl < prev    next >
Text File  |  1997-06-12  |  2KB  |  77 lines

  1. # Copyright (c) 1996 by Cayenne Software Inc.
  2. #
  3. # This software is furnished under a license and may be used only in
  4. # accordance with the terms of such license and with the inclusion of
  5. # the above copyright notice. This software or any other copies thereof
  6. # may not be provided or otherwise made available to any other person.
  7. # No title to and ownership of the software is hereby transferred.
  8. #
  9. # The information in this software is subject to change without notice
  10. # and should not be construed as a commitment by Cayenne Software Inc
  11. #
  12. #---------------------------------------------------------------------------
  13. #
  14. #       File            : @(#)outputfile.tcl    /main/titanic/1
  15. #       Author          : H. Broeze
  16. #       Original date   : 6 Sep 1996
  17. #       Description     : Installation of RTM integration
  18. #
  19. #---------------------------------------------------------------------------
  20. #
  21. # @(#)outputfile.tcl    /main/titanic/1 12 Jun 1997 Copyright 1996 Cayenne Software
  22.  
  23. # Start user added include file section
  24. # End user added include file section
  25.  
  26.  
  27. Class OutputFile : {GCObject} {
  28.     method destructor
  29.     constructor
  30.     attribute outputFileId
  31.     attribute fileAsList
  32.     attribute fileAsDict
  33.     attribute fileContents
  34. }
  35.  
  36. method OutputFile::destructor {this} {
  37.     # Start destructor user section
  38.     close [$this outputFileId]
  39.     # End destructor user section
  40. }
  41.  
  42. constructor OutputFile {class this outFileName {seperator " "}} {
  43.     set this [GCObject::constructor $class $this ]
  44.  
  45.     set outputFileId [open $outFileName r]
  46.     set tempFileAsList ""
  47.     set tempFileAsDict [Dictionary new]
  48.     set contents ""
  49.  
  50.     set line [string trim [gets $outputFileId]  ""]
  51.     while {[eof $outputFileId] != 1} {
  52.         set contents [concat $contents $line]
  53.         set splittedLine ""
  54.         # skip blanks
  55.         foreach  word [split $line $seperator]   {
  56.         if {$word != ""} {
  57.             lappend splittedLine [string trim $word " "]
  58.         }
  59.         }
  60.  
  61.         if {[llength $splittedLine] == 2} {
  62.         $tempFileAsDict set [lindex  $splittedLine 0] [lindex  $splittedLine 1]
  63.         }
  64.         lappend tempFileAsList "$splittedLine"
  65.         set line [string trim [gets $outputFileId]  ""]
  66.     }
  67.     $this  fileAsDict $tempFileAsDict
  68.     $this fileAsList $tempFileAsList
  69.     $this outputFileId $outputFileId
  70.     $this fileContents $contents
  71.     return $this
  72. }
  73.  
  74. # Do not delete this line -- regeneration end marker
  75.  
  76.  
  77.