home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.fortran      Putting John Backus on a giant pedestal      5,127 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 4,745 of 5,127   
   Lawrence D'Oliveiro to R Daneel Olivaw   
   Re: Is there a way in Fortran to designa   
   13 Oct 24 21:03:25   
   
   From: ldo@nz.invalid   
      
   On Sun, 13 Oct 2024 17:21:38 +0200, R Daneel Olivaw wrote:   
      
   >       integer record (100), reckey, reccod   
   > c or integer*4   
   >       character*40 recnam, recstr, rectwn   
   > c   
   >       equivalence (record, reckey), (record (2), recnam)   
   >       equivalence (record (12), recstr), (record (22), rectwn)   
   >       equivalence (record (32), reccod)   
   > c               and so on   
      
   So much simpler nowadays:   
      
       integer, parameter :: intsize = kind(0) ! or 4 for integer*4   
       integer, parameter :: strmax = 40   
      
       type :: record_type   
           integer(kind = intsize) reckey   
           character(len = strmax) :: recnam, recstr, recwn   
           integer(kind = intsize) reccod   
           ! and so on   
       end type record_type   
      
       ! declare a variable of the type:   
       type(record_type) :: a_record   
           ! fields accessible as “a_record % reckey”, “a_record %   
   recname” etc   
      
   (Not actually tested, but you get the idea.)   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca