Форум

Нужна помощь человека знающего Clipper!

askold: Добрый день, ситуация следующая - я веб разработчик, ко мне обратились с задачей перевести программу написанную на clipper в 90х годах на веб интерфейс. Программа достаточно массивная по расчетам, и осуществляет расчет потребления воды в каналах. Там значительное количество вычислений и формул, которые надо как то перевести хотя бы в математический вид... Попробовал компилировать - ничего особо не вышло. Попробовал сам разобраться, тоже особо не выходит... Предложение следующее, здесь есть кто то уверенный в себе, кто бы мог помочь на постоянной основе с этим проектом, за определенную плату соответственно! Если здесь есть человек, который на это способен - прошу отзовись. Примеры кода вышлю тем кто откликнется. Есть полноценная программа, с базами данных и комментариями в коде. Небольшой пример кода: *************************************************** * Function: St_Rasch * * Notes: Расчет статики * *************************************************** FUNCTION St_Rasch LOCAL Nk_ish:=0, Q_ish:=0, H_ish:=0 LOCAL n, nk, q, h, scr LOCAL obl:=SELECT() //инициализация If Men_g({"Да","Нет"},,,,,,; "Внимание! Инф-ция по предыдущим расчетам будет удалена. Согласны ?")=1 select vb zap select vs zap Else RETURN NIL EndIF select b set relation TO STR(NB_P,2) INTO s // ввод исх.данных для расчета If Ras_dan(@Nk_ish, @Q_ish, @H_ish)=K_ESC RETURN NIL EndIf nk:=Nk_ish q:=Q_ish h:=H_ish n:=nb //расчет по бьефам //вперед scr:=SAVESCREEN(0,0,MAXROW(),MAXCOL()) DO While n#37 If ms[n,2]=.f. exit EndIF DBSEEK(STR(n,2)) //вычисление расхода и H0 и HK QQ_P:=q H0_P:=R_H0_Hk(n,q,0) HK_P:=R_H0_Hk(n,q,1) s->QQS_P:=q //вычисления створов Ris_Elm(n, 2, 1) Tabl({'Идет расчет по бьефу '+STR(n,2)},,,,,,,1,1,1) h:=R_bief(n, nk, h) //подготовка для следующего бьефа q:=q+IF(ms[n,3],QL_P,0)-IF(ms[n,4],QP_P,0) nk:=1 Ris_Elm(n, 2) n:=n+1 //переход через сооружение If ms[n,1] h:=Sopr_b(n,1,h,q) If h=-1 RETURN NIL EndIF Else exit EndIF EndDO

Ответов - 37, стр: 1 2 All

Dima: askold пишет: Попробовал компилировать - ничего особо не вышло. Сбрось список файлов проекта , посмотрим что там... Можно на обменник или сюда если их не очень много.

Haz: askold пишет: Если здесь есть человек, который на это способен - прошу отзовись. Примеры кода вышлю тем кто откликнется. Дима уже отозвался, высылай ему, он точно способен. Судя по фрагменту кода большой проблемы это не вызовет

Dima: Haz Игорь не пали контору Я могу попробовать только помочь собрать проект под Clipper , на халяву. На остальное не подписывался


Haz: Dima пишет: На остальное не подписывался Дим, там только алгоритмизировать код, проще придумаешь. Собрать проект видимо нужно только для оценки визуального интерфейса. Подписывайся, у тебя точно в этом вопросе мозгов с избытком ( вот про время не знаю ). PS. если чё , помогу, но уверен все и так не сложно. Бл* , ну что может быть сложного в clipper 🤔

PSP: Дождитесь реакции топикстартера. Чувак пока молчит))

SergKis: Haz пишет ну что может быть сложного в clipper 1. отсутствие исходников 2. расчеты (алгритмы) перенесены в C 3. пункт 1 по C и PSP прав

Haz: Исходники заявлены как "есть они" Алгоритмы, они любые воспроизводимы по исходникам. В остальном уверен, нет в clipper сложного, ну ничего, могут быть вставки на asm и c, но это отдельный вопрос. Судя по фрагменту кода, вероятность таких вставок крайне низкая, а вот дождаться реакции топикстартера стоит.

askold: Спасибо всем кто откликнулся, не ожидал такого честно говоря! Скидываю часть программы, просто посмотрите получиться с этим что то сделать?! Ссылку на облако надеюсь можно здесь публиковать? https://cloud.mail.ru/public/JufL/Bve9joUvM

Dima: askold Прога уже собрана вообще то , в архиве лежат рабочие EXE Кроме того что бы заново пересобрать (только не понятно для чего) , для сборки не хватает самопальных библиотек которые прописаны в CL_KS.BAT

askold: Мне ее надо переписать на другой язык, например на javascript. А разбираться с синтаксисом клипера нет времени особо, в этом и был изначально вопрос - "перевести программу написанную на clipper в 90х годах на веб интерфейс". Это можно сделать без особой боли, или например вы можете помочь с этим, само собой не бесплатно. Может как то созвонимся в скайпе или дискорде, я бы словами объяснил - так проще было бы!

rvu: askold пишет: на веб интерфейс А почему именно на веб? Хотя я понимаю, что это ваш профиль. Да и непонятно, что было в этих — Dima пишет: самопальных библиотек

SergKis: askold пишет Мне ее надо переписать на другой язык, например на javascript Прежде чем куда то переводить, надо определиться с базой данных. Сейчас она в dbf, куда планируете ее деть ? А можно оставить в dbf и cgi интерфейс. Cgi может быть как на clipper остаться или в harbour переползти. По мне это самый "дешевый" вариант, но в любом случае самопальные библиотеки нужны, для понимания.

Dima: Можно еще попробовать найти разработчика программы или найти постановщика и сделать все с нуля

rvu: Dima пишет: найти постановщика Как минимум я бы все формулы перепроверил. Уж их-то должны знать в компании-заказчике.

Dima: rvu пишет: Как минимум я бы все формулы перепроверил. Уж их-то должны знать в компании-заказчике. Для того что бы проверить надо как минимум знать синтаксис Clipper , это если по исходникам смотреть Но проще наверное если разраба прежнего нет (уехал в Израиль например) , заново получить постановку задачи у заказчика.

askold: В том то и дело, что это и есть постановка задачи - перевести существующую программу в вид сайта, что бы все работало через интернет, базы наверное SQL будут - это вобще не проблема и второстипенно, базы я открыл и все там с ними понятно. Разраба найти нереально, и кого то хоть кто то близко знает что и как в логике программы... Поэтому я здесь и написал. Я как думал сделать, определить переменные и то что из базы, и найти человека который знает синтаксис клипера - он бы мне просто на пальцах объяснял операторы и прочее, разбирал бы функции, а я бы их переписывал в нужный мне вид... То есть я скидываю условный кусок кода - а мне человек дает обратную связь и в таком формате работаем, работа оплачиваемая повторяю! Если есть возможность - давайте созвонимся, пол часа времени займет, я на словах быстрее и понятнее расскажу что да как!

Haz: Dima пишет: для сборки не хватает самопальных библиотек которые прописаны в CL_KS.BAT С этим как раз не проблемма , валкирья на раз исходник выдает. Но ... даже беглый просмотр подсказывает, что искать надо не разработчика , а постановщика ( он же заказчик ). к примеру код из первых строк MAIN [pre2] If !FILE('D_Ishb.ntx') index ON STR(NB_P,2) TO S_Ishb Else set index TO S_Ishb EndIf [/pre2] мне не понятен . Проверяем наличие одного индекса , а строим другой ... Опечатка или умысел ? Или [pre2] s->QQS_P:=q [/pre2] Alias S заявлен как USE S_Ishs ALIAS s NEW Но в базе S_Ishs нет поля QQS_P 90 % кода это экранные формы, сами расчеты вынесены в отдельные модули. Как и предполагал все достаточно прозрачно по коду, без изысков и хитрых алгоритмов. PS Собрал это чудо на харбуре , все работает. Был один затык , никак не хотело работать по алиасу "b" пришлось везде менять на "bx". Я бы посоветовал топикстартеру не с алгоритмами возиться , а оценить интерфейсную часть наполнив ее пока заглушками. По мере раскрытия алгорима можно эти заглушки замещать

Haz: Похоже что автор в спешке кинул свое творение , или его по деньгам обидели тогда ... недоделанный продукт как бы

Dima: Haz пишет: Собрал это чудо на харбуре , все работает Шаман однако

ММК: Haz пишет: Похоже что автор в спешке кинул свое творение , или его по деньгам обидели тогда ... недоделанный продукт как бы Похоже авторов было трое - @ nR+13,25 say 'Разpаботчики:Ю.Г.Иваненко,В.И.Коpжов,А.А.Ткачев' @ nR+14,40 say 'Адрес: 346428, г.Новочеркасск' @ nR+15,40 say ' НГМА'

rvu: ММК пишет: НГМА Иваненко Юрий Георгиевич, доктор технических наук, профессор https://ngma.su/oi/KAFEDRA/NIMI/vodosnabzhenie-i-ispolzovanie-vodnykh-resursov/sostav.php

ММК: Haz пишет: Я бы посоветовал топикстартеру не с алгоритмами возиться , а оценить интерфейсную часть наполнив ее пока заглушками. По мере раскрытия алгорима можно эти заглушки замещать При таком раскладе можно даже и заглушки не замещать. Есть mod_harbour. Бесплатный. Работает с ads, dbf, sql .Поддерживает синтаксис харбура . Т.е. можно "писать" веб приложение и вместо заглушек прямо ставить модули на харбуре. Например в исходниках есть работа с массивами. Выглядеть это может так - function Main() TEMPLATE <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Create Javascript array from Harbour</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.css"/> </head> <body> <div class="container"> <div class="row"> <h1>Crear array Javascript desde Harbour</h1> <p class="lead">Create Javascript array from Harbour</p> <div class="col-sm-12"> <form role="form"> <div class="form-group"> <label>Data select from Harbour items</label> <select id="combobox" class="form-control"></select> </div> </form> <div> </div> </div> <script> $(document).ready( function () { var aList = <?prg LoadArrayFromHarbour() ?> console.log(aList); combobox = document.getElementById( 'combobox' ); for( n in aList ) { combobox.add( new Option( aList[n] ) ); }; }); </script> </body> </html> ENDTEXT return nil //----------------------------------------------------------------------------------------// function LoadArrayFromHarbour() local cStr := "" local aItems:= { 1,2,3,4,5, {'a','b','c', day(date()) } } local aList := { "Sunday", date(), 175.25, .T., aItems } cStr := ArrayToList( aList ) cStr := "["+ cStr +"]" return cStr //----------------------------------------------------------------------------------------// static function ArrayToList( aList, cSeparator ) local n local cStr := "" local nLen := len( aList ) hb_default( @cSeparator, "," ) for n := 1 to nLen switch valtype( aList[n] ) case 'C' cStr += '"'+ aList[n] +'"' EXIT case 'N' cStr += ltrim( str(aList[n]) ) EXIT case 'D' cStr += '"'+ dtoc( aList[n] ) +'"' EXIT case 'L' cStr += If( aList[n], 'true', 'false' ) EXIT case 'A' cStr += '['+ ArrayToList( aList[n], cSeparator ) +']' EXIT otherwise cStr += valtochar( aList[n] ) end if n < nLen cStr += cSeparator endif next return cStr Вот сайт сделанный таким образом www.modharbour.org Выберите пунк Образцы. Там примеры ...

Haz: rvu пишет: Иваненко Юрий Георгиевич, доктор технических наук, профессор то есть разработчик здоров и доступен и есть к кому обратиться с постановкой

Dima: Haz пишет: то есть разработчик здоров и доступен и есть к кому обратиться с постановкой Разрабу 83 года уже и думается он на пенсии и ему фиолетово все что касается этой задачи https://novocherkassk.net/wiki/novoprint/755/

askold: Ребят, можно по теме а не про то кто и как причастен к данной программе, это я и так знаю. Говорю - доступа к человеку который писал код НЕТ и не будет, все остальные - это профессора которые к программе не имеют особого отношения, по этому поводу просьба больше не писать. Мне по факту нужен человек который разбирается в синтаксисе клипера, и готовый помочь с преобразованием формул, функций и логики - все это будет оплачиваться, кто может выйти на конструктивный и взрослый диалог - просьба отписать здесь.

askold: ММК пишет: Вот сайт сделанный таким образом www.modharbour.org Выберите пунк Образцы. Там примеры ... Спасибо, вечером гляну что там есть!

MIKHAIL: askold пишет: Мне по факту нужен человек который разбирается в синтаксисе клипера Много доки на русском по синтаксису, все функции и классы описаны ММК пишет: Есть mod_harbour. Бесплатный. Работает с ads, dbf, sql На сколько я понял нужно как то апач хакнуть. Вы такое уже собирали у себя ? Где посмотреть как его настроить ?

ММК: MIKHAIL пишет: На сколько я понял нужно как то апач хакнуть. Вы такое уже собирали у себя ? Где посмотреть как его настроить ? Апач хакнуть? Не знаю .. У меня винда 10 на 64. Поставил Сервер Apache24 ( например вот так http://forums.fivetechsupport.com/viewtopic.php?f=45&t=39149&sid=60a98f6f6cf9409f95f6162e0d3b1bd7 ) , забросил туда файлы МодХарбура и примеры( как в инструкции) . ну и все . Для меня проблема в другом-не знаю вэб. Или учить или кто-то знающий рядом должен быть. Вот форум, там странички четыре. Т.е. есть при желании можно посмотреть и что ставить и как http://forums.fivetechsupport.com/viewforum.php?f=45 PS Поправил линк

Haz: askold пишет: кто может выйти на конструктивный и взрослый диалог - просьба отписать здесь В общем ни конструктивного ни взрослого диалога не состоялось. Аскольд ( он же Андрей вроде как, но попрошу не путать с нашим коллегой поифоруму, тут другой чел с киберфорума.) Видимо совет Михаила почитать доки, - самый действенный. 👍👍

askold: UP! Всех еще раз приветствую, да советы покурить мануалы были действенны, но не на 100%. Тут отписывался человек, которой попросил ему в личку отписать, он вроде готов был помочь - не могу найти коммент его... !По факту, нужна будет помощь для расшифровки того синтаксиса который я не осилю и формул, проект большой - все будет оплачиваться, еще раз повторюсь: кто может помочь с этим и серьезно подойти к делу - просьба отписаться. Будьте готовы к разговору. п.с. Всем без исключения, спасибо за советы!

PSP: askold пишет: По факту, нужна будет помощь для расшифровки того синтаксиса который я не осилю и формул, проект большой Вы начните выкладывать здесь ваши вопросы. Глядишь, процесс быстрее пойдет.

Dima: askold Комент его как раз над вашей месагой , там жмем кнопку ЛС (личное сообщение) и пишем ему

Новичок: Прога маленькая, на коленках сделана. Чел задал конкретный вопрос, а вы дискуссии развели У кого есть время просто киньте ему Блок-схему проги, он сам с нуля за день нарисует Я бы помог, но у себя завал...

Haz: Новичок пишет: Чел задал конкретный вопрос, от чела как раз конкретику просили и помощь предлагали. Я даже с ним договорился по вацапу, что отвечу на любые вопросы . И тут чел исчез, надеюсь сам разобрался. Новичок пишет: Я бы помог, но у себя завал... а у других ломка от скуки и безделья ? Могу его телефон скинуть , чтоб было куда блок схему высылать.

rvu: Тема плавно переходит в юмор. Какая блок-схема? Там, помнится, надо было формулы восстанавливать по тексту программы.

PSP: Новичок пишет: Прога маленькая, на коленках сделана. Чел задал конкретный вопрос, а вы дискуссии развели У кого есть время просто киньте ему Блок-схему проги, он сам с нуля за день нарисует Я бы помог, но у себя завал... Думаешь, он с сентября 2020 тебя ждёт?)))

Dima: Парни да забейте , Новичок - провокатор.



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