Имеется текстовый файл с информацией следующего типа: 1. Номер сотрудника (TAB) 2. ФИО сотрудника (TAB) 3. Табельный номер сотрудника (TAB) 4. Дата приема сотрудника (TAB) 5. Бонус по продажам за текущий месяц. Задача, вывести на экран данный файлик с возможностью перемещения по записям клавишами «вверх»/»вниз» и редактированием информации при нажатии клавиши «Enter» на записи — Pascal(Паскаль)

uses Dos, Objects, Drivers, Views, Menus, App, Dialogs;
var R,RR: TRect;
    W: PDialog;
    S: SearchRec;
    B: PScrollBar;
    P: PListBox;
    f: Text;
    L: PStringCollection;
    Wo: String;
    myapp: TApplication;
    i: integer;
begin
  myapp.Init;
  {$i-}
  Assign(f,'1.txt');
  Reset(f);
  if IOResult<>0 then
  begin
    WriteLn('[Ошибочка] не найден необходимый файл!');  
    Exit;
  end;
  {$i+}
  L := New(PStringCollection, Init(50,10));
  while not Eof(f) do
  begin
    readln(f,wo);
    {меняем символ табуляции на пробел
    здесь меняется 1 таб на 1 пробел.
    как вариант, можно менять, например,
    один таб на 4 пробела, чтобы текст
    лучше выравнять}
    i := pos(#9, wo);
    while i>0 do
    begin
      wo[i] := ' ';
      i := pos(#9, wo);
    end;
    {добавляем в коллекцию}
    if wo<>'' then l^.Insert(NewStr(wo));
  end;
 
  {Создаем окно:}
  R.Assign (17, 4 ,63, 14 );
  W := New(PDialog, Init (R, 'Baza:'));
  {Вставляем в окно TListBox:}
  with W^ do
  begin
    RR.Assign(44,1,45,9) ;
    B:= New(PScrollBar, Init(RR));
    Insert (B) ;
    R.Assign (1, 1,44,9) ;
    P:= New(PListBox, Init (R, 1 ,B) ) ;
    P^.NewList(L) ;
    Insert (P)
  end;
  DeskTop^.Insert (W) ; {Помещаем окно на экран}
 
  myapp.Run;
  myapp.Done;
end.

Leave a Comment

41 − 39 =