|
|
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
Возникла неоходимость разобрать прогу написанную на CLIPPER-е, подскажите где можно найти какие-нибудь книжки , FAQ по теме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2007, 12:36 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
barsukofВозникла неоходимость разобрать прогу написанную на CLIPPER-е, подскажите где можно найти какие-нибудь книжки , FAQ по теме. Была неплохая книга Рика Спенсера по программированию на клиппере 5.01... Найти ее - только в библиотеке... Вообще-то сложного немного: инкремент/декремент как в С++, присваивание как в Паскале (:=), 4 класса (Броуз, Колумн, Еррор и еще какой-то), команды препроцессора и заголовочные файлы (опять же аналогия с С++)... Остальное - сильно смахивает на FoxPro/DOS... А разобрать - это как? Декомпилировать или понять что написано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2007, 13:01 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
Станислав С barsukofВозникла неоходимость разобрать прогу написанную на CLIPPER-е, подскажите где можно найти какие-нибудь книжки , FAQ по теме. Была неплохая книга Рика Спенсера по программированию на клиппере 5.01... Найти ее - только в библиотеке... Вообще-то сложного немного: инкремент/декремент как в С++, присваивание как в Паскале (:=), 4 класса (Броуз, Колумн, Еррор и еще какой-то), команды препроцессора и заголовочные файлы (опять же аналогия с С++)... Остальное - сильно смахивает на FoxPro/DOS... А разобрать - это как? Декомпилировать или понять что написано? Есть исходники , но периодически вознивают вопросы, по операторам, времени жалко на угадывание, хотя в общем все читаемо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2007, 14:01 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
barsukof Есть исходники , но периодически вознивают вопросы, по операторам, времени жалко на угадывание, хотя в общем все читаемоПошли письмо на мыло: stanislav1971 на mail точка ru, скину тебе Norton Guide (такая интерактивная справка по Клипперу..... Правда работает либо под чистым ДОСом, либо в Фаре) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2007, 14:12 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
barsukofЕсть исходники , но периодически вознивают вопросы, по операторам, времени жалко на угадывание, хотя в общем все читаемоА спрашивай... здесь старых клипперистов много. Пороемся в памяти :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2007, 18:02 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
White Owl barsukofЕсть исходники , но периодически вознивают вопросы, по операторам, времени жалко на угадывание, хотя в общем все читаемоА спрашивай... здесь старых клипперистов много. Пороемся в памяти :) Да просто хотелаось бы типа небольшого FAQ-а по функциям, если у кого есть. Чтоб хотя бы в текстовике быстернько по Ctrl+F найти попавшуюся функцию. Типа dtos , dbseek,RLOCK(),конструкция DBSEEK(PADL(TABEL->TABN,5)+"20000101"+"1") ,то есть инутитивно вроде понятно, но хотелось бы подтвердить свои догадки. А так же примеры работы с базами, я так понял в клиппере как бы создается alias базы и работа идет с ним Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2007, 18:42 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
barsukoff White Owl barsukofЕсть исходники , но периодически вознивают вопросы, по операторам, времени жалко на угадывание, хотя в общем все читаемоА спрашивай... здесь старых клипперистов много. Пороемся в памяти :) Да просто хотелаось бы типа небольшого FAQ-а по функциям, если у кого есть.Ну это НортонГада надо брать :) В те времена это был самый прогрессивный формат хранения документации... Полное описание Клиппера весит примерно два-три мегабайта. А еще можешь заглянуть сюда: http://www.itk.ru/clip/aboutclip.shtml Это один из потомков Клиппера, там есть вроде неплохая документация. barsukoffТипа dtos , dbseek,RLOCK(),конструкция DBSEEK(PADL(TABEL->TABN,5)+"20000101"+"1") ,то есть инутитивно вроде понятно, но хотелось бы подтвердить свои догадки. dtos - Date TO String конвертация date в string dbseek - поиск по таблице на основе индекса. Параметр функции должен совпадать с типом поля (или функции) по которой создан индекс. rlock - блокирование записи для много-пользовательского режима, остальные юзера смогут запись читать, но не смогут изменять. padl - PAD Left - добавить текстовую строку (первый параметр) слева пробелами до указаной общей длины (второй параметр) barsukoffА так же примеры работы с базами, я так понял в клиппере как бы создается alias базы и работа идет с нимНе совсем так. В Клиппере, как и во всех table-based СУБД используется принцип областей (страниц). Представь что работаешь с Excel - очень похоже будет. Клиппер может одновременно загрузить в память до 255 таблиц, одна из этих таблиц считается активной. Все функции и команды работы с таблицей (тот же dbseek например) идут в эту активную таблицу. Переключаться между таблицами можно командой select номер_области или select алиас_таблицы . Чтобы начать работать с новой таблицей сначала переключаешься в нужную область, потом командуешь use имя_dbf_файла , если хочешь, можешь в use указать и алиас для таблицы, иначе алиасом будет имя dbf файла. Как я уже говорил, одна из областей всегда активна. Если надо обратится к неактивной в данный момент области, то используется синтаксис со стрелочкой " -> " Слева от нее пишется алиас таблицы или номер области, справа имя поля в таблице или табличная функция которую надо запустить на указаную область. TABEL->TABN - это обращаение к полю tabn в области с алиасом tabel Код: plaintext Код: plaintext В команде use есть параметр index в котором перечисляются несколько индексных файлов, например use orders index byCode, byDate, byCity По умолчанию первый индекс в списке активный. Команды типа seek|dbseek всегда работают по активному индексу. Переключаешься на другой индекс командой set order to N, где N это номер индекса в списке как он был задан в use. Впрочем, вместо перечисления индексов в use можно использовать несколько пар set order to N, set index index_file ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2007, 19:49 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
Спасибо за советы White OwlНу это НортонГада надо брать :) нашел - взял. нашел и книгу в сети, как ни странно нашел APORT-ом. YA,GG и RAMBLER выдавали только книжные магазины. Теперь будем читать теорию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2007, 20:30 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
Вопрос по Clipper-у задавай здесь. Чем могу помогу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2007, 07:35 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
barsukoffнашел и книгу в сети Интересная тема. Поделитесь ссылкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2007, 12:05 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
Serik Akhmetov barsukoffнашел и книгу в сети Интересная тема. Поделитесь ссылкой. Откуда утянул не помню, пособие небольшое (0,5 не литра как подумали некоторые, а метра) , типа как МАНы в линухе. Могу выслать, моё почтовое отделение gerasimon[осторожно-злая собака!]mail.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2007, 21:24 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
klen_Вопрос по Clipper-у задавай здесь. Чем могу помогу. Задаю вопрос. У меня СУБД, написанная в Clipper'e, прекрасно работает вот уже более 10 лет - под DOS'oм и в сеансах DOS'а Win95/98. Более 40 пользователей, около 40 постоянно открытых dbf-файлов, интенсивно работают примерно 10 пользователей одновременно. Сеть под NetWare 5.0, 100 Мбит/сек. Но если эту же СУБД запустить в сеансе DOS'а Win2000/XP - индексы рушатся при первой же попытке что-то ввести в индексированный файл. Может быть тут есть некая фишка в настойках NetWare или Windows? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 18:02 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
K52Но если эту же СУБД запустить в сеансе DOS'а Win2000/XP - индексы рушатся при первой же попытке что-то ввести в индексированный файл. Может быть тут есть некая фишка в настойках NetWare или Windows?Винды... Клиппер открывает МНОГО файлов одновременно, а по умолчанию винды дают для DOS-сессии ... не помню, но недостаточное количество файловых буферов. Иди в ярлык запуска программы, на вкладке Program есть кнопка Advanced, там указываются два файла, перенаправь их на копии autoexec.bat и config.sys скопированые с DOS машины. Естественно их нужно будет слегка подправить - убрать ненужные драйвера и резиденты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 19:04 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
barsukof Пиши о прблемах, как тут уже сказали, попробуем помочь... K52 У меня СУБД, написанная в Clipper'e, прекрасно работает вот уже более 10 лет - под DOS'oм и в сеансах DOS'а Win95/98. Более 40 пользователей, около 40 постоянно открытых dbf-файлов, интенсивно работают примерно 10 пользователей одновременно. Сеть под NetWare 5.0, 100 Мбит/сек. Но если эту же СУБД запустить в сеансе DOS'а Win2000/XP - индексы рушатся при первой же попытке что-то ввести в индексированный файл. Может быть тут есть некая фишка в настойках NetWare или Windows? У меня прога работает 16 лет, в том числе и в W2K, 40 пользователей нет, но фалов точно более 40. Ничего не сыпется. Настройка в файлах AUTOEXEC.NT и CONFIG.NT На всякий случай может понадобится... В DOS это в AUTOEXEC.BAT В W2K это в AUTOEXEC.NT REM Максимум 115 файлов параметр CLIPPER SET CLIPPER=F:115 SET INCLUDE=E:\CLIPPER5\INCLUDE SET LIB=E:\CLIPPER5\LIB SET OBJ=E:\CLIPPER5\OBJ SET PLL=E:\CLIPPER5\PLL SET TEMP=C:\TEMP PATH C:\;D:\DOS;D:\NC;D:\UT;D:\;E:\CLIPPER5\BIN;E:\CLIPPER5\NG; В DOS это в CONFIG.SYS В W2K это в CONFIG.NT Максимум 120 файлов параметр DOS FILES=120 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2007, 21:12 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
K52Но если эту же СУБД запустить в сеансе DOS'а Win2000/XP - индексы рушатся при первой же попытке что-то ввести в индексированный файл. Может быть тут есть некая фишка в настойках NetWare или Windows?фишка в настройках на каждой клиентской машине короче настрой комп каждого пользователя вот так (см. вложение) а если ваши проги написаны на Clipper 5.01, то вместо SET CLIPPER=F80 напиши SET CLIPPER=E0;F80 E0 - это отказ от использования расширенной памяти (5.01 почему-то глючит с ней, у меня так было) F80 - всегда должно быть меньше , чем то что указано в Config.nt в параметре FILES в принципе в параметре FILES я указывал и 140 и 160 и соответственно писал SET CLIPPER=F120 всё нормально работало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2007, 07:51 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
klen_напиши SET CLIPPER=E0;F80 E0 - это отказ от использования расширенной памяти (5.01 почему-то глючит с ней, у меня так было) Прочитал отклики от klen_, Alex_Toms и White Owl. Большое спасибо всем за солидарность. Заинтересовало сообщение от Клёна: SET CLIPPER=E0;F80 В этой связи вопрос Клёну: у Вас программа работает под Win2K/XP? Сколько пользователей одновременно вводят данные ? Каким образом конкретно у Вас глючило , когда ты не отказывался от Extended Memory? У меня рушились индексы, а у Вас? У меня в файлах AUTOEXEC.NT и CONFIG.NT написано как положено: В AUTOEXEC.NT - SET CLIPPER=F135 В CONFIG.NT - FILES=140 Иначе просто ничего бы не работало, поскольку по умолч. всего 40 дескрипторов файлов. У меня же окроме постоянно открытых 40 файлов ещё и их индексы, всего около 90 дескрипторов постоянно занято. Плюс еще куча временных файлов могут быть открыты. Обязательно попробую с Е0. Но не прямо сейчас. Сейчас же для ясности повторю: имеется клипперная программа, которая идеально работает в сеансах ДОСа по Win98 в многопользовательском режиме, но глючит (рушатся индексы), если её пускать в сеансе ДОСа Win2K/XP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2007, 16:50 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
K52 Привет! Проги на Clipper 5.01 у нас работают и XP и в 98-ом число пользователей (кто одновременно вводит информацию ) ну и не только вводят и отчёты просматривают, не превышает 7 - 8 или 9 человек число записей к середине года 100 000, к концу года 200 тысяч ( в принципе не много ), но индексов 8 файлов ntx в autoexec.nt я писал SET CLIPPER=E0;F80 - сбоев нет ( но у нас нормальная сеть, 100 мегабит ) к тому же индексы, прога восстанавливает сама, выводя сообщение, мол всем выйти я сделаю сортировку, если видит что время и дата файлов dbf и индексов ntx отличаются (скажем на 5 минут) так что я могу и не знать, запортились индексы или нет, главное данные не портятся в dbf и к тому сервер делает архив данных каждую ночь и ещё вечером после работы сервер сжимает базу dbf, и заного создаёт все индексы. Пробовал писать =E1024;F80 дабы выделить мегабайт для использования расш. ппамяти. Вроде нормально работает, но иногда мышкой ведёшь через окно программы (хотя мышка не задействована в клиппер-программе), прога исчезает без всяких сообщений, оставляя временные файлы (со случайным именем без расширения) в текущем каталоге Этот глюк происходил только под XP. В 98-ом мышкой крути как хочешь. Пересекай мышкой через окно клипперовской проги, ничего не срубается, а под XP это риск, может срубится, может нет, причины не знаю В книге "CLIPPER руководство по программированию" автор Рик Спенс рекомендует писать =E0, но тогда речь шла о Windows 3-ей версии, которая ещё под ДОС-ом запускалась ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 09:00 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
Уважаемый klen_, спасибо за интересное сообщение. В ближайшую пятницу предложу нашему сисадмину. Я, видите ли, работаю по пятницам на одном небольшой заводике, поддерживаю у них СУБД, которую сам же написал 12 лет назад. С тех пор они (заводик) купили и ИНФИН, и 1С, 2 года назад купили Галактику. Но продолжают работать с моей системой, написанной в Clipper’e 5.01 12 лет назад! (Конечно, за эти годы я написал кучу дополнительно всякого сервиса по просьбам пользователей и начальников). Т.е. эта система (для заводика) оказалась лучше и ИНФИН’a, и 1С, и Галактики! Когда я запускал систему в 1995 году, заводик ещё работал на простенькой советской одноранговой сети ИОЛА. В этой ИОЛЕ, помнится, был т.н. бит кэширования запросов. Если в этом бите стоял 0, то при попытке одновременной записи на сервер с нескольких рабочих станций ИОЛУ клинило, и в результате индексы рушились. Если же в этом бите была 1, то ИОЛА правильно отрабатывала запросы на запись, даже если их было 10 штук сразу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 13:49 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
K52 Т.е. эта система (для заводика) оказалась лучше и ИНФИН’a, и 1С, и Галактики! Если ваша система оказалась удачной, работает до сих пор и в будующем будет востребована, то однозначно нужно переводить на SQL. В 1994г, на одном из предприятий я на Clipper’e 5.01 начинал делать прогу для бухгалтерского учёта. Пока работал один пользователь всё было ОК. Со временем разрабатывал другие модули и стала необходимость в работе более одного пользователя. Вот тогда и появились проблемы со сбоями, разрушение индексов, а также были случаи и таблиц. Сеть иногда глючила, не было ИБС на всех компах. Координально проблему удалось решить только переводом в 1996г на MSSQL, система прекрасно работает до сих пор, развивается, юзеров всё больше и больше... Для вас, можно рассмотреть вариант с бесплатной СУБД, MSSQLExpress, OracleLite, MySql или что то другое... Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2007, 06:04 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
K52...имеется клипперная программа, которая идеально работает в сеансах ДОСа по Win98 в многопользовательском режиме, но глючит (рушатся индексы), если её пускать в сеансе ДОСа Win2K/XP. Исходим из предположения, что чудес не бывает. Из описанной ситуации сразу же возникают вопросы: - кто рушит индексы - сеанс ДОСа на любом компе с Win2K/XP или на конкретном компе? - если заменить Win2k/XP на Win98 на том же самомо компе, то проблема сразу пропадает? - нет ли проблем с оборудованием (сетевая карта, материнка и т.д.) на проблемном(ых) компе(ах)... К чему я это? Просто на форуме по Фоксу часто обсуждаются подобные вопросы. Начальное предположение задающих подобный вопрос - Фокс глючный, это из-за него рушатся индексы, портятся dbf-ки и т.д. В процессе обсуждения выясняется, что проблема-то была в железе (на сервере, на рабочем месте, провода компьютерной сети и т.д.)... Скорее всего здесь та же самая ситуация.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2007, 07:45 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
если настройки в файлах autoexec.nt и config.nt не работают, то приходиться открывать свойства "Мой компьютер" и указывать в "Переменных средах" Clipper, Buffers, Files ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2007, 11:37 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
Alex_Toms K52 Т.е. эта система (для заводика) оказалась лучше и ИНФИН’a, и 1С, и Галактики! Если ваша система оказалась удачной, работает до сих пор и в будующем будет востребована, то однозначно нужно переводить на SQL. Все с точностью до наоборот. Если система оказалась удачной и работает до сих пор - ее ни в коем случае не надо трогать. Пусть работает. Паралельно можно разрабатывать аналогичную систему на более современных средствах, но оригинальную трогать не нужно. Вот если бы глючила, не справлялась с нагрузкой - тогда да, тогда действительно нужно переводить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2007, 18:30 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
White Owl K52 пишет: Но если эту же СУБД запустить в сеансе DOS'а Win2000/XP - индексы рушатся при первой же попытке что-то ввести в индексированный файл. То что система глючит, это факт. Вопрос то и был задан чтобы получить совет как от этого избавиться. А по замене ПО... Я же не имел ввиду, грохнуть старую и мучится с новой. Как правило это делается так, сначала сделать новую прогу, перегнать туда данные, вести параллельно работу, выловить в идеале все ошибки, сравнить результаты работы, допустим на примере отчётов, а уж потом отказываться от старой. Возможны варианты... Кстати вариант для K52, использовать терминальный доступ. Для 1С с DBF, это помогало... Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2007, 19:39 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
Посмотри на http://nova-mir.narod.ru Оттуда по ссылкам можно собрать все что нужно для программирования на Clippper Есть дельные советы и примеры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2009, 11:48 |
|
||
|
CLIPPER
|
|||
|---|---|---|---|
|
#18+
White Owldtos - Date TO String конвертация date в string Не совсем так. Подобное можно сказать о dtoc(), а dtos() преобразует дату в строку по принципу "от страшего к младшуму" и без национальных особенностей для использования ее в индексных выражениях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2009, 14:23 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=58&tid=1341862]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 421ms |

| 0 / 0 |
