Вот возникла такая проблема с написанием проги. Вообщем требуется создать окно в котором бы с права выводились все директории на диске С:\ слева соответственно файлы. Короче выбираешь директорию прога входит в неё пишет там все папки и файлы. и всё. Я сделал окно вывел папки и файлы на С:\ но вот как осуществить тот самый выбор не знаю. Буду очень благодарен если кто поможет! Заранее спасибо!!! Если понадобится мой код скажите.
DJ_Nick-Spirit
11.06.2007 14:43
Всё таки решил добавить мой код
volvo
11.06.2007 15:47
Зачем же опять придумывать то, что уже есть?
В папке EXAMPLES\TVFM лежит исходник на TV, который позволяет отображать дерево директорий, и содержимое каждой из них.
DJ_Nick-Spirit
11.06.2007 15:49
Volvo спасибки щас загляну. Посмотрим что там есть.
Добавлено через 4 мин. Обидно но у меня нет EQU.TPU
volvo
11.06.2007 16:01
Скомпилируй:
Ozzя
11.06.2007 16:02
Держи
DJ_Nick-Spirit
11.06.2007 19:06
Не компайлит. ((( у меня вообщем нету 3-х TPU-шников: вот этого EQU, Globals, Tools. Сорри можа я чего не понимаю или делаю не так. но он пишет типа не могу прокомпилировать Init
Добавлено через 2 мин. Всё компайлит.Понял. Но всё таки если мне кто нить скинет ещё 2 оставшиеся TPU буду очень признателен! Thank's!
volvo
11.06.2007 19:10
Тебе проще будет скачать TV полностью... У тебя, видимо, какая-то урезанная версия...
Спасибки. Там чёто так много всяких файлов блин какой качать даже не знаешь. Лан разберёмся щас.
volvo
11.06.2007 19:23
Сорри. Там нет исходников на Паскале, только на С... Вот все TPU - файлы, которые у меня получились при компиляции TVFM с помощью Turbo Pascal 7.0 (если у тебя другая версия - это не сработает...)
DJ_Nick-Spirit
11.06.2007 19:28
Норм. У меня 7.0. Так что всё в поряде! Thank's
Добавлено через 9 мин. Володя такой вопрос: Вот как вот этот вот исходник применить в проге? я просто вот в этом не очень шарю.
DJ_Nick-Spirit
15.06.2007 0:19
Volvo или кто нить всё таки скажите мне плиз как исходник использовать. тут прочитал что если подключить этот модуль(DirView) то будут доступны все функции и процедуры из него. Но как их вызывать то??? Тfv такие процедуры и функции. И главное не знаешь какие вообще нужны то.... ((((
Добавлено через 16 мин. Искренне прошу помочь!!!Мне завтра уже сдавать надо. А у меня только этот грёбаный список и работает. И не знаю я как исходник применять. (((((((((((
Добавлено через 7 мин. Если у кого есть время то плиз дополните мой код чтобы всё работало. ((((((((((((((((Не знаю я как дальше сделать... ОЧЕНЬ ПРОШУ. Заранее благодарен.
DJ_Nick-Spirit
15.06.2007 3:25
мдя.... thank's(((
DJ_Nick-Spirit
15.06.2007 4:09
МИСС_ГРАФФИТИ может хоть вы взглянете на мой код???очень нада............ сдавать уже сёдня... у меня неполучается выбор определённой директории и вывод всех файлов в ней. Мне вот исходник показали но я не знаю как его применить. Даже не знаю как его вообще запустить. Вот мой код
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
15.06.2007 4:18
Цитата
скажите мне плиз как исходник использовать. тут прочитал что если подключить этот модуль(DirView) то будут доступны все функции и процедуры из него. Но как их вызывать то???
Я что тебе про ЭТОТ модуль где-то говорил? Речь шла о чем? О примере... А пример - это программа... Вот открой программу (TVFM.PAS), скомпилируй, запусти, и иди дальше изобретать велосипед, если твоему преподавателю это не понравится...
А то что тебе сдавать сегодня - это чья проблема? Ты 11-го числа создал тему, в которой хотел помощи по Turbo Vision... А тут выясняется, что ты даже не можешь использовать готовый модуль. Так как ты за 3 дня хотел написать программу полностью? Опять, конечно преподаватель виноват? В последнюю секунду подкинул такое задание?
DJ_Nick-Spirit
15.06.2007 4:26
Volvo СОРРИ!!! Я же не так шарю как вы! Вот и просил помощи. про модуль: я сначала нашёл вот это Dirview.Pas. Огромное спасибо тебе!!! ОЧЕНЬ БЛАГОДАРЕН!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.