14.08.2019 16:18
AndreyZh
 
Увы, но объем и разнообразие работ сейчас таково, что любая инфа вылетает из головы, если не запишу... Сейчас увидел и обалдел - оставлю здесь, как замечание на некое будущее

Видимо все знают, что сейчас в десятую винду входит, как подсистема Linux (?). И можно , к примеру , установить APACHE сервер. В дополнении к этому вот несколько выдержек с форума FW в "вольном" переводе :)

кто-нибудь может объяснить мне, что такое mod_harbour?

- Вы когда-нибудь хотели использовать Harbour для создания приложений для Интернета? Это именно mod_harbour . Это модуль который позволяет запускать PRG напрямую в Интернете, без необходимости создавать EXE-файлы и т.д.
Вы просто устанавливаете mod_harbour на сервер Apache (работающий локально на вашем компьютере или на удаленном ПК) и вы начинаете запускать свои PRG в Интернете !!!

Mod_harbour является полностью бесплатным и открытым исходным кодом.

-->Нам нужен код PHP, чтобы сделать работу правильно?
Фактически, вы используете prg напрямую, но это будет то же самое, что и файлы в .php, как раньше?

-PHP не нужен вообще. Мы используем только PRG-код Harbour !!! Вот в чем прелесть.С mod_harbour вам не нужно создавать EXE. PRG запускаются непосредственно с веб-сервера. Это превращает Harbour в язык веб-разработки на том же уровне, что и php, python, asp и т. Д. Он не использует php, но генерирует HTML-код (необходимый для веб-сайтов).

-> Может ли конечный пользователь увидеть prg? нет

> а по поводу баз данных?

пользователь не может их видеть или загружать, если используется правильный файл .htaccess и помещен туда, где находятся файлы DBF. В качестве альтернативы вы можете использовать MySQL или MariaDB и т. д.

--------------

А при чем тут Linux и Windows 10? Apache можно на любой Windows поставить напрямую, хоть на XP.

-------------

...
Поддержка DBF
Пусть ваши DBF работают в сети в рекордно короткие сроки . Просто скопируйте их в / var / www / test на сервере Apache, установите правильные разрешения для тестовой папки, и вы готовы к работе. Пожалуйста, прочитайте подробные инструкции здесь . Пожалуйста, просмотрите примеры / dbedit.prg и dbrowse.prg и используйте их в качестве шаблонов .

Поддержка MySQL
Если вы предпочитаете использовать MySQL, тогда в моде Harbour есть все, что вам нужно . Пожалуйста, просмотрите samples / mysql.prg для полного примера, который вы можете использовать в качестве шаблона.
...
14.08.2019 16:22
OlegON
 
Если так уж хочется апач с линуксом (а он действительно работает и под виндой, этот форум раньше был на апаче и на 2003 винде), то лучше его поставить в нормальную виртуалку, пусть даже и на винде.
14.08.2019 16:48
AndreyZh
 
Сейчас я хочу домой но делаются сохранения важной инфы конторы
Цитата:
OlegON Если так уж хочется апач с линуксом (а он действительно работает и под виндой, этот форум раньше был на апаче и на 2003 винде), то лучше его поставить в нормальную виртуалку, пусть даже и на винде.
Нужно вникать... по тексту - это очередная реинкарнация языка Harbour, на чем создаются программы "УС Лэнд", которые можно компилировать под любую ОС, а если правильно понял, то в новой его сущности mod_harbour взяв уже созданный исходник программы получим готовое Web приложение, т.е. понятие "под операционную систему" вообще теряет смысл?

Правка: AndreyZh, 14.08.2019 16:59
14.08.2019 17:00
OlegON
 
Цитата:
AndreyZh если правильно понял, то в новой его сущности mod_harbour взяв исходник программы получим готовое Web приложение
мягко говоря, это совсем не так... полагаю, что этот mod, как и большинство других, просто позволяет получить в программу параметры адресной строки, разные переменные окружения, вроде IP-адреса, а в итоге выплюнет пользователю в браузер вывод программы, который подразумевается HTML-кодом. Любой проект, который требует ввода и клавиатурных операций, потребует почти полного переписывания кода в этой части и в части отрисовки интерфейса.
05.10.2019 18:59
AndreyZh
 
Так получается, что моей "любимой развлекаловкой" последних месяцев является ЭДО, а прочие "игрушки", типа "УС Лэнд:ЕГАИС" и разработки "бизнес схем" отошли в тень... обещали щедро оплатить, но мало ли "что на ком не обещали"?

Сегодня разбирался с именами УПД: ON_NSCHFDOPPR_ИДПолучателя_ИДОтправителя_YYYYMMDD_GUID.xml. Завис на GUID - Globally Unique Identifier. Как его формировать? После долгих поисков в Internet и вообще попыток понять "ху из ит" наткнулся:

