DxSERGEY

Main

May 6th, 2012
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 4.72 KB | None | 0 0
  1. program WorkWithDatasets;
  2.  
  3. uses Dataset, Queries, Crt;
  4.  
  5. var
  6.   Exhibition: TExhibition; {Один элемент}
  7.   fDataset, fOtherDataset: TDataset; {Файл, содержащий элементы}
  8.  
  9.  
  10. procedure ShowMenu;
  11. begin
  12.   WriteLn('[0] Выход');
  13.   WriteLn('[1] Создать набор данных');
  14.   WriteLn('[2] Добавить элемент в набор данных');
  15.   WriteLn('[3] Показать содержимое набора данных');
  16.   WriteLn('[4] Найти элемент по номеру');
  17.   WriteLn('[5] Открыть существующий набор данных');
  18.   WriteLn('[6] Добавить содержимое другого набора данных в текущий');
  19.   WriteLn('[7] Изменить определенный элемент текущего НД');
  20.   WriteLn('[8] Вставить новый элемент перед текущим');
  21. end;
  22.  
  23. begin
  24.   repeat {Альтернатива оператору GOTO}
  25.     ClrScr;
  26.     ShowMenu; {Показываем меню}
  27.     Write('Введите номер пункта меню:  ');
  28.     case StrToInt(ReadInput) of
  29.       0: Break; {Прерываем цикл}
  30.       1:
  31.         begin
  32.           ClrScr;
  33.           Write('Имя файла НД [Пример: filename.dat]:  ');
  34.           {ReadLn(DatasetFileName);}
  35.           CreateDataset(fDataset, ReadInput);
  36.           ReadLn;
  37.         end;
  38.       2:
  39.         begin
  40. {$I-}
  41.           Reset(fDataset);
  42. {$I+}
  43.           if IOResult = 0 then
  44.           begin
  45.             Insert(fDataSet);
  46.           end
  47.           else
  48.           begin
  49.             ClrScr;
  50.             WriteLn('Ошибка: НД не открыт. Пожалуйста выберите #1 чтобы создать НД или #5 чтобы открыть существующий НД');
  51.           end;
  52.           ReadLn;
  53.         end;
  54.       3:
  55.         begin
  56. {$I-}
  57.           Reset(fDataset);
  58. {$I+}
  59.           if IOResult = 0 then
  60.           begin
  61.             ClrScr;
  62.             PrintDataset(fDataSet);
  63.           end
  64.           else
  65.           begin
  66.             ClrScr;
  67.             WriteLn('Ошибка: НД не открыт. Пожалуйста выберите #1 чтобы создать НД или #5 чтобы открыть существующий НД');
  68.           end;
  69.           ReadLn;
  70.         end;
  71.       4:
  72.         begin
  73. {$I-}
  74.           Reset(fDataset);
  75. {$I+}
  76.           if IOResult = 0 then
  77.           begin
  78.             ClrScr;
  79.             Write('Введите номер элемента:  ');
  80.             PrintElement(fDataSet, StrToInt(ReadInput));
  81.           end
  82.           else
  83.           begin
  84.             ClrScr;
  85.             WriteLn('Ошибка: НД не открыт. Пожалуйста выберите #1 чтобы создать НД или #5 чтобы открыть существующий НД');
  86.           end;
  87.           ReadLn;
  88.         end;
  89.       5:
  90.         begin
  91.           ClrScr;
  92.           Write('Имя файла [Пример: filename.dat]:  ');
  93.           {CloseDataset(DataSet);}
  94.           OpenDataset(fDataSet, ReadInput);
  95.           ReadLn;
  96.         end;
  97.       6:
  98.         begin
  99.           Write('Имя файла [Пример: filename.dat]:  ');
  100.           {CloseDataset(DataSet);}
  101.           if OpenDataset(fDataSet, ReadInput) then
  102.           begin
  103.             Write('Имя файла другого НД [Пример: filename.dat]:  ');
  104.             {CloseDataset(OtherDataset);}
  105.             if OpenDataset(fOtherDataset, ReadInput) then
  106.             begin
  107.               WriteFromDatasetToDataset(fDataSet, fOtherDataset);
  108.               CloseDataset(fOtherDataset);
  109.             end;
  110.             ReadLn;
  111.           end;
  112.         end;
  113.       7:
  114.         begin
  115. {$I-}
  116.           Reset(fDataset);
  117. {$I+}
  118.           if IOResult = 0 then
  119.           begin
  120.             ClrScr;
  121.             Write('Введите номер элемента:  ');
  122.             if Update(fDataSet, StrToInt(ReadInput)) then
  123.         begin
  124.           ClrScr;
  125.           PrintDataset(fDataSet);
  126.           ReadLn;
  127.         end;
  128.           end
  129.           else
  130.           begin
  131.             ClrScr;
  132.             WriteLn('Ошибка: НД не открыт. Пожалуйста выберите #1 чтобы создать НД или #5 чтобы открыть существующий НД');
  133.           end;
  134.           ReadLn;
  135.         end;
  136.       8: InsertBeforePos(fDataSet, 1);
  137.     else
  138.       begin
  139.         WriteLn('Ошибка: Выбран неверный пункт меню.');
  140.         ReadLn;
  141.       end;
  142.     end;
  143.   until false;
  144.   ClrScr;
  145.   WriteLn('Приложение будет закрыто. Нажмите любую клавишу.');
  146.   ReadLn;
  147. end.
Advertisement
Add Comment
Please, Sign In to add comment