home *** CD-ROM | disk | FTP | other *** search
- Program VGI;
-
-
- Uses
-
- DOS,
- VTypes,
- VGen,
- VDOSHigh;
-
-
- Procedure GrabInterface( IncPreFace : BOOLEAN;
- IncDocs : BOOLEAN;
- InFile : STRING;
- OutFile : STRING );
-
- Var
-
- FI : TEXT;
- FO : TEXT;
-
- T : STRING;
- T2 : STRING;
-
- FoundInterface : BOOLEAN;
- FoundImp : BOOLEAN;
-
- FoundDocStart : BOOLEAN;
-
- BEGIN
-
- Assign( FI, InFile );
- Reset( FI );
-
- Assign( FO, OutFile );
- Rewrite( FO );
-
- FoundInterface := FALSE;
- FoundImp := FALSE;
-
- While (Not Eof( FI )) and (FoundImp=FALSE) Do
- BEGIN
-
- ReadLn( FI, T );
-
- T2 := UpperString( TrimChar( T, Center, ' ' ));
-
- If T2 = 'IMPLEMENTATION' Then
- FoundImp := TRUE
- ELSE
- BEGIN
-
- If T2 = 'INTERFACE' Then
- BEGIN
-
- FoundInterface := TRUE;
-
- END
- ELSE
- BEGIN
-
- If (IncPreFace) or (FoundInterface) Then
- BEGIN
- WriteLn( FO, T );
-
- END; { if incpreface or foundinterface }
-
- END; { if t2=interface / else }
-
- END; { if t2=implementation / else }
-
- END; { while not eof ... }
-
-
- If IncDocs Then
- BEGIN
-
-
- { grab the documentation }
-
- FoundDocStart := FALSE;
-
- While (Not Eof( FI )) Do
- BEGIN
-
- ReadLn( FI, T );
-
- If FoundDocStart Then
- BEGIN
-
- If Copy( T, 1, 3 )='-*)' Then
- BEGIN
-
- FoundDocStart := FALSE
-
- END
- ELSE
- BEGIN
-
- WriteLn( FO, T );
-
- END; { if t[1..3] = -*) / else }
-
- END { if founddocstart }
- ELSE
- BEGIN
-
- If Copy( T, 1, 3 )='(*-' Then
- BEGIN
-
- FoundDocStart := TRUE;
-
- WriteLn( FO, '' );
- WriteLn( FO, '──────────────────────────────────────────────────────────────────────────────' );
- WriteLN( FO, '' );
-
- END; { if t[1..3] = (*- / else }
-
- END; { if founddocstart / else }
-
- END; { while not eof }
-
- END; { if IncDocs }
-
-
- Close( FI );
- Close( FO );
-
-
- END; { procedure grabinterface }
-
-
- {----------------------------------------------------------------}
-
-
- Procedure SearchFiles( WildCard : STRING );
-
-
- Var
-
- DirInfo : SearchRec;
-
- DestFile : STRING;
-
- BEGIN
-
- FindFirst( WildCard, Archive, DirInfo );
-
- While DosError = 0 Do
- BEGIN
-
- If UpperString( ParamStr( 2 ) ) = 'DOCS' Then
- BEGIN
-
- DestFile := MaskWildCards( DirInfo.Name, '*.DOC' );
-
- WriteLn( DirInfo.Name+' -=> ', DestFile );
-
- GrabInterface( TRUE,
- TRUE,
- DirInfo.Name,
- DestFile );
-
- END
- ELSE
- BEGIN
-
-
- DestFile := MaskWildCards( DirInfo.Name, '*.INT' );
-
- WriteLn( DirInfo.Name+' -=> ', DestFile );
-
- GrabInterface( TRUE,
- FALSE,
- DirInfo.Name,
- DestFile );
-
- END;
-
- FindNext(DirInfo);
-
- END;
-
- END;
-
-
- {----------------------------------------------------------------}
-
- BEGIN
-
- WriteLn;
- WriteLn('Visionix Grab Interface Program (VGI) 0.95');
- WriteLN('Copyright 1993 Visionix');
- WriteLn('ALL RIGHTS RESERVED');
- WriteLn;
-
- If ParamCount>=1 Then
- SearchFiles( ParamStr( 1 ) )
- ELSE
- WriteLn('Usage: VGI filespec [docs]');
-
- WriteLn;
-
- END.
-