Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 19:21

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: findfirst на spf
СообщениеДобавлено: Пн июн 27, 2011 12:01 
Не в сети

Зарегистрирован: Пн май 28, 2007 19:27
Сообщения: 19
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Всем привет! Подскажите, как вызвать findfirst на spf? Ибусь два дня уже...

И еще вопрос. Позволяет ли форт писать с ассемблерскими вставками?


M Первое китайское предупреждение. Еще один мат в любом из сообщений, и будет перманентный бан.
Читайте правила.
Злой Админ



Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: findfirst на spf
СообщениеДобавлено: Пн июн 27, 2011 14:11 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB