home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / MFM_119C.ZIP / ADOPTINS.PAS next >
Pascal/Delphi Source File  |  1993-06-03  |  4KB  |  101 lines

  1. Unit AdoptIns;
  2. {========================================================================}
  3. Interface
  4.   Procedure AdoptAbandon(Display : Byte);
  5.   Procedure AdoptAllOrphans;
  6.   Procedure InsertBlank(BeforeOrAfter : Char);
  7. {========================================================================}
  8. Implementation
  9.   Uses
  10.     Display, MfmDefs, MfmStr;
  11. {========================================================================}
  12. Procedure AdoptAbandon(Display : Byte);
  13.   Begin
  14.     Altered := True;
  15.     Case CurrentEntry^.TypeOfRecord Of
  16.       Orphan :
  17.       Begin
  18.         CurrentEntry^.TypeOfRecord := FileRecord;
  19.         NextPrintEntry := CurrentEntry;
  20.         If Display = 1 Then
  21.         Begin
  22.           DisplayRecord(Row); DisplayCurrentLocation;
  23.         End;
  24.       End;
  25.       FileRecord :
  26.       Begin
  27.         CurrentEntry^.TypeOfRecord := Orphan;
  28.         NextPrintEntry := CurrentEntry;
  29.         DisplayRecord(Row); DisplayCurrentLocation;
  30.       End;
  31.       Comment :
  32.       Begin
  33.         CurrentEntry^.TypeOfRecord := Offline;
  34.         CurrentEntry^.Description := AllTrim(CurrentEntry^.Description);
  35.         CurrentEntry^.FileName := Copy(CurrentEntry^.Description,1,Pos(' ',CurrentEntry^.Description)-1);
  36.         CurrentEntry^.Description := Copy(CurrentEntry^.Description,Pos(' ',CurrentEntry^.Description)+1,79);
  37.         NextPrintEntry := CurrentEntry;
  38.         DisplayRecord(Row); DisplayCurrentLocation;
  39.       End;
  40.       Offline :
  41.       Begin
  42.         CurrentEntry^.TypeOfRecord := Comment;
  43.         CurrentEntry^.Description := CurrentEntry^.FileName+' '+CurrentEntry^.Description;
  44.         CurrentEntry^.FileName := '';
  45.         NextPrintEntry := CurrentEntry;
  46.         DisplayRecord(Row); DisplayCurrentLocation;
  47.       End;
  48.     End;
  49.   End;
  50. {========================================================================}
  51. Procedure AdoptAllOrphans;
  52.   Begin
  53.     OldEntry := CurrentEntry;
  54.     CurrentEntry := FirstEntry;
  55.     Repeat
  56.       If (CurrentEntry^.FileName <> 'FILES.BBS') And
  57.          (CurrentEntry^.FileName <> 'FILES.BAK') And
  58.          (CurrentEntry^.TypeOfRecord = Orphan) Then AdoptAbandon(0);
  59.       CurrentEntry := CurrentEntry^.NextEntry;
  60.     Until CurrentEntry = NIL;
  61.     CurrentEntry := OldEntry;
  62.     DisplayScreen;
  63.   End;
  64. {========================================================================}
  65. Procedure InsertBlank(BeforeOrAfter : Char);
  66.   Begin
  67.     If MaxAvail > SizeOf(ListRecord) Then
  68.     Begin
  69.       Altered := True;
  70.       New(NewEntry);
  71.       If BeforeOrAfter = 'B' Then
  72.       Begin
  73.         NewEntry^.PrevEntry := CurrentEntry^.PrevEntry;
  74.         NewEntry^.NextEntry := CurrentEntry;
  75.         CurrentEntry^.PrevEntry^.NextEntry := NewEntry;
  76.         CurrentEntry^.PrevEntry := NewEntry;
  77.         If CurrentEntry = TopEntry Then TopEntry := NewEntry;
  78.         If CurrentEntry = FirstEntry Then FirstEntry := NewEntry;
  79.       End
  80.       Else
  81.       Begin
  82.         NewEntry^.PrevEntry := CurrentEntry;
  83.         NewEntry^.NextEntry := CurrentEntry^.NextEntry;
  84.         CurrentEntry^.NextEntry^.PrevEntry := NewEntry;
  85.         CurrentEntry^.NextEntry := NewEntry;
  86.       End;
  87.       CurrentEntry := NewEntry;
  88.       CurrentEntry^.TypeOfRecord := Comment;
  89.       CurrentEntry^.Description := ' ';
  90.       CurrentEntry^.FileSize := 0;
  91.       CurrentEntry^.Tagged := False;
  92.       If BeforeOrAfter = 'A' Then CurrentEntry := CurrentEntry^.PrevEntry;
  93.       Inc(NumberOfEntries);
  94.       DisplayScreen;
  95.     End;
  96.   End;
  97. {========================================================================}
  98. Begin
  99. End.
  100. {========================================================================}
  101.