Помощь - Поиск - Пользователи - Календарь
Полная версия: Создание обычной оболочки типа Norton
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-Nick Spirit-
Вот возникла такая проблема с написанием проги. Вообщем требуется создать окно в котором бы с права выводились все директории на диске С:\ слева соответственно файлы. Короче выбираешь директорию прога входит в неё пишет там все папки и файлы. и всё. Я сделал окно вывел папки и файлы на С:\ но вот как осуществить тот самый выбор не знаю. Буду очень благодарен если кто поможет! Заранее спасибо!!! Если понадобится мой код скажите.
DJ_Nick-Spirit
Всё таки решил добавить мой код
volvo
Зачем же опять придумывать то, что уже есть?

В папке EXAMPLES\TVFM лежит исходник на TV, который позволяет отображать дерево директорий, и содержимое каждой из них.
DJ_Nick-Spirit
Volvo спасибки щас загляну. Посмотрим что там есть.

Добавлено через 4 мин.
Обидно но у меня нет EQU.TPU
volvo
Скомпилируй:
Ozzя
Держи
DJ_Nick-Spirit
Не компайлит. ((( у меня вообщем нету 3-х TPU-шников: вот этого EQU, Globals, Tools. Сорри можа я чего не понимаю или делаю не так. но он пишет типа не могу прокомпилировать Init

Добавлено через 2 мин.
Всё компайлит.Понял. Но всё таки если мне кто нить скинет ещё 2 оставшиеся TPU буду очень признателен! Thank's!
volvo
Тебе проще будет скачать TV полностью... У тебя, видимо, какая-то урезанная версия...

http://www.sigala.it/sergio/tvision/resources.html#sources

DJ_Nick-Spirit
Спасибки. Там чёто так много всяких файлов блин какой качать даже не знаешь. Лан разберёмся щас.
volvo
Сорри. Там нет исходников на Паскале, только на С... Вот все TPU - файлы, которые у меня получились при компиляции TVFM с помощью Turbo Pascal 7.0 (если у тебя другая версия - это не сработает...)
DJ_Nick-Spirit
Норм. У меня 7.0. Так что всё в поряде! Thank's

Добавлено через 9 мин.
Володя такой вопрос: Вот как вот этот вот исходник применить в проге? я просто вот в этом не очень шарю.
DJ_Nick-Spirit
Volvo или кто нить всё таки скажите мне плиз как исходник использовать. тут прочитал что если подключить этот модуль(DirView) то будут доступны все функции и процедуры из него. Но как их вызывать то??? Тfv такие процедуры и функции. И главное не знаешь какие вообще нужны то.... ((((

Добавлено через 16 мин.
Искренне прошу помочь!!!Мне завтра уже сдавать надо. А у меня только этот грёбаный список и работает. И не знаю я как исходник применять. (((((((((((

Добавлено через 7 мин.
Если у кого есть время то плиз дополните мой код чтобы всё работало. ((((((((((((((((Не знаю я как дальше сделать... ОЧЕНЬ ПРОШУ. Заранее благодарен. cray.gif cray.gif cray.gif
DJ_Nick-Spirit
мдя.... thank's(((
DJ_Nick-Spirit
МИСС_ГРАФФИТИ может хоть вы взглянете на мой код???очень нада............ сдавать уже сёдня... у меня неполучается выбор определённой директории и вывод всех файлов в ней. Мне вот исходник показали но я не знаю как его применить. Даже не знаю как его вообще запустить. Вот мой код

Program Manager;
{$X+}
Uses CRT,DOS,Objects,App,Views,Dialogs,Drivers,MsgBox,DirView;
Const dirattr : set of byte=[$10..$14];
Var
NDir : Array [1..100] of String;
NFile : Array [1..100] of String;
S : SearchRec;
L,G : PStringCollection; {Collection of file names}
Foc : String; {Select File}
Name : String;
Put : String;
KDirs : Integer;
KFiles: Integer;
j : Integer;
UNDir : Integer;
sim : Char;
Type
TMyApp = object (TApplication)
Procedure Run; Virtual;
Procedure HandleEvent( var Event:TEvent); Virtual;

end;
PMyListBox = ^TMyListBox;
TMyListBox = object (TListBox)
Function Valid(Command:Word):boolean; Virtual;
end;
{--------------------------------------------------------------}
Procedure TMyApp.Run;
Var
R,RR,X,Y:TRect;
W:PDialog;
B,I:PScrollBar;
P,M:PListBox;
Fl:Boolean;
Begin
KDirs:=1;
KFiles:=1;
put:='C:\';

For j:=1 to 100 Do
Begin
NDir[j]:='';
NFile[j]:='';
End;
L:=New (PStringCollection,Init(50,10));
FindFirst(put+'*.*',directory,S);
While DosError = 0 do with S,L^ do
Begin
If s.attr in dirattr Then
Begin
Insert(NewStr(Name));
NDir[KDirs]:=Name;
KDirs:=KDirs+1;
End;
FindNext(S);
End;
G:=New (PStringCollection,Init(50,10));
FindFirst(put+'*.*',directory,S);
While DosError = 0 do with S,G^ do
Begin
If (s.attr <> $10) and (s.attr <> $11) and (s.attr <> $12) and (s.attr <> $13) and (s.attr <> $14) Then
Begin
Insert(NewStr(Name));
NFile[KFiles]:=Name;
KFiles:=KFiles+1;
End;
FindNext(S);
End;

R.Assign(1,1,77,44);
W:=New (PDialog,Init(R,'Directories Files in Directory'));
With W^ Do
Begin
RR.Assign(36,1,37,42);
B:=New (PScrollBar,Init(RR));
Insert(B);
Y.Assign(75,1,76,42);
I:=New (PScrollBar,Init(Y));
Insert(I);
R.Assign (1,1,36,42);
P:=New (PMyListBox,Init (R,1,B));
P^.NewList(L);
Insert(P);
X.Assign (37,1,75,42);
M:=New (PMyListBox,Init (X,1,I));
M^.NewList(G);
Insert(M);
End;
DeskTop^.Insert(W);
UNDir:=1;
{надо как то осуществить выбор диретории слева и если выбрана то показать все её файлы и новый список директорий}
Inherited Run;
End;
Procedure TMyApp.HandleEvent (Var Event: TEvent);
Begin
Inherited HandleEvent(Event);
case Event.What of EvKeyboard:
case Event.KeyCode of
kbUp: UNDir:=UNDir-1;
kbDown: UNDir:=UNDir+1;
end;
end;
End;
Function TMyListBox.Valid;
Begin
Foc:=PString(L^.At(Focused))^;
Valid:=True;
end;
Var
P: TMyApp;
Begin
P.Init;
P.Run;
P.Done;
write(Foc);
End.




volvo
Цитата
скажите мне плиз как исходник использовать. тут прочитал что если подключить этот модуль(DirView) то будут доступны все функции и процедуры из него. Но как их вызывать то???
Я что тебе про ЭТОТ модуль где-то говорил? Речь шла о чем? О примере... А пример - это программа... Вот открой программу (TVFM.PAS), скомпилируй, запусти, и иди дальше изобретать велосипед, если твоему преподавателю это не понравится...

А то что тебе сдавать сегодня - это чья проблема? Ты 11-го числа создал тему, в которой хотел помощи по Turbo Vision... А тут выясняется, что ты даже не можешь использовать готовый модуль. Так как ты за 3 дня хотел написать программу полностью? Опять, конечно преподаватель виноват? В последнюю секунду подкинул такое задание?
DJ_Nick-Spirit
Volvo СОРРИ!!! Я же не так шарю как вы! Вот и просил помощи. про модуль: я сначала нашёл вот это Dirview.Pas. Огромное спасибо тебе!!! smile.gif smile.gif smile.gif smile.gif smile.gif smile.gif smile.gif smile.gif smile.gif ОЧЕНЬ БЛАГОДАРЕН!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.