home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / topaz / qnr / qnrdemo.pas < prev    next >
Pascal/Delphi Source File  |  1991-08-07  |  2KB  |  105 lines

  1. Program QNRDemo;
  2.  
  3. Uses
  4.    DBF4,
  5.    Pick,
  6.    SAYGET4,
  7.    Browse4,
  8.    VidPop,
  9.    QNR,
  10.    Crt;
  11.  
  12. Var
  13.    Done         : Boolean;
  14.    SampleQuery,
  15.    FileName     : String;
  16.  
  17. Procedure Beep;
  18.  
  19. Begin
  20.    Sound(700);
  21.    Delay(30);
  22.    NoSound
  23. End;
  24.  
  25. PROCEDURE ClearScreen ( C : Char );
  26.  
  27. VAR
  28.    S : STRING;
  29.    I : INTEGER;
  30.  
  31. BEGIN
  32.    S := '';
  33.    FOR I := 1 TO Lo(WindMax) + 1 DO
  34.       S := S + C;
  35.    GotoXY(1, 1);
  36.    FOR I := 1 TO Hi(WindMax) + 1 DO
  37.       Write(S)
  38. END;
  39.  
  40. Procedure DisplayResults;
  41.  
  42. Begin
  43.    Set_BrowseWindow_To(25, 2, 79, 19, DoubleTopSingleSide + Shadow + Explode,
  44.       'Query Result');
  45.  
  46.    { Initialize the query marker }
  47.  
  48.    InitializeQuery;
  49.    If ParseQuery
  50.       Then
  51.          Begin
  52.             SET_FILTER_TO(@ProcessQuery);
  53.             GoTop;
  54.             If Not dEof
  55.                Then
  56.                   Browse('PLAIN')
  57.                Else
  58.                   Begin
  59.                      PushWindow(25, 2, 65, 2);
  60.                      AT(25, 2, 'The query returned no valid records!');
  61.                      Beep;
  62.                      Repeat
  63.                      Until KeyPressed;
  64.                      PopWindow
  65.                   End;
  66.             SET_FILTER_TO(Nil)
  67.          End
  68. End;
  69.  
  70. Begin
  71.    Done := FALSE;
  72.    
  73.    While (Not Done) Do
  74.       Begin
  75.          ClearScreen('▒');
  76.          Set_PickWindow_To(2, 2, 17, 19, 
  77.             DoubleTopSingleSide + Shadow + Explode, 'Databases');
  78.          Filename := PickFile('*.DBF');
  79.          Done := (FileName = '');
  80.          If (Not Done)
  81.             Then
  82.                Begin
  83.                   Use(FileName, NIL, 0);
  84.                   If (RecCount > 0)
  85.                      Then
  86.                         Begin
  87.                            SampleQuery := '';
  88.                            GetQuery(SampleQuery);
  89.                            QueryString := SampleQuery;
  90.                            DisplayResults
  91.                         End
  92.                      Else
  93.                         Begin
  94.                            PushWindow(25, 2, 65, 2);
  95.                            AT(25, 2, 'The file selected has no records!');
  96.                            Beep;
  97.                            Repeat
  98.                            Until KeyPressed;
  99.                            PopWindow
  100.                         End;
  101.                   Use('', NIL, 0)
  102.                End
  103.       End
  104. End.
  105.