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.