forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   O LIB.JSR75 (http://forum.boolean.name/showthread.php?t=6440)

temned 01.10.2008 21:07

O LIB.JSR75
 
я обращаюсь не по теме, но думал, что вопрос затеряется. У меня вопрос о библиотеке jsr75, как использовать GET_DIRTS? вот часть моего кода: uses jsr75; var e,v:string; m: boolean; begin e:=jsr75.get_roots; v:=jsr75.get_dirts(e); repeat drawtext(v,0,0); repaint; delay(20); until m=false; end.

ViNT 01.10.2008 21:14

Ответ: O LIB.JSR75
 
Советую для этого использовать библиотеку Lib_jsr75ex http://forum.boolean.name/showthread.php?t=4766, там модель поиска приближена к паскалевской.

temned 01.10.2008 21:22

как получить папки?
 
она у меня есть, но как ее использовать, что бы получить папки? И если можете, то обьясните как пользоваться jsr75

Piligrim 01.10.2008 21:25

Ответ: O LIB.JSR75
 
функция get_roots возвращает имеющиеся в системе диски в виде 'a|b|e' или 'phone|SD' так что сразу применить её результат в get_dirs получится только если диск один.

temned 01.10.2008 21:41

jsr75ex не удобно
 
подскажите, как пользоватся get_dirts из jsr75? ведь не зря же ее придумали? а использование jsr75ex не удобен на сонериках, потому что приходится подтверждать запросы, которые нельзя отключить, а запросов столько, сколько файлов или папок находит либа. ПОМОГИТЕ!

Piligrim 01.10.2008 22:07

Ответ: O LIB.JSR75
 
а почему ты решил, что в jsr75 будет по другому? там тоже будут запросы на файлы и папки.

temned 01.10.2008 22:33

помогите
 
НУ там наверно будет один запрос, а не 10, 20 или сколько у вас там файлов... НУ тогда помогите, как реализовать get_dirts без jsr75ex. ИЛИ НА худой конец, как с помощью jsr75ex, только как сделать так, что бы СЕрик не запрашивал сотни раз, как в примере от vinta-IMAGE WIEVER. A если можете поделитесь исходником, только не image wiewer.

ViNT 01.10.2008 22:37

Ответ: помогите
 
Цитата:

Сообщение от TEMNED (Сообщение 87302)
НУ там наверно будет один запрос, а не 10, 20 или сколько у вас там файлов... НУ тогда помогите, как реализовать get_dirts без jsr75ex. ИЛИ НА худой конец, как с помощью jsr75ex, только как сделать так, что бы СЕрик не запрашивал сотни раз, как в примере от vinta-IMAGE WIEVER. A если можете поделитесь исходником, только не image wiewer.

Без запросов только с халмером будет, а так другого способа получения списка папок нет(вообще нет в FileConnectionAPI) - по сути, в jsr75 и jsr75ex используются одни и те же функции для поиска, только метод отдачи результатов разный.

temned 01.10.2008 22:54

Ответ: O LIB.JSR75
 
НУ СКАЖИТЕ КАК МНЕ ИСПОЛЬЗОВАТЬ get_dirts, или как по другому можно получить папки?

Piligrim 02.10.2008 10:10

Ответ: O LIB.JSR75
 
Код:

function        ShowFiles(path : String) : String;
var
        clicked : Command;
        s, p, i : integer;
        files : String;
begin       
        ShowFiles := '';
        repeat
                ShowMenu(path, CH_IMPLICIT);
                addCommand(cmdOk);
                addCommand(cmdSelect);
                if length(path)<>0 then begin
                        i := menuAppendString('..');
                        files := jsr75.get_dirs(path);
                        files := files+jsr75.get_files(path);
                end else
                        files := jsr75.get_roots;
                p := pos(files, '|');
                while p>0 do begin
                        i := menuAppendString(copy(files, 0, p));
                        files := copy(files, p+1, length(files));
                        p := pos(files, '|');
                end;
                repeat
                        clicked := getClickedCommand;
                until clicked <> emptyCommand;
                path := path + ui.list_get_string(menuGetSelectedIndex);
  until clicked = cmdSelect;
        ShowFiles := path;
end;

нет хождения назад, но думаю это и сам можешь сделать.

temned 03.10.2008 16:47

Ответ: O LIB.JSR75
 
piligrim, дал плыз полный код, а то у меня не получается

Piligrim 03.10.2008 20:26

Ответ: O LIB.JSR75
 
Вложений: 1
Пожалуйста. Повторяю, нет хождения назад и проверки на папки.

temned 06.10.2008 07:57

много запросов
 
Парни, а как на соериках отменить много запросов, так нельзя, ну может можно из java как-то? А то запросов 10, и это только штоб полушить папки. А так скатаешь какую-нибудь прогу с ФС, там один запрос, :SOS: :SOS: :SOS:

ViNT 06.10.2008 11:24

Ответ: O LIB.JSR75
 
По-моему, такой возможности в java нет, в любом случае для каждого найденного элемента нужно делать запрос, является данный элемент папкой или нет. Если только предположить, что в именах папок нет точек и нет файлов без расширения. Тогда теоретически можно разделять папки и файлы по структуре имени, получая только один запрос при входе в папку, но это, конечно же, не вариант.

temned 06.10.2008 16:03

а как же?
 
ну как же в java прогах делают один запрос, даже если взять JIMM с доступом к ФС, или opera mini, там один запрос, может кто знает как?:SOS: :SOS: :SOS:


Часовой пояс GMT +4, время: 09:17.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot