home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / comms / bbs / bbslist1.lha / bbslist / bbslist.trans < prev    next >
Text File  |  1992-01-24  |  6KB  |  178 lines

  1. /* BBSList.trans (c) '91 by Georg 'Gio' Magschok                             */
  2. /*                                                                           */
  3. /* 17.08.91 began programming, finished v0.1                                 */
  4. /* 18.08.91 add bbs function now editable if changes have to be made         */
  5. /* 24.01.92 after using it for a long while, I think I can release it now    */
  6. /*                                                                           */
  7. /* just put this prog into one of your .rx files and place the textfiles     */
  8. /* in the text-dir of TransAmiga. Be sure, all paths in the constant         */
  9. /* declarations of this script are correct!                                  */
  10.  
  11. options results
  12. signal on error
  13.  
  14. version      ='v1.0'                /* my version for the script */
  15. listname     ='bbs:bulletins/bbslist'           /* path & name of the data   */
  16. bbsname.1    ="Gio's home"                      /* name of defaultbbs        */
  17. bbsnumber.1  ='+49-7202-2386'                   /* number of defaultbbs      */
  18. bbssettings.1='2400 8n1 24h'                    /* settings of defaultbbs    */
  19. bbssysop.1   ="Georg 'Gio' Magschok"            /* sysop of defaultbbs       */
  20. bbsextra.1   ="ONLY Amiga, 1500+files, TransAmiga" /* extra for defaultbbs   */
  21. bbspass.1    ="BEISPIEL"                        /* password for defaultbbs   */
  22.  
  23. transmit ' '
  24. transmit " Gio's home BBSList "
  25. transmit ' using BBSList.trans '||version||" (c) '92 by Georg 'Gio' Magschok."
  26. transmit
  27.  
  28. if open('list',listname,'R') then do
  29.  i=0
  30.  do until eof('list')
  31.   i=i+1
  32.   bbsname.i=readln('list')
  33.   bbsnumber.i=readln('list')
  34.   bbssettings.i=readln('list')
  35.   bbssysop.i=readln('list')
  36.   bbsextra.i=readln('list')
  37.   bbspass.i=readln('list')
  38.  end
  39.  numbbs=i-1
  40.  call close('list')
  41.  end
  42. else do
  43.  numbbs=1
  44. end
  45.  
  46. userinfo 1 ; xpert=upper(result)
  47.  
  48. do until cmd='+'
  49.  if xpert='NOVICE' then sendmenu 'bbslistmenu'
  50.  systeminfo m ; time=result
  51.  getcmd '[BBSList - T: '||time||', C: ? + L G A E ]' ; cmd=upper(result)
  52.  select
  53.   when cmd='?' then sendmenu 'bbslistmenu'
  54.   when cmd='+' then transmit
  55.   when cmd='L' then call listbbs
  56.   when cmd='G' then call listverbose
  57.   when cmd='A' then call appendbbs
  58.   when cmd='E' then call editbbs
  59.   otherwise transmit "Unknown command, press '?' for menu!"
  60.  end
  61. end
  62.  
  63. if open('list',listname,"W") then do
  64.  do i=1 to numbbs
  65.   call writeln('list',bbsname.i)
  66.   call writeln('list',bbsnumber.i)
  67.   call writeln('list',bbssettings.i)
  68.   call writeln('list',bbssysop.i)
  69.   call writeln('list',bbsextra.i)
  70.   call writeln('list',bbspass.i)
  71.  end
  72.  call close('list')
  73.  end
  74. else
  75.  transmit 'severe problems with the bbslist, please inform sysop!'
  76.  
  77. shutdown
  78. exit
  79.  
  80. appendbbs:
  81.  i=numbbs+1
  82.  transmit ' Bitte beantworte die folgenden Fragen ueber die einzutragende Mailbox!'
  83.  transmit
  84.  ans='N'
  85.  bbsname.i=''
  86.  bbsnumber.i=''
  87.  bbssettings.i=''
  88.  bbssysop.i=''
  89.  bbsextras.i=''
  90.  bbspass.i=''
  91.  do until upper(ans)='Y'
  92.   correct=0
  93.   do until correct
  94.    query 'Name der Box : \\'||bbsname.i ; name=result
  95.    correct=1
  96.    do j=1 to numbbs
  97.     if upper(trim(name))=upper(trim(bbsname.j)) & j~=i then do
  98.      transmit 'diese Box ist bereits erfasst!!!'
  99.      correct=0
  100.     end
  101.    end
  102.   end
  103.   bbsname.i=name
  104.   query 'Telefonnummer(n) : \\'||bbsnumber.i ; bbsnumber.i=result
  105.   query 'Modem/Onlinezeit : \\'||bbssettings.i ; bbssettings.i=result
  106.   query 'Name des Sysops : \\'||bbssysop.i ; bbssysop.i=result
  107.   query 'Ergaenzungen, Kommentar : \\'||bbsextra.i ; bbsextra.i=result
  108.   transmit
  109.   transmit 'Nun noch ein Passwort, das notwendig ist, damit niemand'
  110.   query 'boeswillig den BBS-Eintrag veraendert : ' ; bbspass.i=upper(result)
  111.   transmit
  112.   queryy 'Sind alle Eingaben korrekt' ; ans=result
  113.  end
  114.  queryy 'Soll die Mailbox in die Liste aufgenommen werden' ; ans=result
  115.  if upper(ans)='Y' then numbbs=numbbs+1
  116.  return
  117.  
  118. listbbs:
  119.  transmit " Kurz-BBS-Liste von Gio's home vom "||date()||" um "||time()||" !!"
  120.  do i=1 to numbbs
  121.   transmit right(i,3,' ')||'. : '||left(bbsname.i,30,' ')||bbsnumber.i
  122.  end
  123.  continue
  124.  return
  125.  
  126. listverbose:
  127.  transmit " Ausfuehrliche BBS-Liste von Gio's home vom "||date()||" um "||time()||" !!"
  128.  do i=1 to numbbs
  129.   transmit
  130.   transmit "Name   : "||bbsname.i
  131.   transmit "Nummer : "||bbsnumber.i
  132.   transmit "Info   : "||bbssettings.i
  133.   transmit "SysOp  : "||bbssysop.i
  134.   transmit "Extra  : "||bbsextra.i
  135.  end
  136.  continue
  137.  return
  138.  
  139. editbbs:
  140.  query 'Name der zu editierenden Box : ' ; name=result
  141.  found=0
  142.  do i=1 to numbbs
  143.   if upper(trim(name))=upper(trim(bbsname.i)) then found=i
  144.  end
  145.  if found~=0 then do
  146.   i=found
  147.   query ' Box gefunden! Gib bitte das Passwort ein : ' ; pw=result
  148.   if upper(trim(pw))=upper(trim(bbspass.i)) then do
  149.    transmit
  150.    ans='N'
  151.    do until upper(ans)='Y'
  152.     correct=0
  153.     do until correct
  154.      query 'Name der Box : \\'||bbsname.i ; name=result
  155.      correct=1
  156.      do j=1 to numbbs
  157.       if upper(trim(name))=upper(trim(bbsname.j)) & j~=i then do
  158.        transmit 'diese Box ist bereits erfasst!!!'
  159.        correct=0
  160.       end
  161.      end
  162.     end
  163.     bbsname.i=name
  164.     query 'Telefonnummer(n) : \\'||bbsnumber.i ; bbsnumber.i=result
  165.     query 'Modem/Onlinezeit : \\'||bbssettings.i ; bbssettings.i=result
  166.     query 'Name des Sysops : \\'||bbssysop.i ; bbssysop.i=result
  167.     query 'Ergaenzungen, Kommentar : \\'||bbsextra.i ; bbsextra.i=result
  168.     transmit
  169.     queryy 'Sind alle Eingaben korrekt' ; ans=result
  170.    end
  171.   end
  172.   else
  173.    transmit 'sorry, aber dieses Passwort ist falsch!!!'
  174.  end
  175.  else
  176.   transmit 'eine Box dieses Namens gibt es nicht in der Liste!'
  177.  return
  178.