Forth http://fforum.winglion.ru/ |
|
findfirst на spf http://fforum.winglion.ru/viewtopic.php?f=18&t=2738 |
Страница 1 из 1 |
Автор: | Cocain [ Пн июн 27, 2011 12:01 ] | ||
Заголовок сообщения: | findfirst на spf | ||
Всем привет! Подскажите, как вызвать findfirst на spf? Ибусь два дня уже... И еще вопрос. Позволяет ли форт писать с ассемблерскими вставками?
|
Автор: | Mihail [ Пн июн 27, 2011 14:11 ] |
Заголовок сообщения: | Re: findfirst на spf |
Cocain писал(а): одскажите, как вызвать findfirst Я сделал печать директории. Почему-то на spf.sf.net не закоммитить. Кидаю сюда Код: REQUIRE { ~mak\locals4.f REQUIRE /WIN32_FIND_DATA ~ac\lib\win\file\findfile.f REQUIRE [IFNDEF] ~nn\lib\ifdef.f REQUIRE $! ~mak\place.f [IFNDEF] BREAK : BREAK POSTPONE EXIT POSTPONE THEN ; IMMEDIATE [THEN] CREATE WIN32_FIND_DATA /WIN32_FIND_DATA ALLOT CREATE TP_DIR 0x101 ALLOT 0 VALUE FIND-ID : FIRSTFILE ( addr len -- FLG ) CR ." FIRSTFILE=" 2DUP TYPE CR TP_DIR $! 0 TP_DIR COUNT + C! FIND-ID IF FIND-ID FindClose DROP THEN WIN32_FIND_DATA TP_DIR 1+ FindFirstFileA DUP TO FIND-ID -1 = ; : NEXTFILE ( -- flg ) WIN32_FIND_DATA FIND-ID FindNextFileA ; : GET-DIR-FILE-NAME ( -- addr len ) WIN32_FIND_DATA cFileName ASCIIZ> ; : GET-DIR-ATTR ( -- u ) WIN32_FIND_DATA dwFileAttributes @ ; 0x10 CONSTANT isdir \ dir ? : GET-DIR-SIZE ( -- u ) WIN32_FIND_DATA nFileSizeLow @ ; : DIR. GET-DIR-FILE-NAME TYPE GET-DIR-ATTR isdir AND IF 9 EMIT ." <DIR>" THEN CR ; : *DIR TP_DIR $! S" \*.*" TP_DIR $+! TP_DIR COUNT FIRSTFILE IF BREAK 0 BEGIN DIR. 1+ DUP 0xF AND 0= IF CR ." q - exit" KEY 0x20 OR [CHAR] q = IF DROP EXIT THEN THEN NEXTFILE 0= UNTIL DROP ; : DIR PARSE-NAME *DIR ; Cocain писал(а): Позволяет ли форт писать с ассемблерскими вставками? http://spf.cvs.sourceforge.net/viewvc/spf/devel/~yz/lib/filename.f?view=log http://spf.cvs.sourceforge.net/viewvc/spf/devel/~mak/WAPI.F?view=log |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |