Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 27, 2012 16:05:29

MantisABC
Зарегистрирован: 2012-04-04
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

FoxPro перегнать в Dabo или Django/БД или что?

Здравствуйте, уважаемые !

в 2-х словах - надо отконвертировать FoxPro приложение в работающее Python приложение.
================================================================

на работе я вынужден сопровождать глючное создание неизвестных программистов ( без мемуаров, как все гениальное) на FoxPro 6, и рад бы от него избавиться. Хочу отконвертировать в Python (как-то, а как не знаю)
( а на питоне я рад разбираться даже с глюками :-) , вообще после Delphi/Паскаля/JS питон очень нравится - хорошо как-то)

Получается надо учить FoxPro (чтобы понять, хоть логику программы), а зачем мне эти древности ?

другой вариант, нашел, что Dabo (Python) создавали как раз как замену FoxPro. Обрадовался. Читаю документацию - нигде не написано как же взять проект из родного FoxPro да и в Dabo преобразовать.
Мало того, Dabo оказывается не жует *.prg и *.dbf

нашел конечно кучу конвертаторов БД туда-сюда, так что dbf в SQLite, MySQL, PostgreSQL думаю как-нибудь отконвертирую. Но сами программы на Фокспро как ? ( не зная Фокспро).

Может быть даже можно сделать что-то на Django + БД, ( Django я на уровне новичка знаю, пару сайтов ( без БД ) делал ), язык SQL тоже знаю ( MS Access + MS SQL ), надеюсь разберусь с SQLite/MySQL/PostgreSQL
- однако как быть с логикой ???

Офлайн

#2 Апрель 27, 2012 16:29:33

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

FoxPro перегнать в Dabo или Django/БД или что?

Dabo - всего лишь фреймворк для авто-создания интерфейсов по БД на базе тулкита wxPython. То, что они пишут, что это замена FoxPro - не врут, но они не пишут, что умеют гонять код туда-сюда.
По-хорошему, вам придется разобраться, как работает система на FoxPro и сделать следующее:

1) Мигрировать данные из FoxPro во что-то другое (sqlite3, например, подойдет лучше всего, ведь FoxPro, насколько я помню локальная, и concurrency там не требуется)
2) Мигрировать логику на Python. Dabo сделат за вас кусок работы по “стандартным” БД-клиент решениям (типа создать интерфейсы для добавления/редактирования записей). Логику придется делать все-равно самому.



Офлайн

#3 Апрель 27, 2012 16:59:04

MantisABC
Зарегистрирован: 2012-04-04
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

FoxPro перегнать в Dabo или Django/БД или что?

спасибо. А FoxPro то “локальная”, однако она у нас хитро работает с сервером. ( пользователей где-то 200 )
*.dbf - ки на файл-сервере валяются, и все пользователи туда обращаются и пишут-читают. Блокировки фактически нет, просто каждый отдельный компьютер имеет свой идентификатор в определенном поле определенной *.dbf, и горе тем, у кого один и тот же идентификатор - их данные то пропадают, то меняются ( что естественно, но очень безобразно ! :-) ) ( тот же идентификатор у тех, кто должен типа “только читать”, но они этого не знают, и пишут, а я отследить “кто” не могу, могу только постепенно обходить с ревизией всю ораву, хорошо еще что вообще нашли этот глюк недавно, а то совсем непонятно было :-( )

Ну что ж. буду думать, и читать книгу по FoxPro :-( вместо 4-го издания Лутца :-)

“по трешке, хоть это и унизительно для коллектива” (с) Жванецкий

Отредактировано MantisABC (Апрель 27, 2012 16:59:58)

Офлайн

#4 Апрель 27, 2012 17:33:28

beelze
Зарегистрирован: 2012-04-11
Сообщения: 104
Репутация: +  3  -
Профиль   Отправить e-mail  

FoxPro перегнать в Dabo или Django/БД или что?

когда-то в 90-х работал на foxpro. там все емнип проще пареной репы и перегнать данные в другую СУБД проблем не составит. Вопрос главный насколько я понимаю, в другом - логика программы должна быть изменена в соответствии с «правильными понятиями» - и соответственно, модель данных. Как бы не пришлось задачу решать полностью заново, просто импортировав (и преобразовав под новую логику) в нее данные из фокспро

Офлайн

#5 Апрель 27, 2012 17:41:57

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

FoxPro перегнать в Dabo или Django/БД или что?

beelze
Вопрос главный насколько я понимаю, в другом - логика программы должна быть изменена в соответствии с «правильными понятиями» - и соответственно, модель данных. Как бы не пришлось задачу решать полностью заново, просто импортировав (и преобразовав под новую логику) в нее данные из фокспро
Тут, ИМХО, все зависит от опыта человека, а также нельзя отрицать тот факт, что свое, хоть и страшное, поддерживать (а со временем рефакторить) легче, чем продукт 20-летней давности без доков.



Офлайн

#6 Апрель 27, 2012 18:20:19

beelze
Зарегистрирован: 2012-04-11
Сообщения: 104
Репутация: +  3  -
Профиль   Отправить e-mail  

FoxPro перегнать в Dabo или Django/БД или что?

«постепенно рефакторить» - как правило более времязатратно, нежели чем единожды правильно поставить и решить задачу… так что на вопрос «однако как быть с логикой ???» можно ответить только так - сформулировать ТЗ и реализовать. Тем более фокс, как наследник dbase, имеет весьма отличающийся от пайтона язык и, как следствие, совершенно иную логику не только в части, обусловленной моделью данных. Резюме: пытаться «использовать что-то имеющееся из фокспро» - не имеет смысла.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version