1. На сложные программы C++, которые можно интегрировать в мой код;
2. Не менее сложные программы на PHP & Perl - можно взять алгоритм;
3. Многомудрые статьи на "Инфостарт" - программы на "1C":
4. На цитату: "GUID это 128-битный код, который гарантирует уникальность. GUID использует Windows для хранения ключей регистра и всех своих идентификаторов. Использовать GUID возможно при наличии на компьютере WSH 5.6 (В Windows XP имеется точно!) Если его нет, то его можно загрузить с сайта Microsoft по следующей ссылке: msdn.microsoft.com"

... а дальше проблемка перешла в разряд примитивных. Приведу проверенный на ФЛК исходник:
Код:
    
* --------------------------------------------------------------------------------------------------
*   Генерация уникального GUID через класс Windows от XP и выше. Посмотрено и проверено на FoxClub
*   Делаю через отдельную функцию для освобождение переменных класса и локальных переменных
FUNC cgCreaGUID()
    LOCA oGUID := CreateObject("scriptlet.typelib")
    IF oGUID <> NIL
        RETU Lower(Subs( oGUID:GUID, 2, 36 ))
    ENDI
    ErrMess("Не доступен класс Windows: scriptlet.typelib. Смените операционную систему!",cError)
    RETU ""

Правка: AndreyZh, 05.10.2019 19:03
06.10.2019 10:44
FinSoft
 
Привет, Андрей.

В принципе, для получения guid можно использовать win api, без объектных надстроек. На кларионе это выглядит так.

Код:
  MODULE('GUID')
     CoCreateGUID (*GLO_Guid Guid),LONG,RAW,PASCAL,NAME('CoCreateGuid')
    StringFromGUID2 (*GLO_Guid Guid,*Cstring Lpsz, LONG Cbmax),LONG,RAW,PASCAL,NAME('StringFromGUID2')
  END

GLO_GUID group,type
Data1 ulong
Data2 ulong
Data3 ushort
Data4 string(8)
  end

Код:
FsGetGuid            FUNCTION (lop:NoHypens)      ! Объявление процедуры
FilesOpened          LONG
loc:GUID1      CSTRING(101)
loc:GUID2      STRING (100)
loc:ReturnCode LONG
loc:GUID       like(GLO_GUID)
loc:maxlen     long
loc:i          long
loc:j          long
loc:NoHypens   byte
  CODE                                            ! Начало исполняемого кода
        clear(loc:GUID )
        clear(loc:GUID1)
        clear(loc:GUID2)
  
        if omitted(1)
           loc:NoHypens=0
        else
           loc:NoHypens=lop:NoHypens
        .
  
        loc:MaxLen = 36
  
        loc:ReturnCode = CoCreateGUID (loc:GUID)
        loc:ReturnCode = StringFromGUID2(loc:GUID,loc:GUID1,size(loc:GUID1))
        loc:GUID1 = upper(loc:GUID1)
  
        loc:j = 0
        loop loc:i = 2 to size(loc:GUID1)
           if loc:GUID1[loc:i] = '}'
              break
           end
  
           if loc:GUID1[loc:i] = '<0>'
              cycle
           end
  
           if loc:NoHypens
               if loc:GUID1[loc:i] = '-'
                  cycle
               end
           end
  
           loc:j += 1
           if loc:j > size(loc:GUID2) or loc:j > loc:MaxLen
              break
           end
  
           loc:GUID2[loc:j] = loc:GUID1[loc:i]
        END
  
        loc:GUID2[loc:j+1] = ' '
        return(loc:GUID2)
06.10.2019 15:53
AndreyZh
 
Цитата:
FinSoft В принципе, для получения guid можно использовать win api, без объектных надстроек. На кларионе это выглядит так.
... и я об этом сказал: нашел алгоритмы - можно было их переписать на xHarbour, но можно решить и решил задачу примитивным запросом к встроенным классам операционной системы
06.10.2019 17:01
FinSoft
 
Это не совсем так. Операционная система не имеет встроенных классов. Это дополнительный софт, который может потребоваться доустанавливать у пользователей. Если не парит, то и слава богу.
06.10.2019 21:30
OlegON
 
Поддержу, если есть возможность, лучше использовать WinAPI. Будет в десятки раз быстрее работать, чем создание объекта, более того, создание объектов очень сильно завязано на конкретное поколение операционок и политики безопасности на компе. Есть вариант, что при блокировке скриптового языка на компе, что достаточно часто бывает в корпоративной среде, создание этого scriptlet начнет предлагать сменить операционку, сбивая с толку пользователя. Ну и приколы антивирусов умножатся...

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.