Форум » [x]Harbour » Отображение результатов работы FTP-функций в консоле? » Ответить

Отображение результатов работы FTP-функций в консоле?

Eduard: Добрый день. Как получить результаты работы ФТП-функций (из примеров hbtip). В данный момент разрабатываю служебную программу для целей предприятия, для обновления различных данных в основной программе (программа ГЕРЦ, Одесситы наверное знают такую прогу) Так вот необходимо, что-бы отображалось сам процесс загрузки данных или что-то типа того (% выполнения, либо прогресс-бар) Вот кусочек текста программы, куда необходимо добавить % выполнения (загрузка с ФТП) [more] func updatebd() Local otv LOCAL lRetorno := .T., aGauge, nPos := 1, olddir, cFile:= "", cStr2 Local dt:=SUBSTR(DTOC(DATE()),1,2)+"."+SUBSTR(DTOC(DATE()),4,2)+"."+SUBSTR(DTOC(DATE()),7,4) cUrl := "ftp://" + cUser + ":" + cPassword + "@" + cServer save screen s_OPEN_W(0,0,24,79) olddir:= DIRCHANGE() DIRCHANGE(cPathGKey) otv=S_ERR("Внимание! Для обновления базы ГЕРЦ,", "закройте основную программу для приема платежей!!!","^Программа ГЕРЦ закрыта? Продолжить?","%[ Да ]","[ Нет ]") IF otv=1 olddir:= DIRCHANGE() DIRCHANGE(cPathGBase) oUrl := tUrl():New( cUrl ) oFTP := tIPClientFtp():New( oUrl, .F. ) oFTP:nConnTimeout := 20000 oFTP:bUsePasv := .T. IF At( "@", cUser ) > 0 oFTP:oUrl:cServer := cServer oFTP:oUrl:cUserID := cUser oFTP:oUrl:cPassword := cPassword ENDIF s_Sys(5,15,"Пожайлуста, ждите пока обновиться база ГЕРЦ","Процесс занимает около 25-30 минут","Кнопки не нажимать!!!") IF oFTP:Open( cUrl ) oFtp:CWD( cPathFTP ) IF !oFtp:DownloadFile(cGercData) Вот здесь вот необходимо видеть % загрузки s_ERR("База ГЕРЦ, не найдена на FTP, обратитесь к программисту!") lRetorno := .F. ELSE S_Sys("Файл базы данных ГЕРЦ " + cGercData + " успешно скопирован ") inkey(2) lRetorno := .T. ENDIF oFTP:Close() DIRCHANGE(olddir) DIRCHANGE(cPathGKey) hb_run("unrargerc.bat") FERASE(cPathGBase+cGercData) s_ERR("База обновлена. Для продолжения нажмите Enter") ELSE cStr := "Нет соединения с FTP сервером" + " " + oURL:cServer IF oFTP:SocketCon == NIL cStr2 := "Соединение не возможно" ELSEIF hb_InetErrorCode( oFTP:SocketCon ) == 0 cStr2 := "Ответ сервера:" + " " + oFTP:cReply ELSE cStr2 := "Ошибка соединения :" + " " + hb_InetErrorDesc( oFTP:SocketCon ) ENDIF s_ERR(cStr,cStr2) lRetorno := .F. ENDIF ELSE return 0 endif RETURN lRetorno [/more]

Ответов - 10

Dima: я не пробовал , но глянь http://forums.fivetechsupport.com/viewtopic.php?f=20&t=15476&p=80186&hilit=exGauge#p80186

Pasha: Eduard пишет: Как получить результаты работы ФТП-функций (из примеров hbtip). Так в примере как раз пример этого и есть. См. contrib\hbtip\tests\tiptest.prg oClient:exGauge := {| done, size | ShowGauge( done, size ) }

Eduard: спасибо, получилось


Pasha: Eduard пишет: спасибо, получилось Взамен может быть расскажете, что это за ГЕРЦ такой. Не все же здесь одесситы. Может быть, он достоин упоминания в вики

AlexMyr: вот что гугл выдает https://www.gerc.ua/about/

santy: Интересно. Эта система разработанная на (x)Harbour? Демо-версия существует?

Dima: santy пишет: Эта система разработанная на (x)Harbour? Очевидно что так.

Eduard: Нет, эта система не разработана на Харборе. Программа для приема коммунальных платежей, используется в основном в банках и отделениях связи Одесской области. ГЕРЦ расшифровывается так - Городской единый расчетный центр. То-есть это организация, в которую сливаются все платежи, за воду, газ, телефон и т.д., после чего перечисляются непосредственно тем организациям (коммунальным предприятиям) платежи за которые платит население. Как-то так.

Eduard: База там используется от FireBird, само приложение написано я так думаю на дельфи

Eduard: Добрый день. Еще интересует вопрос, как можно получить список файлов, размещенных в определенной папке на FTP сервере, необходимо эти файлы загнать в массив, что-б потом в проге их можно было обрабатывать.



полная версия страницы