On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
администратор




Пост N: 3118
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 29.04.13 10:20. Заголовок: Isdirectory


? isdirectory("\\127.0.0.1\Lanres\") .F.
? hb_direxists("\\127.0.0.1\Lanres\") .T.

Похоже isdirectory снова перестала работать с UNC путями

ЗЫ
Harbour 3.2


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 14 [только новые]


постоянный участник


Пост N: 884
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 29.04.13 10:31. Заголовок: Вот что-то про это: ..


Вот что-то про это:
2010-06-15 13:38 UTC+0200 Viktor Szakats (harbour syenar.net) 
* contrib/xhb/xhbfs.c
! Fixed ISDIRECTORY() to work like originally intended.
This effectively reverts breakage caused by this change:
2009-07-06 10:06 UTC+0100 Miguel Angel Marchuet <miguelangel@marchuet.net>
* source/rtl/file.c
* Changed IsDirectory to fix IsDirectory( "\\machine\c" ) style call
under windows platforms.
BTW, in Harbour to achieve above effect, you can use
native HB_DIREXISTS( "\\machine\c" ) function call.



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4168
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.08.14 13:58. Заголовок: Dima пишет: ? hb_di..


Dima пишет:

 цитата:
? hb_direxists("\\127.0.0.1\Lanres\")



что то долго срабатывает первый раз если такого пути нет.
чем можно заменить hb_direxists ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3578
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.08.14 14:44. Заголовок: Я тоже с этим мучил..


Я тоже с этим мучился....
Сделал так:
nI := DIRCHANGE(cPath)
IF nI == 0
ELSEIF nI == -2
cMsg := "Ошибка ! ("+LTRIM(STR(nI))+") ; Файл не найден ! ;"+;
"Путь к серверу = "+cPathServer+" ? ;"
cMsg := HB_OEMTOANSI(cMsg)
wvw_messagebox(0, cMsg, cTitle, MB_OK+MB_ICONHAND)
QUIT
ELSEIF nI == -3
cMsg := "Ошибка ! ("+LTRIM(STR(nI))+") ; Путь доступа не найден ! ;"+;
"Путь к серверу = "+cPathServer+" ? ;"
cMsg := ATREPL(";",cMsg,CHR(13)+CHR(10))
cMsg := HB_OEMTOANSI(cMsg)
wvw_messagebox(0, cMsg, cTitle, MB_OK+MB_ICONHAND)
QUIT
ELSEIF nI == -5
cMsg := "Ошибка ! ("+LTRIM(STR(nI))+") ; Отказ доступа в сети ! ;"+;
"Путь к серверу = "+cPathServer+" ? ;"
cMsg := ATREPL(";",cMsg,CHR(13)+CHR(10))
cMsg := HB_OEMTOANSI(cMsg)
wvw_messagebox(0, cMsg, cTitle, MB_OK+MB_ICONHAND)
QUIT
ELSE
cMsg := "Неизвестная ошибка ! ("+LTRIM(STR(nI))+")"+CRLF+;
"Путь к серверу = "+cPathServer+" ? "+CRLF
cMsg := ATREPL(";",cMsg,CHR(13)+CHR(10))
cMsg := HB_OEMTOANSI(cMsg)
wvw_messagebox(0, cMsg, cTitle, MB_OK+MB_ICONHAND)
QUIT
ENDIF


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4367
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.12.14 18:12. Заголовок: Andrey пишет: nI :=..


Andrey пишет:

 цитата:
nI := DIRCHANGE(cPath)


Эта функция ни чуть не быстрее HB_DIREXISTS , вот если б можно было в нее
передать нужный таймаут скажем в 1 сек.
Да пичалька с этим тормозком....

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4373
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.12.14 16:47. Заголовок: Dima пишет: Да пича..


Dima пишет:

 цитата:
Да пичалька с этим тормозком....


Проблему решил. Дело в том что сетевой ресурс который проверяю
является так же домашней папкой на работающем там же FTP сервере.
Поэтому HB_DIREXISTS заменил на проверку доступности FTP сервера по LAN адресу
с задержкой 300 , работает моментально.

PS
Пытался сделать свой Hb_PING для сетки с помощью hb_inetConnectIP , но вероятно я не до конца
понимаю как она работает. При указании не существующего IP адреса хэндл все равно создается ,
да и hb_inetErrorCode говорит что все путем.



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1011
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 20.12.14 17:30. Заголовок: Дима, надо, видимо, ..


Дима, надо, видимо, проверить новый сокет вот этим: http://www.fivetechsoft.com/harbour-docs/harbour-reference-guide.htm#hb_inetErrorCode

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4374
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.12.14 17:43. Заголовок: Сделал вот такой тес..


Сделал вот такой тест.
 
Proc main
local hSocket

if hb_inetInit()
hSocket := hb_inetCreate(100)
? hb_inetConnectIP( "127.0.0.1",21,hSocket )
? hb_inetErrorCode( hSocket ) // -1
hb_inetCleanup()
endif
return



Меня терзают смутные сомнения насчет номера порта , какой порт надо указать если проверку делаю в локальной сети ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4375
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.12.14 18:14. Заголовок: А вот так работает h..


А вот так работает
hSocket := hb_inetCreate(1000) // таймаут надо увеличить
? hb_inetConnectIP( "127.0.0.1",13,hSocket ) // с 13 портом пашет однако и с 7


 
13/TCP,UDP DAYTIME — предназначен для тестирования связи путём получения от сервера текущих даты и времени в текстовом виде
7/TCP,UDP ECHO — предназначен для тестирования связи путём отправки данных на сервер и получения от него их же в неизменном виде


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3872
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.12.14 21:42. Заголовок: Dima пишет: А вот т..


Dima пишет:

 цитата:
А вот так работает
hSocket := hb_inetCreate(1000) // таймаут надо увеличить
? hb_inetConnectIP( "127.0.0.1",13,hSocket ) // с 13 портом пашет однако и с 7



А как тогда проверить работоспособность сервера в сети - допустим по имени SERVERWIN2000 ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1012
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 20.12.14 22:15. Заголовок: Dima пишет: какой п..


Dima пишет:

 цитата:
какой порт надо указать если проверку делаю в локальной сети


Не важно, локальная сеть или глобальная. Номер порта определятся сервисом (программой) на удаленном сервере, к которому хочешь подключиться.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4377
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.12.14 19:37. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как тогда проверить работоспособность сервера в сети - допустим по имени SERVERWIN2000 ?


По имени hb_inetConnect()

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4378
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.12.14 20:13. Заголовок: PSP пишет: Не важно..


PSP пишет:

 цитата:
Не важно, локальная сеть или глобальная. Номер порта определятся сервисом (программой) на удаленном сервере, к которому хочешь подключиться.


Ну как бы на сервере нет Harbour сервера(проги) , по любому порту не проверишь (уже игрался) , только по определенным о которых писал выше ну или по 21 если там поднят FTP сервер (на 21 порту).

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1013
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 22.12.14 22:33. Заголовок: Dima пишет: Ну как ..


Dima пишет:

 цитата:
Ну как бы на сервере нет Harbour сервера(проги) , по любому порту не проверишь (уже игрался) , только по определенным о которых писал выше ну или по 21 если там поднят FTP сервер (на 21 порту).


7-ой порт (TCP/UDP) как раз для echo. Его и используй.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4422
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 25.01.15 18:51. Заголовок: Что касается проверк..


Что касается проверки наличия директории , то в начале (что бы не было тормозов)
проверяем PING c помощью hb_inetConnect (hb_inetConnectIP) (я ставил таймаут 2000) и если результат
положительный , только после этого делаем проверку с помощью hb_direxists.


Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 672
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет