powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
108 сообщений из 108, показаны все 5 страниц
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39310008
Сторож
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39310079
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сторож,

Пишут, а вы с какой целью интересуетесь?
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39310096
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulWist...Пишут, а вы с какой целью интересуетесь?
+1
Интересно, что автор ответит на этот простой вопрос...
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39310612
Сторож
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Ch+1
Интересно, что автор ответит на этот простой вопрос...
А я думал я один такой остался, который пишет на давно уставревшем Visual Foxpro.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39310641
Sergej_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот сел переписывать на VFP9 радикально обновленные версии нескольких старых 10-15 летних проектов, еще писаные на 6 версии. Один из проектов заодно на mssql базе перевел. Проекты небольшие, но юзеры их юзают и еще просят.

Внезапно обнаружил (уже отошел от дел), что mssql по сравнению с началом века клонировался в неприличное кол-во версий, которые:
1) весят охулинарды мегабайт (я про Express+Management Studio)
2) нет версии Express, которая бы ставилась бы на ОС от XP до 10. Во времена msde2000 жить было проще.
3) базу от 2000 хер подключишь к серверу 2012. Даже для того, чтобы ее переконвертировать, не говоря уже про то, что удобно было бы если сервер 2012,14 работал с ней в режиме 2000.

В общем, задумался над переводом баз с mssql на firebird3. Тем более, что там ebmedded сервер есть - полноценная однопользовательская версия сервера. В отличии от кастрированного Compact Edition для MSSQL. Для продаж по инету - самое то. Нужен норм. сервер - подключил тот же самый файл БД к серваку, изменил строку подключения - и готово. Конечно, тут вроде вместо VFP напрашивается Lazarus, но до него руки точно не скоро дойдут.

P.S. Пишу, не могу оторваться, ностальжи, епта, сердце радуется.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39310669
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergej_S...2) нет версии Express, которая бы ставилась бы на ОС от XP до 10. Во времена msde2000 жить было проще...
А "SQL Server 2014 Express LocalDB" не подходит для Ваших проектов? click
А для XP надо просто брать предыдущие версии MS SQL Server express... MS закрыл полностью XP...
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39310710
Фотография бухалтер фантоцци
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень нравится скоростью, компактностью и переносимостью на флешке (3 dll общим размером 6Мб плюс exe-файл программы).
Не нравится отсутствием полноценной поддержки UTF-8 - это для меня единственная причина, почему стал понемногу забывать FoxPro
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39310720
JVF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бухалтер фантоцциОчень нравится скоростью, компактностью и переносимостью на флешке (3 dll общим размером 6Мб плюс exe-файл программы).это много. на дот нете еще нужно постараться столько "настругать".
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39310866
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergej_Sполноценная однопользовательская версия сервера.
Это фокс и есть. Зачем фоксу еще одна однопользовательская СУБД, если он сам СУБД? В этом режиме все летает. Внешние СУБД нужны когда базы большие и много юзеров, тут файл-сервер не справляется.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39310967
alextashk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TSergej_Sполноценная однопользовательская версия сервера.
Это фокс и есть. Зачем фоксу еще одна однопользовательская СУБД, если он сам СУБД? В этом режиме все летает. Внешние СУБД нужны когда базы большие и много юзеров, тут файл-сервер не справляется.

Ну так Sergej_S и намекает на лёгкую масштабируемость проекта, если изначально использовать embeded-SQL базу
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39311254
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JVFбухалтер фантоцциОчень нравится скоростью, компактностью и переносимостью на флешке (3 dll общим размером 6Мб плюс exe-файл программы).это много. на дот нете еще нужно постараться столько "настругать".

а ты сам .NET посчитай ;)
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39311258
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JVFбухалтер фантоцциОчень нравится скоростью, компактностью и переносимостью на флешке (3 dll общим размером 6Мб плюс exe-файл программы).это много. на дот нете еще нужно постараться столько "настругать".
Несложно. Например использовал EntityFramework.dll и получи 5 Мб плюсом.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39315032
Sergej_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergej_S2) нет версии Express, которая бы ставилась бы на ОС от XP до 10. Во времена msde2000 жить было проще.

был не прав, mssql 2008 R2 Express ставится от ХР до Win10. Правда на Win10 и появляется уведомление о том, что mssql 2008 для нее старая, но вроде работает.


Dima TSergej_Sполноценная однопользовательская версия сервера.
Это фокс и есть. Зачем фоксу еще одна однопользовательская СУБД, если он сам СУБД? В этом режиме все летает. Внешние СУБД нужны когда базы большие и много юзеров, тут файл-сервер не справляется.
Это -да, не спорю. Просто хочется как можно менее напряжной масштабируемости (старшие товарищи говорят, что фоксовские базы в многопользовательском по сетке периодически ломаются).
Наверное, как сказал Sergey Ch, LocalDB с возможностью перехода на многопользовательский Express и вплоть до Azure - довольно неплохой вариант. Жаль, что LocalDB не ставится на ХР.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39319310
Курсант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TВнешние СУБД нужны когда базы большие и много юзеров, тут файл-сервер не справляется.
У нас базы большие, в сети много пользователей и фокс справляется вот уже 15 лет.
У тебя не справляется? Может у тебя руки кривые?
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39327263
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СторожVisual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?по-моему программа налогоплательщик (бесплатная) написана (плюс частые обновления, то есть продолжают поддерживать) на нём
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39327454
Фотография бухалтер фантоцци
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для желающих поднимать темы про будущее FoxPro

FoxPro - уникальный инструмент (изрядно подпорченный MS).

Не нужно здесь сообщать свои безумные мысли.

Если хотите, так сложилось. Не исключены периодические инкарнации,
Идея и подходящий способ её реализации доступны немногим, кого вы привыкли по фильмам называть "избранными".
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39344759
Vik_Fix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
бухалтер фантоцциFoxPro - уникальный инструмент (изрядно подпорченный MS).
Совершенно согласен, а так же для тех кто говорит, что FoxPro устарел: Как может инструмент устареть? от того что он давно не обновляется, разве стал хуже работать? (по аналогии так можно сказать, что молоток сделанный в 1981г. хуже забивает гвозди, чем современный) и не надо сравнивать с не файл серверными базами (единственное с чем можно сравнить это с MS access).
Для полноты, я и сейчас разрабатываю новые приложения на Foxpro, хоть и стремлюсь к связке Firebird + .Net (Mono) или Firebird + Python + Qt т.к. необходима работа в linux.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39345344
Boban5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vik_Fix Как может инструмент устареть? от того что он давно не обновляется, разве стал хуже работать?
Время вокруг необновляемого инструмента может уйти вперед. Вместе с запросами клиентов.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39345355
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vik_FixКак может инструмент устареть? от того что он давно не обновляется, разве стал хуже работать? (по аналогии так можно сказать, что молоток сделанный в 1981г. хуже забивает гвозди, чем современный) и не надо сравнивать с не файл серверными базами (единственное с чем можно сравнить это с MS access).
Клиент-сервер вполне нормально реализован в фоксе. Связка фокс+MSSQL отлично работает. Проблемы с другим:
Например кодировка UTF-8 стала практически стандартом. Можно конечно перекодировать через strconv(), но с поддержкой нескольких языков возникнут сложности.
Нет поддержки многопоточности, что усложняет например асинхронные запросы к вэбсервисам. Это тоже решаемо, например написать на С++ и вызывать из DLL.
Но эти костыли не делают фокс современным средством разработки, в этом и есть причина устаревания.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39345405
Vik_Fix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Dima T]Vik_FixПроблемы с другим:
Например кодировка UTF-8 стала практически стандартом. Можно конечно перекодировать через strconv(), но с поддержкой нескольких языков возникнут сложности.
Нет поддержки многопоточности, что усложняет например асинхронные запросы к вэбсервисам. Это тоже решаемо, например написать на С++ и вызывать из DLL.

Не спорю, везде есть свои плюсы и минусы, к примеру в Python так же многопоточности нет. Я немного о другом, больше чем уверен, что большинство тех кто кричит о старости Foxpro имеют ввиду именно его не обновляемость. И если у них спросить, чего им не хватает в Фоксе, то сомневаюсь, что ответ будет вменяем. Для меня в основном проблема это UTF-8, с одним потоком еще можно смериться (мне правда не для ВЭБа нужен, а для фоновых операций), но тоже не всегда.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39353814
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не смог удержаться!
Пришлось ковырять одну "государственную" APPшку... Тупо листаю и тут глаз поранился о такое:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
SELECT 2
SET FILTER TO d_vvod = d_e1 .AND. (add_del = 8 .OR. add_del = 9)
GOTO TOP
DO WHILE .NOT. EOF()
     SELECT 2
     DELETE
     SKIP
ENDDO
SELECT 2
SET FILTER TO d_vvod = d_e1 .AND. add_del = 0
GOTO TOP
DO WHILE .NOT. EOF()
     rnn_rec = RECNO()
     rnn_recd = 0
     k_d = 0
     k_96 = 0
     k_empty = k_empty + 1
     rtip_err = 6
     DO add_err
     SELECT 2
     SKIP
ENDDO


Ну разве виною этому ЧУДУ есть "устаревание" Фокса?
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39353842
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХУ это чудо в фокс перекочевало из FoxBase. Если не путаю там не было ни SCAN ни DELETE FOR

Такую древность можно в музее выставлять
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39354042
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не-а... Начало разработки - примерно середина 1995-го и сразу в FPD 2.6!
Просто люди так и остались жить в dBase и FoxBase.
Я работал в этой структуре, когда начиналось внедрение...
С тех пор и до сегодня ни шагу вперед, перспективы пока нулевые!
На самом деле эта тема кормит целую ораву "секретчиков", которые никого к системе не подпускают! При том, что базы давно гуляют везде и всюду...
P.S. В 2002-ом люди такого же уровня перевели другую систему с FPD 2.6 на VFP 7.0 - появились окошки, совсем чуть-чуть GRID'ов. А внутри - цикл на цикле и циклом погоняет! Так продолжалось до 2013...
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39360363
BestiA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давным давно, когда трава была зеленее, а трендюли - слаще, писал ещё будучи студентом программки для одной фирмочки (ныне - покойной) специфические программки... Программки дорабатывались дополнялись, потом со временем, некоторые из них были переписаны уже под VFP9... В общем, некоторые из них до сих пор в работе.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39375253
СергV70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мы уже более 15 лет эксплуатируем самописную Информационную систему в клиент-серверной технологии (VFP+MS SQL). За это время exe-модуль основной программы вырос до версии 9.0 и 60 Мб. Проект содержит более 2500 объектов (формы, отчеты, программы, меню, библиотеки). Размер управляемой БД более 700 Гб. Возвращаясь на 15 лет назад к этапу выбора программных продуктов для разработки ИС, могу с уверенностью сказать, что мы сделали оптимальный выбор. Огромные возможности при минимальных затратах на программирование. В подтверждение моих слов предлагаю вам заценить модуль, используемый практически во всех формах, на которых есть гриды. Использование данного модуля позволило снизить нагрузку с сервера и перенести ее часть на локальные машины. Подключение поискового модуля к колонке любого грида на форме мы обычно делаем на событии dblClick объекта Header колонки командой ThisForm.SmartFilter1.Launch().
Прицепить описание работы модуля из-за его объема не удалось
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376363
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СторожVisual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
Не на самом Визуал ФокПро, но с использованием рантайм библиотеки vfp9t.dll / vfp9r.dll в связке с С++ проектом.

Главная мысль, FoxPro, начиная с ДОС-овской версии 2.6а (и ранее) и заканчивая графической версией 9.0 (под «Форточки») всегда был чрезвычайно хорош на уровне движка базы данных и весьма и весьма посредственен в части графического интерфейса. ДОС-овская версия была обманута Мелкософтом, который требовал использования графических функций приложения только через БИОС. Фирма Fox (тогда еще независимая от M$) попалась на эту удочку и проиграла. Приложения, которые писали непосредственно в графическую видеопамять, выиграли куда более. Достаточно вспомнить такой продукт, как ДОС-овсий Автокад, версии 10 и 11.

Плохая карма не позволила, по-видимому, VFP, уже под Windows, обрести полноценный интерфейс. Достаточно вспомнить «Парус», учетную систему, а-ля «1С77», написанную полностью на Visual FoxPro. По-моему, «семерка» и ныне куда более популярна, чем «Парус». И это притом, что «Парус» полностью декомпилируется на уровне исходных кодов VFP. Но кому он, однако, нужен?

Зато движок VFP великолепен! Легкий, шустрый, эффективный, мощный, просто сказка. И весит всего несколько мегабайт. Цепляй его к своему клиенту, написанному на С++ с фреймворками (wxWidgets или Qt) и будет тебе счастье.

Единственная загвоздка, не умеет народ правильно использовать runtime библиотеки VFP. Самые продвинутые создают COM-сервер средствами VFP, посредством которого получают доступ из клиента, например, на С++ к рантайму VFP. А затем применяют вариантные массивы для обмена данными в памяти между процессами С++ и VFP (не считая обмен через файлы). Спрашивается, а зачем нужна обёрточная dll, если vfp9t.dll / vfp9r.dll сами являются, официально, COM-серверами?

А ответ прост, как стандартные COM-сервера vfp9t.dll / vfp9r.dll использовать невозможно. По крайней мере, Интернет на эту тему молчит как рыба об лёд. По-моему, там стоит или имитация / заглушка на вход как стандартный COM-сервер или задействуются «секретные» GUID'ы. Однако кроме ненастоящего, сувенирного КОМ-входа в рантайм библиотеках VFP используется несколько реальных нестандартных входов.

Первый нестандартный вход обеспечивает функция DllWinMain. Она в качестве первого параметра использует имя файла с объектным кодом VFP (т.е. app, fxp или exe-файлы). Второй параметр это флаг отображения, типа SW_SHOWDEFAULT. Для t-версии, может принимать любое значение, т.к., в мультитредовой версии рантайма графика практически не отображается (если не считать MESSAGEBOX'а). Это самый крутой способ, который позволяет перевести VFP в состояние простого сервера (безо всяких КОМов, реестров и гуидов) и общаться с ним из С++ по любому протоколу. Например, runtime VFP можно задействовать как in-proc сервер по протоколу DDE, который может быть эффективнее любого СОМ'овского маршалинга при двустороннем обмене данными. Если не нравиться DDE, например, по «религиозным» причинам, можно использовать любой другой способ межпроцессного взаимодействия. Достаточно просто иметь в виду, что VFP поддерживает WinAPI.

Второй нестандартный вход, это пара функций DllOleInit / VFPDllGetClassObject. Первая просто делает ОЛЕ-инициализацию, а вторая (аналог стандартной функции DllGetClassObject) позволяет получить нужный указатель, скармливая ей в качестве CLASID'a гуид обёрточной КОМ-dll'ки, а в качестве IID'а гуид стандартного интерфейса фабрики классов (либо IUnknown). При этом VFPDllGetClassObject обрабатывает объектный модуль VFP обёрточной dll'ки, может быть даже по аналогии с функцией DllWinMain. Хотя, не исключено, что использует «секретные» гуиды и стандартную КОМ-овскую технологию. Этот метод тяжело применять без обёрточной dll'ки, поскольку, информации по его использованию недостаточно. Проще уж задействовать «обёртку» и не париться.

Третий нестандартный вход дает Static data OCXAPIInit:: . Однако информации по этому поводу нигде нет, а разбираться самому влом. Скорее всего, это как-то задействует технологию ActiveX.

Меня лично привлекает первый вариант, где графика, в т.ч. грид (в виртуальном режиме) берется из wxWidgets (хотя можно и Qt). При этом навигация и модификация по dbf-файлам осуществляется непосредственно средствами С++ с использованием MMF (Memory Mapped Files) технологии. У меня на эту тему есть даже статья на моем сайте и на codeproject.com. А runtime VFP я собираюсь использовать для построения индексов, поиска, выборки данных (select sql) и т.п. Приложение обещает быть интересным, тем более, что его можно, по технологии внешних компонент внедрить в 1С («семерку» или «восьмерку»).
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376375
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery, ИМХУ в скрещивании ужей с ежами ты достиг небывалых высот. Есть SQLite, он заточен как раз на то что ты делаешь. VFP не заточен, отсюда все описанные тобой проблемы.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376379
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TEmery, ИМХУ в скрещивании ужей с ежами ты достиг небывалых высот. Есть SQLite, он заточен как раз на то что ты делаешь. VFP не заточен, отсюда все описанные тобой проблемы.
Позвольте с вами не согласиться! «VFP заточен», только нужной информации вы нигде не найдете. Поэтому я и поделился кратко своими соображениями. SQLite ничуть не лучше Visual FoxPro, иначе мы бы спорили в ветке по SQLite.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376392
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emery«VFP заточен», только нужной информации вы нигде не найдете.
ИМХУ VFP вещь в себе, т.е. замкнутая самодостаточная среда. Именно этим он хорош. То что к нему можно обратиться через COM это побочный эффект заложенный МС, они везде COM внедряли, 99% разработчиков на фоксе даже не знают об этом, т.к. это ненужные знания. Фишка фокса в том что прога на фоксе запустится после простого копирования, а COM-сервер надо регистрировать под админом.

То что ты находишь то что никто никогда не искал - похвально, молодец что нашел, но я бы посоветовал забыть и забить, т.к. тут ничего не отлажено, потому что никто так не использует фокс, можешь запросто наступить на грабли, которые никто никогда уже не исправит, увы.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376407
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryТретий нестандартный вход дает Static data OCXAPIInit:: . Однако информации по этому поводу нигде нет, а разбираться самому влом. Скорее всего, это как-то задействует технологию ActiveX.Поможем ...
В архиве idl, содержащие данные об интерфейсах предоставляемых VFP9.

Проще всего /без всяких извратов/ их можно использовать в 1С 7.7 или 1С 8.x.
Также выбирайте на вкус: VB, C# ... /и в том же духе/.

Имеется ли у вас документация с описание COM интерфейсов /типа документации к примеру объектной модели Excel для VBA/?
Мне любопытно было бы попробовать поработать с VFP9 с использованием OLE.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376423
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Имеется ли у вас документация с описание COM интерфейсов /типа документации к примеру объектной модели Excel для VBA/?В dv_foxhelp.chm много чего полезного /как с C++ работать с VFP и использовании ActiveX/
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376431
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012В dv_foxhelp.chm много чего полезного /как с C++ работать с VFP и использовании ActiveX/"Чего тут думать? Прыгать надо"

Код: sql
1.
2.
3.
4.
5.
 гл_oVFP9 = СоздатьОбъект( "VisualFoxPro.Application" );
	     
 VpName     = гл_oVFP9.Name;                                // Returns the application object's name.
 VpFullName = гл_oVFP9.FullName;                            // Returns the application object's full name.
 VpVersion  = гл_oVFP9.Version;                             // Returns the version of the automation server



Работает!
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376442
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
  гл_oVFP9 = СоздатьОбъект( "VisualFoxPro.Application" );
	     
  VpName     = гл_oVFP9.Name;                                // Returns the application object's name.
  VpFullName = гл_oVFP9.FullName;                            // Returns the application object's full name.
  VpVersion  = гл_oVFP9.Version;                             // Returns the version of the automation server

  гл_oVFP9.Visible = 1;                                      // Если желаем лицезреть main window VFP 
  гл_oVFP9.Caption = "Привет от 1С";                         // Меняем заголовок main window VFP 

  гл_oVFP9.DefaultFilePath = C:\Temp VFP\";                  // Устанавливаем default directory for VP  
  
  гл_oVFP9.StatusBar       =                                 // Выводим в статус бар main window VFP 
   "Дата и текущее время " + ТекущаяДата() + " " + 
                             ТекущееВремя();
                             "
  гл_oVFP9.DoCmd = "USE  Example.dbf";                       // Открываем таблицу
  
  гл_oVFP9.Quit();                                           // Закрываем VFP



PS: "Чем мог, тем помог"
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376456
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рабочий код
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 гл_oVFP9 = СоздатьОбъект( "VisualFoxPro.Application" );
	     
  VpName     = гл_oVFP9.Name;                                // Returns the application object's name.
  VpFullName = гл_oVFP9.FullName;                            // Returns the application object's full name.
  VpVersion  = гл_oVFP9.Version;                             // Returns the version of the automation server

  гл_oVFP9.Visible = 1;                                      // Если желаем лицезреть main window VFP 
  гл_oVFP9.Caption = "Привет от 1С";                         // Меняем заголовок main window VFP 

  гл_oVFP9.DefaultFilePath = "C:\temp";                      // Устанавливаем default directory for VP  
  
  гл_oVFP9.StatusBar       =                                 // Выводим в статус бар main window VFP 
   "Дата и текущее время " + ТекущаяДата() + " " + 
                             ТекущееВремя();

  гл_oVFP9.DoCmd(                                            // Открываем таблицу
   "USE examples.dbf"
  );
  
  гл_oVFP9.Quit();                                           // Закрываем VFP
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376518
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TИМХУ VFP вещь в себе, т.е. замкнутая самодостаточная среда. Именно этим он хорош.
Как известно, политика M$ состоит в том, что ни один их продукт не должен быть по настоящему «самодостаточен». По принципу Гоголя: «Вот если бы нос взять от Ивана Петровича, уши от Петра Спиридоновича, глаза от Кондратия Дорминдонтовича, то глядишь и жених был бы что надо». При использовании любой программы от Мелкософта, всегда остается впечатления, что ей для полного счастья не хватает чуть-чуть чего-то еще. В данном случае, для самодостаточности, у VFP маловато графических возможностей. Слишком уж убога его графика по современным меркам. Пример «Паруса» в этом смысле более чем показателен. Зато возможности движка VFP исключительно хороши. Видимо, используемая там технология Rushmore действительно стоящая.

Dima TТо что к нему можно обратиться через COM это побочный эффект заложенный МС, они везде COM внедряли, 99% разработчиков на фоксе даже не знают об этом, т.к. это ненужные знания. Фишка фокса в том что прога на фоксе запустится после простого копирования, а COM-сервер надо регистрировать под админом.
Естественно, если ограничиваться только средой VFP, то КОМ не нужен. Но если применять ФоксПро в связке с другой программой, предоставляющий нормальный интерфейс (тот же C++ с wxWidgets / Qt и много чего еще), то нужны средства доступа к нему. Для этого официально можно использовать только COM и OLE (посредством истинно КОМовской обёрточной dll, генерируемой средой VFP или саму программу vfp9.exe с опцией /automation либо /regserver). Можно еще задействовать ехе-шник, генерируемый VFP для запуска как внешнее приложение в другой программе. Именно так у меня работает учет зарплаты на 1C77. Из «семерки» вызывается внешнее приложение VFP, которая работает с 1С как с DDE-сервером. А то, что для этого нужно регистрироваться под админом нет никакой проблемы. Я сам админ, поэтому лично меня это совершенно не ограничивает. Другое дело, что COM / OLE / ActiveX слишком изощренная технология и нужна скорее такому монстру как M$, чем простому программисту. Зачем мне использовать окружной путь GUID или ProgId / Реестр / exe или dll, если кроме моей программы никто с КОМ-серверами работать не будет? Мне проще использовать dll-ку непосредственно, статически прилинкованную к моему проекту. Для vfp9t.dll / vfp9r.dll для этих целей удобно использовать не документируемую функцию DllWinMain, что я и делаю.

Dima TТо что ты находишь то что никто никогда не искал - похвально, молодец что нашел, но я бы посоветовал забыть и забить, т.к. тут ничего не отлажено, потому что никто так не использует фокс, можешь запросто наступить на грабли, которые никто никогда уже не исправит, увы.
На самом деле эту информацию искали многие, но мало кто находил. Я знаю только один открытый источник по примеру использования DllWinMain на каком-то японском или китайском сайте. Мне это было известно еще за два года до них. Многие задавали вопросы на форумах, но не находили удовлетворительных ответов. Я до недавнего времени делал акцент на DllOleInit / VFPDllGetClassObject, в крайнем случае, легкую обёртку для них, пока не пришел к выводу, что если использовать VFP как простой сервер, который можно получить через DllWinMain(SomeObjectVFPFile, SW_HIDE), то смогу решить все свои проблемы. Здесь SomeObjectVFPFile это некоторый app / fxp / exe файл, который переводит VFP в состояние простого DDE-сервера. Также можно использовать VFP для связи через порты, сокеты и т.п., что угодно, на любой вкус. Однако DDE это самый эффективный способ для организации двустороннего обмена данными.

Так что я не разделяю твой пессимизм. Мне этот путь нравиться и я попытаюсь довести свою программу до ума. Ну а будут или нет другие использовать рантаймные библиотеки ФоксПро, для меня не слишком актуально. Я ведь никому не навязываю свою мнение, просто делюсь информацией, которую сам долго искал.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376523
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Boban5Vik_Fix Как может инструмент устареть? от того что он давно не обновляется, разве стал хуже работать?
Время вокруг необновляемого инструмента может уйти вперед. Вместе с запросами клиентов.Это суждение "типичное" и оно часто многими высказывается по разным поводам для разных программных продуктов и операционных системам.

В чем же "анатомия" данного типа суждений.
А вот в чем.

Плохому танцору то левое яйцо мешает, то правое, то оба сразу.

В чем проблема прикрутить к VFP хоть QT, хоть .Net /.Net вообще не сложно прикрутить и использовать native код к примеру C# из VFP/ ...?

Ответ прост.
Яйца мешают.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376531
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryИз «семерки» вызывается внешнее приложение VFP, которая работает с 1С как с DDE-серверомDDE не использовал.
Просьба привести исходный код /или часть кода/ демонстрирующий использование DDE из 1С.

Гм.
Ностальжи.

Уже ранее рассказывал про свой подход при разработке проектов с использованием Foxpro.
Так вот 90% кода в проектах - код полученный программно на основе мета данных.
Надеюсь в 2017 в разрабатываемой мной технологической платформе этот код "оживет" /по крайней мере конвертацию диалоговых форм уже сделал .../.
Не забуду в платформе и VFP ... /позже расскажу о чем речь/.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376542
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryДругое дело, что COM / OLE / ActiveX слишком изощренная технология и нужна скорее такому монстру как M$, чем простому программисту. Вы уж извините за резкость суждений.
Многие говорят о том что они знают и понимают COM / OLE / ActiveX технологии, а на поверку - увы.
И как правило от незнания их рассказывают об супер сложности, запутанности, нецелесообразности ...

Ладно предположим на C++ действительно нужно месяца два "попотеть", чтобы разобраться как использовать COM / OLE / ActiveX, но
тот же VB /к примеру/ прекрасно прячет все премудрости /правда не на 100%/, которые нужно знать для того, чтобы разрабатывать к
примеру ActiveX.

Кому нужно тот использует и не придумывает "отмазки".
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376556
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryМне этот путь нравиться и я попытаюсь довести свою программу до ума. Ну а будут или нет другие использовать рантаймные библиотеки ФоксПро, для меня не слишком актуально. Я ведь никому не навязываю свою мнение, просто делюсь информацией, которую сам долго искал.Здесь вам респект.
Читал топики в которых вы объясняли как напрямую можно использовать dll-s VFP.
Просьба обновить ваши посты и поведать всем об новых ваших изысканиях ...
Просьба опубликовать примеры исходников демонстрирующих использование dll-s VFP /желательно с комментариями/.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376560
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryDima TИМХУ VFP вещь в себе, т.е. замкнутая самодостаточная среда. Именно этим он хорош.
Как известно, политика M$ состоит в том, что ни один их продукт не должен быть по настоящему «самодостаточен».
ИМХУ может МС похоронил фокс именно потому что не вписался он в эту общую концепцию.

EmeryВ данном случае, для самодостаточности, у VFP маловато графических возможностей. Слишком уж убога его графика по современным меркам.
Кому как. Мне хватает. Правда пришлось наваять ряд самодельных контролов для замены штатных (исключительно средствами фокса).
Наверно от решаемых задач зависит. В учете чего-нибудь дизайн не самое главное.

Невизуальная часть отлично расширяется написанием собственных DLL на С/С++ и использование их из фокса.

EmeryЕстественно, если ограничиваться только средой VFP, то КОМ не нужен. Но если применять ФоксПро в связке с другой программой, предоставляющий нормальный интерфейс (тот же C++ с wxWidgets / Qt и много чего еще), то нужны средства доступа к нему.
На фоксе можно СОМ-сервер написать
Код: sql
1.
DEFINE CLASS MyObject AS Custom OLEPUBLIC


и использовать его извне, из той же 1С
Код: sql
1.
 = СоздатьОбъект( "MyProg.MyObject" );


Как-то делал для связки 1С с софтом на фоксе. Как делать в книгах расписано, сложностей не возникло.

Если код на фоксе запускать не нужно, а только работа с данными в фоксовой БД, то есть VFPOLEDB .
EmeryА то, что для этого нужно регистрироваться под админом нет никакой проблемы. Я сам админ, поэтому лично меня это совершенно не ограничивает.
У меня админы чужие, поэтому иногда установка может превратиться в гимор с поиском админа. А так закинул папку с прогой, ярлык вытащил и все работает.
EmeryЗдесь SomeObjectVFPFile это некоторый app / fxp / exe файл, который переводит VFP в состояние простого DDE-сервера. Также можно использовать VFP для связи через порты, сокеты и т.п., что угодно, на любой вкус. Однако DDE это самый эффективный способ для организации двустороннего обмена данными.
DDE ни разу не использовал, а общаться с прогой на фоксе через порты, сокеты и т.п. можно просто запустив эту прогу. Можно обмен вынести в DLL. Вот мой пример через mailslot. Непонятно зачем тут усложнять прямой работой с vfp9t.dll / vfp9r.dll.

ИМХУ разобрался - молодец, но какой-то сложный у тебя путь получился.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376656
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"У Mocrosoft давно родилась елочка.
С ActiveX она росла.
И много, много радости программистам VFP она принесла!"

PS: С наступающим Рождеством Христовым!
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376752
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Поможем ...
В архиве idl, содержащие данные об интерфейсах предоставляемых VFP9.
Ну, эту и подобную информацию, например, оберточные классы vfp9t.h / vfp9t.cpp получить не проблема средствами Visual C++ v.6 и выше. Только к OCXAPIInit это не имеет никакого отношения.

Владимир2012Проще всего /без всяких извратов/ их можно использовать в 1С 7.7 или 1С 8.x.
Также выбирайте на вкус: VB, C# ... /и в том же духе/.
Я уже выбрал C++ with frameworks wxWidgets / Qt. Для меня этого более, чем достаточно.

Владимир2012Имеется ли у вас документация с описание COM интерфейсов /типа документации к примеру объектной модели Excel для VBA/?
Документации у меня нет, но генерируемой Visual C++ typelib информации vfp9.tlh / vfp9.tli (например, с помощью директивы #import "vfp9t.dll") либо оберточных классов vfp9t.h / vfp9t.cpp (MFC Class Wizard \ Add Class \ Import from Time Library \ vfp9t.dll \ OK) вполне достаточно.

Владимир2012Мне любопытно было бы попробовать поработать с VFP9 с использованием OLE.
Для этого регистрируем VFP OLE-сервер, командой vfp9.exe с опцией /automation либо /regserver. Затем, если мы хотим использовать С++, пишем программу:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
//======================================================================
// VfpOle.cpp : Defines the entry point for the application
//======================================================================

#include "StdAfx.h"

// Здесь можно оставить один заголовок
#include "vfp9.tlh"
#include "vfp9.h"


//======================================================================
// CheckHR()
//======================================================================
BOOL CheckHR(HRESULT hr) {
	if(FAILED(hr)) {
		_com_error er(hr);
		MessageBox(NULL, er.ErrorMessage(), _T("Error"), MB_OK);

		return FALSE;
	}

	return TRUE;
}  // CheckHR()

//======================================================================
// WinMain()
//======================================================================
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
	CoInitialize(NULL);

{  // Блок безопасности COM

	// Для #include "vfp9.tlh"

	Application Vfp9;

	if(!CheckHR(Vfp9.CreateDispatch(_T("VisualFoxpro.Application.9")))) {  // CLSCTX_LOCAL_SERVER
		return -1;
	}

	Vfp9.DoCmd(_T("SET SAFETY OFF"));
	Vfp9.DoCmd(_T("SET DATE GERMAN"));
	Vfp9.DoCmd(_T("SET CENTURY ON"));
	Vfp9.DoCmd(_T("CREATE TABLE D:\\MyDocs\\Emery1.dbf (Code N(5), Line C(50), CurDate D(10))"));
	Vfp9.DoCmd(_T("INSERT INTO Emery1 (Code, Line, CurDate) VALUES (2, 'Привет, Emery из Visual FoxPro!', DATE(2016, 12, 28))"));
	Vfp9.DoCmd(_T("INSERT INTO Emery1 (Code, Line, CurDate) VALUES (3, 'Как твои дела?', DATE(2017, 1, 1))"));
	Vfp9.DoCmd(_T("INSERT INTO Emery1 (Code, Line, CurDate) VALUES (1, 'С Новым 2017 годом!', DATE(2016, 12, 31))"));
	Vfp9.DoCmd(_T("SELECT * FROM Emery1 ORDER BY Code INTO TABLE D:\\MyDocs\\Emery2.dbf"));
	Vfp9.DoCmd(_T("CLOSE ALL"));

	Vfp9.Quit();

	// Для #include "vfp9.h"
	
	VisualFoxpro::ApplicationPtr pVfp9;	

	if(!CheckHR(pVfp9.CreateInstance(_T("VisualFoxpro.Application.9")))) {  // CLSCTX_LOCAL_SERVER
		return -1;
	}

	pVfp9->DoCmd(_T("SET SAFETY OFF"));
	pVfp9->DoCmd(_T("SET DATE GERMAN"));
	pVfp9->DoCmd(_T("SET CENTURY ON"));
	pVfp9->DoCmd(_T("USE D:\\MyDocs\\Emery1"));
	pVfp9->DoCmd(_T("SELECT * FROM Emery1 ORDER BY CurDate INTO TABLE D:\\MyDocs\\Emery3.dbf"));
	pVfp9->DoCmd(_T("CLOSE ALL"));

	pVfp9->Quit();

}  // Блок безопасности COM

	CoUninitialize();

	return 0;
}  // WinMain()

//======================================================================
//======================================================================


Причем это далеко не единственный вариант использования.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376755
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь представлены исходники примера.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376791
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryМожно еще задействовать ехе-шник, генерируемый VFP для запуска как внешнее приложение в другой программе. Именно так у меня работает учет зарплаты на 1C77. Из «семерки» вызывается внешнее приложение VFP, которая работает с 1С как с DDE-сервером.Вот этот момент не понятен.
Зачем их С++ вызывать собранный VFP exe если можно напрямую работать с использование интерфейсов предоставляемых VFP?

Все же повторю просьбу о публикации исходного текста с использованием DDE для обмена данными с VFP.

За пример работы из C++ по OLE с VFP - спасибо!
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376796
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012EmeryИз «семерки» вызывается внешнее приложение VFP, которая работает с 1С как с DDE-серверомDDE не использовал.
Просьба привести исходный код /или часть кода/ демонстрирующий использование DDE из 1С.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ
//******************************************************************************
// Выполнить()
//
// Параметры:
//
// Возвращаемое значение:
//
// Описание:
//
Процедура Выполнить()               
	Если МонопольныйРежим() = 1 Тогда
		Предупреждение("Для расчета данных необходимо выйти из монопольного режима!");
		Возврат;
	КонецЕсли;
	
	глНачВремя = _GetPerformanceCounter();

	q = Симв(34);
	qq = q+Симв(32)+q;	
	
	//----------------------------------------------------------------------------
	// Удедиться, что имеются необходимые исходные данные
	Если ПустоеЗначение(ГруппаТабелей) = 1 Тогда
		Если ПустоеЗначение(ПодрСотр) = 1 Тогда
		  Предупреждение("Неопределенно подразделение сотрудника!");
		  Возврат;
		КонецЕсли;
	КонецЕсли;
		    
	Если ПустоеЗначение(ОтчДата) = 1 Тогда
	  Предупреждение("Неопределенна отчетная дата!");
	  Возврат;
	КонецЕсли;       
		
	Если (ПустоеЗначение(ПолнКод) = 1) И (СохранятьРасчет = 1) Тогда
	  Предупреждение("Неопределен полный код группы для результатов расчета!");
	  Возврат;
	КонецЕсли;       
	
	Если ПустоеЗначение(глПланДней) = 1 Тогда
	  Предупреждение("Неопределенно количество плановых дней!");
	  Возврат;
	КонецЕсли;       
	
	Если ПустоеЗначение(глПланЧасов) = 1 Тогда
	  Предупреждение("Неопределенно количество плановых часов!");
	  Возврат;
	КонецЕсли;       
	
	//----------------------------------------------------------------------------
	// Провести расчет с помощью внешнего приложения VFP 7.0 LionUZP.exe
	СтрОтчДата = Формат(ОтчДата, "DDDMMYYYY");
	СтрПризнГруппы = СокрЛП(Строка(ГруппаТабелей.ЭтоГруппа()));
	
	Если ПустоеЗначение(ГруппаТабелей) = 0 Тогда
		Если СтрПризнГруппы = "1" Тогда  // Это группа
			КодГруппы = ГруппаТабелей.ПолныйКод();          
			PersId = "''";
			LgKatId = "''";
		Иначе  // Это конечный элемент                    
			КодГруппы = "''";
			PersId = _IdToStr(СокрЛП(Лев(Прав(ЗначениеВСтрокуВнутр(ГруппаТабелей.ПодрСотр.Владелец),11),9)));
			LgKatId = _IdToStr(СокрЛП(Лев(Прав(ЗначениеВСтрокуВнутр(ГруппаТабелей.ПодрСотр.ЛьготаКатегории),11),9)));
		КонецЕсли;                              
	Иначе
		КодГруппы = "''";
		PersId = _IdToStr(СокрЛП(Лев(Прав(ЗначениеВСтрокуВнутр(ПодрСотр.Владелец),11),9)));
		LgKatId = _IdToStr(СокрЛП(Лев(Прав(ЗначениеВСтрокуВнутр(ПодрСотр.ЛьготаКатегории),11),9)));
	                         
		//глПланЧасыСотр = глПолучитьПланЧасыСотр(ПодрСотр, ОтчДата, КонМесяца(ОтчДата));
  КонецЕсли;		

	//Сообщить(PersId);
	
	ЗапуститьПриложение(КаталогПрограммы()+"LionUZP.exe "+q+СтрОтчДата+qq+КодГруппы+qq+СтрПризнГруппы+qq+PersId+qq+LgKatId+qq+КаталогИБ()+q);
	
	Возврат;
КонецПроцедуры  // Выполнить()



Здесь LionUZP.exe это внешнее приложение на VisualFoxPro.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376811
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пример расчета по одному человеку.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376816
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот часть расчета по инициализации DDE в VFP:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
    && DDE КАНАЛ

    PUBLIC gn_DDEChanNum        && Номер DDE канала для обмена данными с "1С"
    gn_DDEChanNum = DDEINITIATE("1CV7", "DDE")

    PUBLIC gs_FullDescr1C
    PUBLIC gn_PlanDays1C
    PUBLIC gn_PlanHours1C
    PUBLIC gs_FullSaveGroupCode1C
    PUBLIC gs_SaveCalc1C
    PUBLIC gs_CalcProtocol1C
    PUBLIC gl_IsCalcZPInLog
    PUBLIC gn_KolZnOkrInRates
    PUBLIC gn_KolZnOkrInRBolnL
    PUBLIC gn_KolZnOkrInROtpusk
    PUBLIC gn_RazmOsnSocLg
    PUBLIC gn_WorkLifeMin
    PUBLIC gn_MinZarplata
    PUBLIC gn_MaxVwslLetZaGod
    PUBLIC gn_MaxVwslLetZaMes
    PUBLIC gn_MaxBaseSocNals
    PUBLIC gs_UchitObyazSborsForAliments
    PUBLIC gs_VklPochtSbNaAlimVSumAlim
    PUBLIC gs_CalcProfVznosInOtherPeriods
    PUBLIC gs_CalcBolnListByHours
    PUBLIC gs_IspolzTekMesForCalcBL
    PUBLIC gs_NotDaysBLNotSumma
    PUBLIC gs_UchitIndPlanWorks
*    PUBLIC gs_KoefIndSrednOtp
    PUBLIC gn_KoefIndSrednOtp
    PUBLIC gn_KoefIndSrednBL
    PUBLIC gd_MaxDateKoefIndOtp
    PUBLIC gd_MaxDateKoefIndBL
    PUBLIC gd_DateNachDeystvBL
    PUBLIC gd_DateNachDeystvOtp
    PUBLIC ARRAY gan_KoefIndSrednih[12]
    PUBLIC gn_PlanDays
    PUBLIC gn_PlanHours
    PUBLIC gn_WorkDays
    PUBLIC gn_WorkHours
    
    PUBLIC s_DateNachDeystvBL
    PUBLIC s_DateNachDeystvOtp
    
    PUBLIC _DayRate_
    _DayRate_ = 0

    IF gn_DDEChanNum > -1 
        gs_FullDescr1C = ALLTRIM(DDEREQUEST(gn_DDEChanNum, "глПолнНаим"))
        gn_PlanDays1C = VAL(DDEREQUEST(gn_DDEChanNum, "глПланДней"))
        gn_PlanHours1C = VAL(DDEREQUEST(gn_DDEChanNum, "глПланЧасов"))
        gs_FullSaveGroupCode1C = ALLTRIM(DDEREQUEST(gn_DDEChanNum, "глПолныйКод"))
        gs_SaveCalc1C = DDEREQUEST(gn_DDEChanNum, "глСохранятьРасчет")
        gs_CalcProtocol1C = DDEREQUEST(gn_DDEChanNum, "глПротоколРасчета")
        gl_IsCalcZPInLog = IIF(gs_CalcProtocol1C == "1", .T., .F.)        && Писать в файл протокола (LogFile)?    
        gn_KolZnOkrInRates = VAL(Get1CConst("КолЗнаковОкрВРасценках", gs_NachOtchPer))
        gn_KolZnOkrInRBolnL = VAL(Get1CConst("КолЗнаковОкрВСрДнБолЛ", gs_NachOtchPer))
        gn_KolZnOkrInROtpusk = VAL(Get1CConst("КолЗнаковОкрВСрДнОтпуск", gs_NachOtchPer))
        gn_RazmOsnSocLg = VAL(Get1CConst("РазмерОснСоцЛьг", gs_NachOtchPer))
        gn_WorkLifeMin = VAL(Get1CConst("ПрожитМинДляРабот", gs_NachOtchPer))
        gn_MinZarplata = VAL(Get1CConst("МинЗарплата", gs_NachOtchPer))
        gn_MaxVwslLetZaGod = VAL(Get1CConst("МаксВыслЛетЗаГод", gs_NachOtchPer))
        gn_MaxBaseSocNals = VAL(Get1CConst("МаксЗарплДляСоцНалогов", gs_NachOtchPer))
        gs_UchitObyazSborsForAliments = Get1CConst("УчитыватьОбязСборыДляАлим", gs_NachOtchPer)
        gs_VklPochtSbNaAlimVSumAlim = Get1CConst("ВключатьПочтСборНаАлимВСумАлим", gs_NachOtchPer)
        gs_CalcProfVznosInOtherPeriods = Get1CConst("СчитатьПрофВзносВДругихПериод", gs_NachOtchPer)
        gs_CalcBolnListByHours = Get1CConst("РасчетБольничныхПоЧасам", gs_NachOtchPer)
        gs_IspolzTekMesForCalcBL = Get1CConst("ИсполТекущМесДляРасчБЛ", gs_NachOtchPer)
        gs_NotDaysBLNotSumma = Get1CConst("НетДнейБЛНетСуммы", gs_NachOtchPer)
        gs_UchitIndPlanWorks = Get1CConst("УчитыватьПланЧасыПоИндГраф", gs_NachOtchPer)
        
*        gs_KoefIndSrednOtp = Get1CConst("КоэфИндРасчСреднихОтпуска", gs_NachOtchPer)
*        gn_KoefIndSrednOtp = VAL(gs_KoefIndSrednOtp)
        gn_KoefIndSrednOtp = VAL(Get1CConst("КоэфИндРасчСреднихОтпуска", gs_NachOtchPer))
        gn_KoefIndSrednBL = VAL(Get1CConst("КоэфИндРасчСреднихБЛ", gs_NachOtchPer))

        s_MaxDateKoefIndOtp = ALLTRIM(Get1CConst("МаксДатаДействКоэфИндОтп", gs_NachOtchPer))
        yyyy = VAL(RIGHT(s_MaxDateKoefIndOtp, 4))
        mm = VAL(SUBSTR(s_MaxDateKoefIndOtp, 4, 2))
        dd = VAL(LEFT(s_MaxDateKoefIndOtp, 2))
        gd_MaxDateKoefIndOtp = DATE(yyyy, mm, dd)

        s_MaxDateKoefIndBL = ALLTRIM(Get1CConst("МаксДатаДействКоэфИндБЛ", gs_NachOtchPer))
        yyyy = VAL(RIGHT(s_MaxDateKoefIndBL, 4))
        mm = VAL(SUBSTR(s_MaxDateKoefIndBL, 4, 2))
        dd = VAL(LEFT(s_MaxDateKoefIndBL, 2))
        gd_MaxDateKoefIndBL = DATE(yyyy, mm, dd)
        
        TRY
            s_DateNachDeystvBL = ALLTRIM(DDEREQUEST(gn_DDEChanNum, "глДатаНачДействияБЛ"))            
            yyyy = VAL(RIGHT(s_DateNachDeystvBL, 4))
            mm = VAL(SUBSTR(s_DateNachDeystvBL, 4, 2))
            dd = VAL(LEFT(s_DateNachDeystvBL, 2))
            gd_DateNachDeystvBL = DATE(yyyy, mm, dd)
        CATCH
            s_DateNachDeystvBL = "01.01.1900"
            gd_DateNachDeystvBL = DATE(1900, 1, 1)
        ENDTRY
        
        TRY
            s_DateNachDeystvOtp = ALLTRIM(DDEREQUEST(gn_DDEChanNum, "глДатаНачДействияОтп"))            
            yyyy = VAL(RIGHT(s_DateNachDeystvOtp, 4))
            mm = VAL(SUBSTR(s_DateNachDeystvOtp, 4, 2))
            dd = VAL(LEFT(s_DateNachDeystvOtp, 2))
            gd_DateNachDeystvOtp = DATE(yyyy, mm, dd)
        CATCH
            s_DateNachDeystvOtp = "01.01.1900"
            gd_DateNachDeystvOtp = DATE(1900, 1, 1)
        ENDTRY
    ELSE
        DO ErrorMessage WITH "Не могу открыть канал DDE для обмена данными!" IN Errors
    ENDIF

* MESSAGEBOX(s_DateNachDeystvBL)
* MESSAGEBOX(s_DateNachDeystvOtp)

    gn_KolZnOkrInRates = IIF(EMPTY(gn_KolZnOkrInRates), 5, gn_KolZnOkrInRates)
    gn_KolZnOkrInRBolnL = IIF(EMPTY(gn_KolZnOkrInRBolnL), gn_KolZnOkrInRates, gn_KolZnOkrInRBolnL)
    gn_KolZnOkrInROtpusk = IIF(EMPTY(gn_KolZnOkrInROtpusk), gn_KolZnOkrInRates, gn_KolZnOkrInROtpusk)
    gn_MaxVwslLetZaMes = ROUND(gn_MaxVwslLetZaGod/12, 2)
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376835
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryА вот часть расчета по инициализации DDE в VFP:Спасибо!
Получает задача "Учет труда и заработной платы" /моя любимая/ у вас разработана на VFP.
Когда ее разработал и внедрял в разного типа предприятий /разве, что рыбсовхозах ее небыло/.
Потом 1С подоспела, конкуренты ..., но users говорили, что на Foxpro все было на много удобней ...
Зачем тогда понадобилась с ней работать из 1С?
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376857
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012EmeryДругое дело, что COM / OLE / ActiveX слишком изощренная технология и нужна скорее такому монстру как M$, чем простому программисту.
Вы уж извините за резкость суждений.
Многие говорят о том что они знают и понимают COM / OLE / ActiveX технологии, а на поверку - увы.
И как правило от незнания их рассказывают об супер сложности, запутанности, нецелесообразности ...

Ладно предположим на C++ действительно нужно месяца два "попотеть", чтобы разобраться как использовать COM / OLE / ActiveX, но
тот же VB /к примеру/ прекрасно прячет все премудрости /правда не на 100%/, которые нужно знать для того, чтобы разрабатывать к
примеру ActiveX.

Кому нужно тот использует и не придумывает "отмазки".
Еще непонятно у кого больше заблуждений. Вот попробуйте дать определение COM / OLE / ActiveX в одном предложении, тогда и посмотрим.

Если использовать мастера в Visual C++, то сгенерировать рабочие примеры для этих технологий не составит никакого труда. С пониманием этого кода трудности будут у многих. Многие авторы толстых книжек по КОМ любят рассказывать, как устроено КОМ, но не любят объяснять, почему оно так устроено и какую конкретно пользу она дает простым программистам. Тем более что сам M$ сплошь и рядом применяет нестандартные вариации КОМ. В мире Линукс прекрасно обходятся без КОМ, используя вместо этого технологию CORBA.

Как по мне COM не намного лучше других подобных технологий, но иногда приходится пользоваться ею, чтобы достичь нужных целей. Если этих же целей можно достичь без COM, то тем лучше.

Что касается Бейсика, то он может получать доступ только Dispatch-интерфейсам. В С++ мы имеем доступ к дуальному интерфейсу (если он реализован), т.е. и к Dispatch и VTable. А Dispatch гораздо медленнее, чем VTable. Кроме того, Бейсику недоступны HRESULT коды возврата работы интерфейсов, а в С++ доступны. А это большой минус в COM-технологии для Бейсико-подобных языков программирования.

И чего вы решили, что речь идет об «отмазках», в данном случае это всего лишь констатация факта. Работаем, не с тем, что хотим, а с тем, что имеем.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376859
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавить в VFP пяток 1С-их объектов, связанных с бухгалтерий и вот вам супер бухгалтерская платформа.
Что касается архитектуры VFP она безусловно лучше 1С /хотя нужно отдать должное 1С - хорошая технологическая платформа/.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376869
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Добавить в VFP пяток 1С-их объектов, связанных с бухгалтерий и вот вам супер бухгалтерская платформа.
Что касается архитектуры VFP она безусловно лучше 1С /хотя нужно отдать должное 1С - хорошая технологическая платформа/.Ну sorry.
Предыдущие ваши messages навеяли мной сказанное.
Да и /если не ошибаюсь/ ранее в топиках вы ни когда не говорили об использовании COM ...

Что касается COM, то нужно четко понимать где она "сгодится", а где нет.
Но в целом она действительно позволяет "склеить не склеиваемое".
И не зря Microsoft не отказывается от этой технологии.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376873
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не COM, а OLE
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376892
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012EmeryМожно еще задействовать ехе-шник, генерируемый VFP для запуска как внешнее приложение в другой программе. Именно так у меня работает учет зарплаты на 1C77. Из «семерки» вызывается внешнее приложение VFP, которая работает с 1С как с DDE-сервером.Вот этот момент не понятен.
Зачем их С++ вызывать собранный VFP exe если можно напрямую работать с использование интерфейсов предоставляемых VFP?
В данном случае речь шла об 1С77, а не С++. Здесь это только вопрос производительности. Расчет по факту заключается в обработке одних dbf-файлов с родными 1С-ными индексами (хотя в новой версии, я буду использовать индексы, генерируемые VFP) и помещению новых данных в другие dbf-файлы. Т.е. ФокпПро может полностью работать в фоне, не «трогая» 1С. Зачем тогда организовывать переброску данных между процессами? Маршалинг КОМ не страдает особой производительностью.

Передача данных по DDE-каналу будет гораздо быстрее, тем более что, к счастью, «семерка» поддерживает DDE (интересно, этим кроме меня кто-нибудь пользовался?). Причем эта возможность оставлена только для отладки, и ее можно отключить, убрав соответствующие «птицы» на форме. Впрочем, прирост производительности это даст небольшой, поэтому я данный режим практически не выключаю, т.к. очень удобно наблюдать за процессом расчета.

Для С++ внешними приложениями VFP пользоваться особой необходимости нет, но такая возможность есть и знать о ней не вредно.

Владимир2012Все же повторю просьбу о публикации исходного текста с использованием DDE для обмена данными с VFP.
Вот еще кусок кода:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
*================================================================================================
&& ПЕРЕДАЧА ДАННЫХ В "1С" ПО DDE КАНАЛУ
PROCEDURE DDE
    PARAMETERS pn_CurRec, pn_AllRecs

    PRIVATE i 
    
    IF gn_DDEChanNum > -1
        SELECT c_PersLKPodrTabel1        && Результирующий курсор с расчетными данными сотрудника

        && Цикл по видам расчета данного сотрудника
        FOR i = 1 TO RECCOUNT()
            GO i
            SCATTER MEMVAR 

            && Расчетные параметры
            s_CurRec = LTRIM(STR(pn_CurRec))
            s_AllRecs = LTRIM(STR(pn_AllRecs))
            s_No = LTRIM(STR(i))
            s_PodrPersId = '"'+ALLTRIM(m.PodrPersId)+'"'
            s_VidRaschId = '"'+ALLTRIM(m.VidRaschId)+'"'
            s_NachZachPer = '"'+DTOC(m.NachZachPer)+'"'
            s_KonZachPer = '"'+DTOC(m.KonZachPer)+'"'
            s_KoefVidaRasch = LTRIM(STR(m.KoefVidaRasch, 9, 5))
            s_Rate = LTRIM(STR(m.Rate, 10, 5))
            s_WorkDays = LTRIM(STR(m.WorkDays, 6, 2))
            s_HoursPerDay = LTRIM(STR(m.HoursPerDay, 5, 2))
            s_WorkHours = LTRIM(STR(m.WorkHours, 7, 2))
            s_FactVwrabotka = LTRIM(STR(m.FactVwrabotka, 9, 2))
            s_PlanVwrabotka = LTRIM(STR(m.PlanVwrabotka, 9, 2))
            s_Summa = LTRIM(STR(m.Summa, 10, 2))
            s_PlanDays =  LTRIM(STR(m.PlanDays, 6, 2))
            s_PlanHours = LTRIM(STR(m.PlanHours, 7, 2))

            = DDEREQUEST(gn_DDEChanNum, "глDDE("+ ;
                    s_CurRec+","+ ;
                    s_AllRecs+","+ ;
                    s_No+","+ ;
                    s_PodrPersId+","+ ;
                    s_VidRaschId+","+ ;
                    s_NachZachPer+","+ ;
                    s_KonZachPer+","+ ;
                    s_KoefVidaRasch+","+ ;
                    s_Rate+","+ ;
                    s_WorkDays+","+ ;
                    s_HoursPerDay+","+ ;
                    s_WorkHours+","+ ;
                    s_FactVwrabotka+","+ ;
                    s_PlanVwrabotka+","+ ;
                    s_Summa+","+ ;
                    s_PlanDays+","+ ;
                    s_PlanHours+")")
        ENDFOR 
    ELSE 
        DO ErrorMessage WITH "Не могу открыть канал DDE для обмена данными!" IN Errors
    ENDIF
ENDPROC 
*================================================================================================
*================================================================================================
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376894
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryМногие авторы толстых книжек по КОМ любят рассказывать, как устроено КОМ, но не любят объяснять, почему оно так устроено и какую конкретно пользу она дает простым программистам.Да такое имеется у многих "учителей".
Microsoft в "массы" не особо проталкивает использование native архитектуры COM, а через использование разных language, которые скрывают от программиста громоздкость в native использования COM.
И они правы!
У меня основной инструмент для использования OLE и ActiveX - ATL /очень удобно и продуктивно/.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376901
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Получает задача "Учет труда и заработной платы" /моя любимая/ у вас разработана на VFP.
Когда ее разработал и внедрял в разного типа предприятий /разве, что рыбсовхозах ее небыло/.
Потом 1С подоспела, конкуренты ..., но users говорили, что на Foxpro все было на много удобней ...
Зачем тогда понадобилась с ней работать из 1С?
На VFP у меня реализован только сам расчет, а «семерка» предоставляет интерфейс и систему отчетов. Я же уже не раз говорил, что интерфейсных возможностей VFP мне недостаточно, а у 1С77 их с избытком. Зато движок VFP на порядок лучше встроенного движка платформы 7.7. Вот и получается, что правильный симбиоз вполне себе работоспособен. Пока уже думать о товарной версии этого проекта, причем не обязательно платной :) .
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376906
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Не COM, а OLE
А какая разница :) ?
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376929
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryВ данном случае речь шла об 1С77, а не С++. Здесь это только вопрос производительности. Расчет по факту заключается в обработке одних dbf-файлов с родными 1С-ными индексами (хотя в новой версии, я буду использовать индексы, генерируемые VFP) и помещению новых данных в другие dbf-файлы. Т.е. ФокпПро может полностью работать в фоне, не «трогая» 1С. Зачем тогда организовывать переброску данных между процессами? Маршалинг КОМ не страдает особой производительностью.Ну да вроде не спрашивал о том зачем из C++ работать с VFP, а как раз вопрос касался 1С.

Значит основная причина использования из 1С VFP - более высокая производительность работы VFP с данными.

То бишь у вас как и у меня начальство считает 1С панацеей и хочет, чтобы все проекты были разработаны с ее использованием.
Ну а программистам приходится отдуваться - кто как.
Одни VFP используют ...
Мой путь устранения "пробуксовки" 1С- разработка ActiveX + использование какой-либо СУБД ...
Для обмена данными /например с WWW/ использую WebSocket.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376932
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryА какая разница :) ?Чем отличается OLE от COM? http://www.forum.mista.ru/topic.php?id=117122

Скажем так.
COM - родитель, OLE, ActiveX, ... - дети /а дети у родителей бывают в чем то похожи, а в чем-то нет/.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376938
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryПока уже думать о товарной версии этого проекта, причем не обязательно платной :)А что товар бывает бесплатным?

Далее сказанное не относится к вам лично.
Да сейчас имеется такая бизнес модель раздачи - "бесплатного сыра".
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376956
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Значит основная причина использования из 1С VFP - более высокая производительность работы VFP с данными.
Конечно, в свое время я делал сравнительные тесты. Оказалось, что одни и те же запросы на VFP делаются в 15 раз быстрее, чем на 1С77. По большому счету можно вообще отказаться от запросов в «семерке», без особой потери в производительности.

Владимир2012То бишь у вас как и у меня начальство считает 1С панацеей и хочет, чтобы все проекты были разработаны с ее использованием.
Ну а программистам приходится отдуваться - кто как.
Одни VFP используют ...
Ну, у нас не так строго. Руководству глубоко ультрафиолетово, на чем ты пишем программы и пишешь ли свои либо используешь чужие, главное, чтобы не дорого, быстро и вовремя решал поставленные задачи.

Владимир2012Мой путь устранения "пробуксовки" 1С- разработка ActiveX + использование какой-либо СУБД ...
Я где-то тоже сейчас пошел по этому пути. Делаю автономный компонент с гридом от wxWidgets, с движком от VFP и непосредственной навигацией dbf-файлов с помощью MMF. Затем буду подключать этот компонент к «семерке» и «восьмерке» по технологии внешних компонент.

Владимир2012Для обмена данными /например с WWW/ использую WebSocket.
Ну, у меня пока такая задача не стоит, хотя в будущем не исключено использование Интернета.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376969
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012EmeryА какая разница :) ?Чем отличается OLE от COM? http://www.forum.mista.ru/topic.php?id=117122
Ну, там сплошная отсебятина, все рассматривается с точки зрения 1С, а СОМ это не 1С.

Владимир2012COM - родитель, OLE, ActiveX, ... - дети /а дети у родителей бывают в чем то похожи, а в чем-то нет/.
ActiveX официально считается синонимом OLE (ребрендинг). Хотя неформально OLE это технология, а ActiveX это компонент, созданный по этой технологии. Ранее ActiveX компоненты назывались OLE элементами.
Ну а разница между COM и OLE символическая. В OLE обязан присутствовать интерфейс IDispatch, а в COM обязан быть IUnknown, хотя для ActiveX сейчас официально требуют наличия только интерфейса IUnknown. Фактически принципиальной разницы между всеми этими моделями взаимодействия программного кода нет.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376973
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryДелаю автономный компонент с гридом от wxWidgetsДелаю свой GUI.
Основная его фича - развитые графические contols + еще более простое и более функциональное использование чем в 1С /2D и 3D на основе OpenGL/.
Emeryс движком от VFP и непосредственной навигацией dbf-файлов с помощью MMFBinary three c языковой поддержкой.
Этот движок не является чем-то вроде "простого" b-three, а скорее /упрощенно, но не соответствует создаваемой архитектуре/ некая документо-ориентированная система.
Все пока в разработке /с частичной обкаткой в production/.
Вообщем как в песне "А город подумал, а город подумал - ученья идут".
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376975
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012EmeryПока уже думать о товарной версии этого проекта, причем не обязательно платной :)А что товар бывает бесплатным?
В данном случае, точнее было бы сказать «товарный вид». Проще говоря, нужно убрать в коде явные глупости, которые работают, но у других программистов, скорее всего, вызовут скептическую улыбку, если не сказать более. Плюс очевидная оптимизация, хорошая документация и реальные примеры использования (так чтобы не публиковать личной информации). Да поддержка «восьмерки» не повредит.

А зарабатывать можно на удовлетворении индивидуальных хотелок. Вот если бы только лени поменьше, давно бы уже следовало опубликовать эту конфигурацию. Ибо все, что я видел у других, мне совершенно не нравится.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39376981
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryА зарабатывать можно на удовлетворении индивидуальных хотелок. Вот если бы только лени поменьше, давно бы уже следовало опубликовать эту конфигурацию. Ибо все, что я видел у других, мне совершенно не нравится.Не мне вас учить сколько в процентном отношении занимает разработка в сравнении с доведением проекта до "товарного вида и качества" /документация, сопровождение, ... ... .../.
Но в целом вас духовно понимаю ...
Вам решать какой путь вам более приемлем.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39377183
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryКонечно, в свое время я делал сравнительные тесты. Оказалось, что одни и те же запросы на VFP делаются в 15 раз быстрее, чем на 1С77.Да эффективность доступа к данным у 1С 7.7. "ниже плинтуса".
Но сдается мне VFP вы используете не потому, что он в 15 раз быстрее обеспечивает доступ к данным
/подсистема прямым запросов внешней компонеты 1cpp обпеспечивает скорость доступа не хуже чем VFP однозначно/, а потому что движок VFP имеет много вкусностей и удобств которых в 1С нет.

Когда работал с Foxpro 2.6, то реализовал на Perl библиотеку для работы с строками на 100% совместимую с API Foxpro и использовал ее в некоторых случая.
Например для возможности перtкомпоновки страниц отчетов на листе /для экономии бумаги/.
Как мне помнится код на Perl использующий эту библиотеку работал быстрее Foxpro раз в пятьдесят.
А вот работа с числовыми операциями в Foxpro была "терпимая".

PS: ИМХНО и сейчас движок VFP не устарел и его вполне можно использовать.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39377200
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryКонечно, в свое время я делал сравнительные тесты.Еще один важный вопрос к вам.
Когда VFP изменяет cdx файлы 1С после этого не "бьется в судорогах".
На сколько совместимы cdx формы 1С с cdx VFP?
Где-то читал, что имеются вроде небольшие различия.
Вообщем правильный ответ на этот вопрос мне неведом.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39377211
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Когда VFP изменяет cdx файлы 1С после этого не "бьется в судорогах".
На сколько совместимы cdx формы 1С с cdx VFP?
Порча cdx меньшее из зол, которое может случиться. Есть целостность данных, которая поддерживается изнутри 1С, а прямой записью ее можно легко порушить.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378445
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TПорча cdx меньшее из зол, которое может случиться. Есть целостность данных, которая поддерживается изнутри 1С, а прямой записью ее можно легко порушить. http://1s.softvektor.ru/public/178286/ Корректировка заголовка DBF-файла, сформированного в 1С, для его связи с индексным файлом для дальнейшей работы с ним из внешних приложений (FoxPro 2.6, Visual FoxPro и пр.)
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378448
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Dima TПорча cdx меньшее из зол, которое может случиться. Есть целостность данных, которая поддерживается изнутри 1С, а прямой записью ее можно легко порушить. http://1s.softvektor.ru/public/178286/ Корректировка заголовка DBF-файла, сформированного в 1С, для его связи с индексным файлом для дальнейшей работы с ним из внешних приложений (FoxPro 2.6, Visual FoxPro и пр.)
Да я не об этом, о целостности данных. Например есть накладная: в одной таблице строки с количеством и ценой, в другой сумма. Через объекты 1C меняя цену автоматом пересчитывается сумма, а что если фоксом цену поменять?
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378455
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TДа я не об этом, о целостности данных. Например есть накладная: в одной таблице строки с количеством и ценой, в другой сумма. Через объекты 1C меняя цену автоматом пересчитывается сумма, а что если фоксом цену поменять?Ну так сумма сама по себе не меняется.
Программист использует, какую-то функцию или процедуру для ее расчета.
И нет проблемы из VFP с использованием OLE ее вызвать или наоборот из 1С с использовать VFP для каких-либо целей, а затем из 1С выполнить функционал изменяющий данные в таблицах 1С.

Вот пришла такая крамольная мысль - попробовать из 1С использовать движок VFP /как Emery/.
Не мне вас учить какие "вкусности" имеются в VFP, которые отсутствуют в 1С /например запросы с использованием составных индексов + фильтры .../.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378471
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Вот пришла такая крамольная мысль - попробовать из 1С использовать движок VFP /как Emery/.
Не мне вас учить какие "вкусности" имеются в VFP, которые отсутствуют в 1С /например запросы с использованием составных индексов + фильтры .../.
Вобщем я к тому что в базу 1С можно лезть фоксом, но желательно ограничиться чтением.
Я использовал фокс для ускорения выборок. На фоксе COM-класс, в 1С создавался объект того класса и делал выборки из 1С-овских DBF. Деталей не помню, давно это было. Но летало. Но тут привязка к конкретной БД, т.к. поля в DBF сам видишь как именуются. В моем случае БД была одна, писалось под нее, поэтому имена полей проблем не вызывали.

Не знаю есть ли смысл что-то городить для 1С77 с DBF. За 1С не слежу, но если не путаю 1С официально похоронила 7-ку. Официально 1С77 такой же труп как VFP.
В 8-ке нет DBF.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378484
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TНе знаю есть ли смысл что-то городить для 1С77 с DBF. За 1С не слежу, но если не путаю 1С официально похоронила 7-ку. Официально 1С77 такой же труп как VFP.
В 8-ке нет DBF.Не 1С 7.7 и VFP трупы, а подход к разработке проектов многими программистами.

Sorry за повтор.

Когда в далекие времена понял эту простую истину, то начал разрабатывать "нестареющие проекты".
90% кода в проектах на Foxpro 2.6 лежат не в виде исходных текстов, а в виде мета данных из которых генерируются исходные тексты.
Такие "исходные тексты" ни когда не устаревают.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378486
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир201290% кода в проектах на Foxpro 2.6 лежат не в виде исходных текстов, а в виде мета данных из которых генерируются исходные тексты.
Такие "исходные тексты" ни когда не устаревают.
У меня не лежат, а работают. На сегодня 5 рабочих мест с прогой на FPD написанной почти 20 лет назад. В доработке отказал 10 лет назад, просто поддерживаю в рабочем состоянии, в этом не могу отказать, моя поделка. По мне так лучше бы умерли, в т.ч. лучше тем кто пользует.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378489
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TУ меня не лежат, а работают. На сегодня 5 рабочих мест с прогой на FPD написанной почти 20 лет назад. В доработке отказал 10 лет назад, просто поддерживаю в рабочем состоянии, в этом не могу отказать, моя поделка. По мне так лучше бы умерли, в т.ч. лучше тем кто пользует.Написал пост и не стал публиковать из-за того что получается как-бы чем то хвалюсь.
А вот теперь нахожу все же целесообразным его опубликовать.
Dima TНе знаю есть ли смысл что-то городить для 1С77 с DBF. За 1С не слежу, но если не путаю 1С официально похоронила 7-ку. Официально 1С77 такой же труп как VFP.
В 8-ке нет DBF.
Для кого "труп", а для меня "живее всех живых".
Почему?
По той причине, что конвертация мета данных любой конфигурации 1С 7.7 в формат мета данных моей платформы имеется.
К примеру у меня давно разработан "WWW интерфейс для 1С 7.7", который по существу является mirror любой десктопной конфигурации.
Да и в новой платформе для обеспечения WWW интерфейса программисту не нужно будет даже "пальцем пошевелить".
Это одна из фич платфомы /а их много/.

Это не говорит о том, что изобретаю а-ля 1С 7.7.
Конечно нет /ИМХНО - пустая трата времени/.

Но метаданные 1С 7.7. + тексты модулей не сложны и поддаются относительно не сложной конвертации и переносу в другую платформу /а тем паче в мою/.

Поэтому все что не делаю в 1С 7.7 не считаю пустой тратой времени.
К примеру старые свои проекты на фокспро сконвертирую в 1С 7.7 /вы уже поняли для чего/.
Ныне вот монстр на Delphi+Firebird нужно перевести в 1С 7.7 так опять таки не вручную это делаю, а программно /c Feribird своя песня, с Delphi - своя/.
Тоже думаю понятно почему конвертер делается в формат 1С 7.7

Так что 1С 7.7 для меня ни как не "мертва".

Кстати целевое назначение разрабатываемая платформы - не обработка финансовых данных.
Архитектура ее такова:
- хотите разработать какой-либо финансовый проект - пожалуйста;
- являетесь фанатом разработки всяких игр - пожалуйста стругайте свои любимые стрелялки.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378496
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012, у тебя одна ошибка в твоих постулатах: не надо путать "я сопровождаю" и "я разрабатываю". Первое понятно, этим ты и зарабатываешь, но не надо его отождествлять со вторым. Зарабатываешь - молодец, я тоже на фоксе зарабатываю, но я не считаю что фокс (и подобные трупы типа 1С77) надо пропагандировать тем кто только хочет начать зарабатывать, т.е. разрабатывать новое. Зачем людей подставлять? Они нас читают, не забывай об этом.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378501
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Быстрота смены ИТ-технологий компенсируется инертностью пользователей. Им глубоко фиолетово на чем написана их прога, им главное что прога решает поставленную задачу. Но как только прога перестает удовлетворять, то пользователь начинает искать альтернативу. Тут проблема именно сопровождения, решает прога 80-90% проблем пользователя - он будет продолжать ей пользоваться, делаются доработки - замечательно. Но если прога перестанет решать подавляющее большинство проблем то пользователь ее сменит. Почему прога перестала удовлетворять зависить не от нее, а от потребностей пользователя.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378504
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЗарабатываешь - молодец, я тоже на фоксе зарабатываю, но я не считаю что фокс (и подобные трупы типа 1С77) надо пропагандировать тем кто только хочет начать зарабатывать, т.е. разрабатывать новое. Зачем людей подставлять? Они нас читают, не забывай об этом.Это да на 1С 7.7 и VFP сейчас не в моде.
Ну так и об 1С 8.x через пяток лет вспомнит кто?
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378506
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TБыстрота смены ИТ-технологий компенсируется инертностью пользователей. Им глубоко фиолетово на чем написана их прога, им главное что прога решает поставленную задачу. Но как только прога перестает удовлетворять, то пользователь начинает искать альтернативу. Тут проблема именно сопровождения, решает прога 80-90% проблем пользователя - он будет продолжать ей пользоваться, делаются доработки - замечательно. Но если прога перестанет решать подавляющее большинство проблем то пользователь ее сменит. Почему прога перестала удовлетворять зависить не от нее, а от потребностей пользователя.В добавок к выше сказанному следует отметить, что замена многих давно разработанных и ныне эксплуатируемых проектов бывает довольно сложной, трудоемкой и высоко затратной задачей.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378511
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Это да на 1С 7.7 и VFP сейчас не в моде.
Ну так и об 1С 8.x через пяток лет вспомнит кто?
Тебе это важно? На 1С8 будут зарабатывать те кто что-то путное на ней разработает пока она в тренде. Как ты и я, мы просто правильно попали в тренд своего времени.
Владимир2012В добавок к выше сказанному следует отметить, что замена многих давно разработанных и ныне эксплуатируемых проектов бывает довольно сложной, трудоемкой и высоко затратной задачей.
Именно поэтому я написал 80-90%, а не 100%.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378512
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TНа 1С8 будут зарабатывать те кто что-то путное на ней разработает пока она в тренде.Наверное да.
Знаете в последнее время наблюдаю такую тенденцию - парню 30 лет, а ему трудно найти работу /помоложе хотят/.
Вот не понимаю логику таких руководителей ...

Мне этого не понять.
У теории одни "правильные" рассуждения, а в жизни свои "неправильные", но от которых ни куда не денешься.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378520
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Dima TНа 1С8 будут зарабатывать те кто что-то путное на ней разработает пока она в тренде.Наверное да.
Знаете в последнее время наблюдаю такую тенденцию - парню 30 лет, а ему трудно найти работу /помоложе хотят/.
Вот не понимаю логику таких руководителей ...

Мне этого не понять.
У теории одни "правильные" рассуждения, а в жизни свои "неправильные", но от которых ни куда не денешься.
Это не тенденция, с какой позиции смотришь? От работника или работодателя?
У работодателей по возрасту разве что может быть отказ в 50+. Если чел в 30 никому не нужен то проблема в нем, или хочет намного больше чем стоит или ничего не стоит, по простому тупой.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378522
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЭто не тенденция, с какой позиции смотришь? От работника или работодателя? Сдаюсь.
В этом теме мало что понимаю ...

Лучше вот завтра решу один прикладной вопрос - напишу функцию, которая согласно PID процесса возвратит все,
используемые им handles /иногда имеется потребность в этих данных/.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378524
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как работодатель скажу что 30 лет идеальный возраст работника, это мечта работодателя, уже отпустили хотелки студента "вот закончу и буду получать немеряно", они реально так думают, общался. И в 30 еще не погас огонь энтузазизма. ИМХУ 25-30 замечательный возраст чтобы себя реализовать, если кто-то не может, то проблема только в нем.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378639
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Но сдается мне VFP вы используете не потому, что он в 15 раз быстрее обеспечивает доступ к данным/подсистема прямым запросов внешней компонеты 1cpp обпеспечивает скорость доступа не хуже чем VFP однозначно/, а потому что движок VFP имеет много вкусностей и удобств которых в 1С нет.
Ну, к 1С++ у меня лично настороженное отношение. Вот FormEx да, пользуюсь с удовольствием. А для 1срр доступны исходники (v. 2.5.07 и ниже). Весьма полезны для изучения. Не пользуюсь явно этой компонентой по разным причинам. Во-первых, она иногда подглюкавывает на серверных операционках. Во-вторых, концепция классов в 1срр реализована не очень удачно и соответственно ненадежно. Как по мне – лишние это все телодвижения, решения нужно искать в другой плоскости. В-третьих, доступ к базе данных там реализован с помощью технологий ODBC и OLEDB. Соответственно обмен данными производиться через вариантные массивы в памяти. Это, в принципе, неплохо, если нет другого более прямолинейного способа, но поскольку такой способ есть (например, родной движок VFP), то зачем тогда использовать посредников в виде провайдеров данных? Проще говоря, свои проблемы я вполне могу решать и решаю без 1cpp.dll.

А движок VFP мне нравится, прежде всего, своей эффективностью в построении (на тестах, скорость создания индексов, по символьному полю длиной 70 символов, составляла порядка 90-100 тысяч индексов в секунду) и использовании индексов, а также простой табличной структурой dbf-файлов (легко использовать MMF), наличием MEMO полей, использованием патентованной технологии Rushmore (никто не знает что это за зверь, но работает он в запросах очень эффективно), а также удобством работы с текстовыми файлами, да и много чего еще, по мелочам.

И потом, никогда не нужно забывать о принципиальном отличии файл-серверных и клиент серверных СУБД. Первые ориентированы на позицию в файле, а вторые нет. В файл-серверных БД легко может быть организована полная навигация и произвольная модификация по всей таблице данных, содержащей хоть миллиард записей (например, при использовании MMF в виртуальном режиме и 64-х разрядном dbf, правда здесь уже нужен будет не VFP, а его бесплатный аналог вроде (x)Harbour). А клиент-серверные БД на такую работу совершенно не заточены, только на выборку относительно небольших порций данных. Кроме того малые и средние решения на VFP будут, как правило, дешевле, чем их аналоги с привлечением промышленных баз данных и сопоставимой производительности. Другие дело, если вам нужны особые требования по безопасности, надежности и производительности огромных массивов данных. Тогда да, клиент-серверным промышленным БД альтернативы нет.

Владимир2012Когда VFP изменяет cdx файлы 1С после этого не "бьется в судорогах".
На сколько совместимы cdx формы 1С с cdx VFP?
Где-то читал, что имеются вроде небольшие различия.
Вообщем правильный ответ на этот вопрос мне неведом.
Ну, cdx-файлы 1С и VFP совместимы лишь частично. VFP может работать с индексами 1С (в моей «зарплате» так и происходит), а наоборот, вообще говоря, нет. Просто в 1С используется стандарт DBase-IV без мемо полей, а VFP из этих «детских штанишек» давным-давно вырос, еще во времена FP-2.6a.

Кроме того, насколько я знаю, спецификация cdx-файлов от M$ нигде не опубликована, хотя общий принцип их работы вполне ясен, это комбинация сбалансированных двоичных деревьев и двухсвязных списков (в MSDN'e есть примитивный рисунок на эту тему, см. http://www.sql.ru/forum/686605/algoritm-sozdaniya-cdx-faylov ). Свою реализацию cdx-файлов реализовал Алексей Долгачев (если я правильно помню) в http://www.alxsoft.narod.ru/ , не говоря уже об открытых исходниках (x)Harbour), xBase ( http://linux.techass.com/projects/xdb/ ) и др.

Я думаю, что все эти клоны реализации cdx-файлов, в т.ч. и от 1С77 не могут обеспечить полную совместимость с компаундными индексами от Visual FoxPro. Хотя бы потому, что технология Rushmore, скорее всего, присутствует и в реализации построения cdx-файлов, а не только в коде самого движка VFP. Естественно, что на таком уровне никто полную поддержку cdx-файлов организовать, кроме M$, не сможет.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378641
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TВобщем я к тому что в базу 1С можно лезть фоксом, но желательно ограничиться чтением.
А чего бояться? Меняйте фоксом, что угодно в 1С7, только потом не забудьте переиндексировать измененные dbf-файлы средствами «семерки». Все работает, проверенно, более, чем десятилетним опытом работы.

Dima TНе знаю есть ли смысл что-то городить для 1С77 с DBF. За 1С не слежу, но если не путаю 1С официально похоронила 7-ку. Официально 1С77 такой же труп как VFP.
В 8-ке нет DBF.
Все так, только не нужно забывать, что фирмы производители коммерческого программного обеспечения ориентированы в первую очередь на решение своих собственных финансовых проблем и уже потом, по остаточному принципу, занимаются решением технических проблем.

Вас же, например, никто не уговаривает, не носить берестяные лапти, не пользоваться глиняной посудой или там не использовать солому для ремонта крыши дома. Понятно, как здравомыслящий человек, вы этого и так делать не будете, без особой на то необходимости. А вот не пользоваться «старыми» программами или даже новыми, но «неправильными» нас уговаривают постоянно. Мол, немодно это, устарело, не круто, не понтово – вот он уровень аргументов.

Когда Борису Нуралиеву предложили выложить код «семерки» в открытый доступ, поскольку она с 2006 года официально снята с поддержки, мотивируя, что, мол, вон M$ выложил полностью код MS-DOS в паблик, наш главный 1С-овец ответил прямым текстов: «Вы что, хотите, чтобы мы собственными руками создали себе, т.е. «восьмерке», конкурента?». Т.е., из этого следует, что «семерка» даже в своем нынешнем коматозном состоянии остается все еще конкурентно способной и таковой будет, по моему мнению, еще, минимум, лет двадцать, пока кто-то не создаст ее прямой открытый аналог.

Так что, лично мне совершенно ультрафилетово поддерживает или нет фирма «1С» «семерку», а Мелкософт «шестерку» (Visual C++, v.6, sp.6) или «девятку» (VFP9). Даже когда поддерживала, это ничего не давало.

Использование внешнего полноценного доступа к БД 1С позволяет добиться того, чего там нет, это модульности кода и данных. Причем доступ к dbf будет полезен и в «восьмерке». Об этом можно говорить много, но это уже будет другая тема.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378696
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryКроме того, насколько я знаю, спецификация cdx-файлов от M$ нигде не опубликована,Да ведь ранее вам дал ссылку на MSDN где приведена спецификация cdx ...
EmeryСвою реализацию cdx-файлов реализовал Алексей Долгачев (если я правильно помню) в http://www.alxsoft.narod.ru/ В тех исходниках, которые он опубликовал приведены классы для работы с DBF. Может быть чего не досмотрел, но работы с cdx в них нет.
Кроме того он сказал, что работа с индексными файлами у него реализована только по чтению.
Sorry.
Еще не было интернета и codebase ..., но у меня работа с индексными файлами по чтению уже была решена.
На Harbour действительно имеются исходники, но исходники скорее годятся только для того, чтобы посмотреть
как у них реализована с ними работа.
ИМХНО быстрее свою library разработать чем чужой код ковырять.
EmeryПроще говоря, свои проблемы я вполне могу решать и решаю без 1cpp.dllВаше право.
С 1cpp у меня ни когда не не было проблем ни на сервере, ни на клиенте.
Вообщем 1cpp - хорошее подспорье.
Одна лишь из многих возможностей - создание динамически: переменных, процедур и функций - много стоит ...
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378728
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Да ведь ранее вам дал ссылку на MSDN где приведена спецификация cdx ...
Что-то я не могу ее найти. . .

Владимир2012EmeryСвою реализацию cdx-файлов реализовал Алексей Долгачев (если я правильно помню) в http://www.alxsoft.narod.ru/ В тех исходниках, которые он опубликовал приведены классы для работы с DBF. Может быть чего не досмотрел, но работы с cdx в них нет.
Кроме того он сказал, что работа с индексными файлами у него реализована только по чтению.
Sorry.
Ну, в http://www.wosoft.ru/load/70-1-0-5789 сказано, что «3. Поддерживаются индексы: IDX (для не компактных, только чтение), CDX (чтение и запись) 4. Для индексных выражений может использоваться более 70 функций языка dBASE». Так что для cdx есть запись. Там же можно скачать и саму библиотеку http://www.wosoft.ru/_ld/57/5789_alxbase068.zip . Другое дело, что для установки setup.exe (кстати, не самой последней версии) требуется регистрационная информация. Однако в свое время такая информация была опубликована в Интернете (сейчас не могу ее найти) с комментариями, что защита там слабенькая, через «Олю Дебаговую» легко взламывается. Вообще, я смотрю, все файлы от Алх'а сейчас найти трудно, судя по всему, забросил он давно свою разработку. Кое-что осталось только на зеркалах.

Владимир2012Еще не было интернета и codebase ..., но у меня работа с индексными файлами по чтению уже была решена.
Это очень здорово, только какой сейчас в этом прикол? В своей программе, использующей рантайм библиотеки Фокпро, их можно не распространять (чтобы соблюсти формальности). Достаточно, сказать, что программа использует такие-то файлы, а народ их легко найдет в Интернете. Можно найти не одну программу, которые официально используют файлы поддержки от VFP.

Владимир2012ИМХНО быстрее свою library разработать чем чужой код ковырять.
Как вы говорите: «Ваше право». Меня вполне устроит, когда эту работу за меня сделает ФоксПро. А вот навигацию по dbf-файлам я реализовал сам ( http://www.sql.ru/forum/681845/mfc-04-mmf-chtenie-i-sozdanie-dbf-faylov-vmesto-serializacii-dlya-virtualnyh-spiskov ). Увеличьте размер используемых файлов в сотни раз, летать все равно будет что дурная.

Владимир2012Вообщем 1cpp - хорошее подспорье.
Одна лишь из многих возможностей - создание динамически: переменных, процедур и функций - много стоит ...
Само по себе это малоинтересно. 1cpp это внешняя компонента для «семерки». Если нужна модульность кода (и данных), то лучше воспользоваться другими идеями и реализовать подходящую компоненту самому.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378730
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryЧто-то я не могу ее найти. .File Structures https://msdn.microsoft.com/en-us/library/d863bcf2(v=vs.80).aspx
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378734
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012EmeryЧто-то я не могу ее найти. .File Structures https://msdn.microsoft.com/en-us/library/d863bcf2(v=vs.80).aspx
Спасибо, возможно пригодиться!
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378736
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryА вот навигацию по dbf-файлам я реализовал сам ( http://www.sql.ru/forum/681845/mfc-04-mmf-chtenie-i-sozdanie-dbf-faylov-vmesto-serializacii-dlya-virtualnyh-spiskov ). Увеличьте размер используемых файлов в сотни раз, летать все равно будет что дурная.К сожалению на этой страницы "битая" ссылка http://www.codeproject.com/KB/list/Emery-Emerald-04/ModifiedListCtrl04.zip.

Просьба заново запостить архив ... /ну и ссылку на него дать/
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378739
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012К сожалению на этой страницы "битая" ссылка http://www.codeproject.com/KB/list/Emery-Emerald-04/ModifiedListCtrl04.zip.

Просьба заново запостить архив ... /ну и ссылку на него дать/
Ссылка не «битая», для этого надо просто (бесплатно) зарегистрироваться на codeproject.com. Если это влом, то после статьи опубликованы вложения http://www.sql.ru/forum/actualfile.aspx?id=7447545 и http://www.sql.ru/forum/actualfile.aspx?id=7447550 .
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378744
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryСамо по себе это малоинтересно. 1cpp это внешняя компонента для «семерки». Если нужна модульность кода (и данных), то лучше воспользоваться другими идеями и реализовать подходящую компоненту самому.Для меня эта возможность интересна тем, что позволяет разрабатывать обобщенные алгоритмы и много упростить исходный код модулей.

В 1cpp также реализован "Перехватчик", позволяющий перехватить все предопределенных событий 1С и ВК FormEx.
Что это дает?
Например возможность сохранения текущего состояния диалогового окна и восстановления его при повторном открытии.
Программист в xml может задать значение каких полей диалоговой формы нужно сохранять и нужно ли их восстанавливать при открытии диалоговой формы.
Проще говоря если скажем у бухгалтера в многострочной части курсор стоит на какой-то строке, то при повторном открытии диалоговой формы она будет выглядеть так как она выглядела перед ее закрытии.
И заметьте программисту не нужно в кодах модулей написать ни одной строки!

Ну еще маленький пример приведу /сильно распинаться не буду/.
Подсистема "Перехватчик" позволяет написать код для контроля возможности работы user с объектом.
В отличии от 1С у которой эти данные хранятся в конфигурации проекта, программист может реализовать свою подсистему "Прав" для работы с объектами users /очень удобно/.
...
...

Так вот кое что из перечисленного не требует от программиста добавления в коды модулей ни одной строки /супер удобно/.

Знаете это как в VFP говорят знаем и все умеем, а на поверку пишут г-но код и потом хнычат, что язык устарел, код устарел ... /бесконечная песня/.
Это суждение годится для любого языка программирования и ...
И что самое прелюбопытное - "учат" других и передают им свои "знания".
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378746
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryСсылка не «битая», для этого надо просто (бесплатно) зарегистрироваться на codeproject.comБезусловно.
Заходил на codeproject.com под своим аккаунтом.
Ссылка битая /ладно еще раз проверю/.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378747
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Захожу на http://www.codeproject.com/ под своим аккаунтом и использую вами приведенную ссылку
http://www.codeproject.com/KB/list/Emery-Emerald-04/ModifiedListCtrl04.zip

Нет файла!
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378756
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Захожу на http://www.codeproject.com/ под своим аккаунтом и использую вами приведенную ссылку
http://www.codeproject.com/KB/list/Emery-Emerald-04/ModifiedListCtrl04.zip

Нет файла!
Я только что зашел под своим ником и скачал этот файл без проблем. Однако что мешает скачать тоже самое из вложений на этом сайте: http://www.sql.ru/forum/actualfile.aspx?id=7447545 и http://www.sql.ru/forum/actualfile.aspx?id=7447550 ?
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378758
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryЯ только что зашел под своим ником и скачал этот файл без проблем.Не принципиально.
Просьба привести URL article.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378760
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Просьба привести URL article.На http://www.codeproject.com/
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378761
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Просьба привести URL article.Хотя впрочем и не нужно, так как на http://www.codeproject.com/ можно открыть ваш аккаунт и посмотреть список публикаций /но все же/.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378762
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Для меня эта возможность интересна тем, что позволяет разрабатывать обобщенные алгоритмы и много упростить исходный код модулей.

В 1cpp также реализован "Перехватчик", позволяющий перехватить все предопределенных событий 1С и ВК FormEx.
...
Так вот кое что из перечисленного не требует от программиста добавления в коды модулей ни одной строки /супер удобно/.
Ну и прекрасно! Я же не против, чтобы вы или кто-либо еще все это использовали. Разве я вас отговариваю от этого? Мне самому это не сильно нужно. Если что-то будет непонятно, то тогда задам вопрос на форуме, а так, все свои проблемы решаю другими средствами.

Владимир2012Знаете это как в VFP говорят знаем и все умеем, а на поверку пишут г-но код и потом хнычат, что язык устарел, код устарел ... /бесконечная песня/.
Это суждение годится для любого языка программирования и ...
И что самое прелюбопытное - "учат" других и передают им свои "знания".
Я здесь вообще никаких проблем не вижу. Кто-то пишет плохой код? Хнычет не по делу? Глупости говорит? Ничего не знает, но идет учить других? Это все издержки открытого общества, причем, как по мне, не самые плохие. Какой смысл обращать на это внимание, тратить свои силы? Если бы я реагировал на все, что мне не нравиться, то никакого времени не хватило бы. Лучше уж потратить его на что-либо более интересное.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378763
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012 Хотя впрочем и не нужно,
. . .
но все же
В вышеприведенной ссылке на русский перевод статьи ( http://www.sql.ru/forum/681845/mfc-04-mmf-chtenie-i-sozdanie-dbf-faylov-vmesto-serializacii-dlya-virtualnyh-spiskov ) в первых строчках указан оригинал на английском: http://www.codeproject.com/KB/list/Emery-Emerald-04.aspx .
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378769
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryЯ здесь вообще никаких проблем не вижу. Кто-то пишет плохой код? Хнычет не по делу? Глупости говорит? Ничего не знает, но идет учить других? Это все издержки открытого общества, причем, как по мне, не самые плохие. Какой смысл обращать на это внимание, тратить свои силы? Если бы я реагировал на все, что мне не нравиться, то никакого времени не хватило бы. Лучше уж потратить его на что-либо более интересное.Да нет.
Имеются "издержки" и очень большие, которые выражаются в том, что многие программисты не хотя тратить время на то, что же означает термин "системный подход", "хорошая архитектура проекта" ... пишут на порядок
больше кода /с всеми вытекающими побочными эффектами от таких проектов/.

Но в целом с вами согласен в том, что можно более рационально использовать время, а не вести борьбу с "ветряными мельницами".

ИМХНО основа любого проекта - создание хорошей архитектуры и системный подход.
Звучит очень тривиально.

"Шас спою!" /помните как в мультике .../
Код: sql
1.
2.
3.
4.
5.
6.
О "знаниях", "стандартах" ... и др. "учености" ...

При коллективизации /тридцатые года/ повсеместно из сел направляли на курсы трактористов молодых парней.
Курсы длились 2- месяца и на них изучали устройство и вождение трактора и ...
И вот на экзаменах один молодой новоиспеченный тракторист успешно, ответивший на все вопросы спрашивает экзаменующего -
"Все понимаю. Вот только одного не понимаю. Куда же в нем кобылу впрягать?"

Так вот "трактористов" - пруд пруди.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378779
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Да нет.
Имеются "издержки" и очень большие, которые выражаются в том, что многие программисты не хотя тратить время на то, что же означает термин "системный подход", "хорошая архитектура проекта" ... пишут на порядок
больше кода /с всеми вытекающими побочными эффектами от таких проектов/.
Ну и кто в этом виноват? У нас в университете, одном из лучших, в мое время программирование преподавали по принципу, чтобы отбить охоту заниматься им вообще. Так что, если я и стал программистом, то не благодаря, а вопреки. Думаю, это распространенное явление. Ибо преподаватели, как и военные, умеют воевать только по опыту прошлых войн. Лично меня в этом смысле очень удивляет, как Владимир Путин научил свою армию воевать по-современному? НАТО не может, пиндосы и те вязнут в прошлом, а Российская Армия проявляет чудеса на грани невозможного.

Ну да мы отвлеклись. Возьмем книги по программированию. Вы можете сказать, что есть человек или книга, которые стали вашим Учителем по программированию? Лично я нет. До всего приходится доходить самому. Вот несколько примеров.

1. Противопоставление клиент-серверных технологий файл-серверным. Мол, первое это все, а второе – ничего. Правильно ли это? Не думаю.

2. В рамках моделей клиент-серверных технологий нет согласия по наиболее «правильной» из них. То ли использовать трезвенку (с сервером приложений), то ли распределенные системы, то ли терминальные сервера, то ли параллельные базы данных (локальные, со своими данными на запись и чужими на чтение и одной центральной базой данных реплицирующей изменения на остальных клиентов). Подобных схем существуют множество. Как правильно выбирать? Кто может подсказать?

3. 1С, как впрочем и Мелкософт, навязывают всем свои концепции программирования, прикладные модели учета, стандарты и спецификации, которые сами же и нарушают. Причем во главу угла ставят свои собственные, меркантильные интересы, в ущерб дешевым рациональным технологиям. Это правильно? Не уверен. Какой выход? Цифровой Коммунизм (идея Сергея Хапрова). Но, думаю, общество еще не скоро созреет до этого.

Ну, хорошо, это все общие, далеко не исчерпывающие, проблемы. Возьмем программу, которая нам ближе: «Учет и расчет заработной платы на предприятиях». Что здесь определяет «создание хорошей архитектуры и системный подход»?

Начнем с простого, изложения концепции, т.е. основных принципов реализации этой программы. Каковы они должны быть? И где гарантия, что они будут «правильными»? Ведь сколько программистов, столько и мнений. Сама фирма 1С делала статистику и объявила, лет десять назад, что в России существует не менее 200 тысяч самописных программ по расчету заработной платы. Чуть ли не у каждого предприятия своя собственная программа или там серьезная модификация типовой. Это нормально? Нет, конечно. Но кто возьмет на себя смелость изложить «правильные» принципы этой программы. Для своей новой версии «зарплаты» я пытаюсь такие принципы сформулировать. Но удовлетворят ли они других? Совершенно не уверен. Единственная отрада, что они будут нравиться мне :) .
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378786
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryВедь сколько программистов, столько и мнений.Ниже сказанное не к вам лично относится.

Переубедить "тракториста" ни кто ни когда не сможет.
"Тракторист" все правильно понимает и "учит" других.

ИМХНО - сторонюсь "трактористов".
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378847
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryНачнем с простого, изложения концепции, т.е. основных принципов реализации этой программы. Каковы они должны быть? И где гарантия, что они будут «правильными»? Ведь сколько программистов, столько и мнений.ИМХНО

Между умением писать программы и умением разрабатывать хорошую архитектуру программ ничего общего нет.
Всегда следую /если кто понимает о чем речь/ - "Где просто - там ангелов со ста, где мудрено - там ни одного".

К сожалению нет rapid систем и технологий программирования, которые бы позволяли реализовывать хорошую архитектуру программ.

К примеру возьмем C++.
ООП C++ - "бред сивой кобылы"

В других спецификациях языков программирования прослеживается попытка создания удобного синтаксиса и
некоторого набора операторов для реализации алгоритмов.
Но ни один из них и близко не решает /и не пытается/ и не предоставляет средств для создания проектов хорошей архитектуры.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378852
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012К примеру возьмем C++.
ООП C++ - "бред сивой кобылы"В остальном C++ очень хорош и прекрасно подходит для разработки libraries /dll-s/.
Проще говоря создания разнородного API функционала.
Как C/C++ ранее предоставили программисту средство для написания алгоритма абстрагирующихся от машинной
системы команд, так он вполне подходит для реализации программных систем, позволяющих создавать проекты хорошей архитектуры.

Что касается ООП C++, то да ИМХНО мне нравится, но потенциал C++ таков, что он предоставляет программисту
возможность создания желаемой для него объектной модели.
И поэтому C/C++ мой основной средство для создания API.

Некоторые используют C/C++ для реализации прикладных программ /даже умудряются использовать его для разработки учетных систем/.
ИМХНО это от того, что в среде программистов много истинных - "трактористов".
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378980
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012К сожалению нет rapid систем и технологий программирования, которые бы позволяли реализовывать хорошую архитектуру программ.
Проблема не в системах, а в людях. Очень мало людей могут предложить хорошую архитектуру программ. И тут проблема не только в том что спец плохой, а в том что ему очень быстро надо узнать предметную область, у него нет 3-5 лет чтобы выяснить все тонкости, есть пару месяцев за которые что узнал, то и написал.

Владимир2012К примеру возьмем C++.
ООП C++ - "бред сивой кобылы"
С++ это полигон тестирования ООП, всё возможное в ООП есть только в С++, соглашусь что ООП-кастрированные языки проще и удобнее в использовании, но не надо утверждать что C++ плох тем что там шире всего реализовано ООП.
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39378990
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tно не надо утверждать что C++ плох тем что там шире всего реализовано ООП.А где об этом мной было сказано?
...
Рейтинг: 0 / 0
Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
    #39379004
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TС++ это полигон тестирования ООП, всё возможное в ООП есть только в С++, соглашусь что ООП-кастрированные языки проще и удобнее в использовании,Дима.
ООП C++ это всего лишь один из подходов к реализации некой объектной модели.
И на нем "свет клином не сошелся".

Sorry.
С++ тем и хорош, что он ни чего не навязывает и предоставляет программисту средства, позволяющие
реализовать любой /как бы это сказать/ замысел.
...
Рейтинг: 0 / 0
108 сообщений из 108, показаны все 5 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Visual Foxpro устарело. Кто нибудь ещё пишет проекты на Visual Foxpro?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]