Автор | Сообщение |
|
| |
Пост N: 1
Зарегистрирован: 07.02.12
|
|
Отправлено: 07.02.12 11:34. Заголовок: Изучаю Clipper
Доброго всем времени суток! Решил немного подучить Clipper. Это не для учёбы, не для работы. Так для себя. С удивлением обнаружил, что в сети нет нормальных учебников по Clipper. Есть Norton guides с описанием функций, но мне необходим имеено учебник с примерами и описанием происходящего. Для чайников. Что именно интересует: 1. Структура программы (если он есть, как в Паскале?) 2. Типы данных 3. Ввод-вывод 4. Операторы цикла, ветвления и т. д. 5. Желательны примеры работы с dbf-файлами. Открытие, выборка записей, изменение их, удаление, и т. д. Что сделал самостоятельно: Скачал Clipper 5.3. Установил его в DosBox. Создал программу hello.prg с содержимым: ? "Hello world" Скомпилировал его и слинковал blinker'ом. В результате всё работает. Мне бы двинуться дальше, но не могу - инфы для изучения нет!
|
|
|
Ответов - 80
, стр:
1
2
3
4
All
[только новые]
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 16.02.12 14:25. Заголовок: Еще очень хорошая кн..
Еще очень хорошая книга есть: Сухов Н. "Практический курс программирования на CA-Clipper"
|
|
|
|
| |
Пост N: 17
Зарегистрирован: 07.02.12
|
|
Отправлено: 16.02.12 14:27. Заголовок: clipper.exe возвраща..
clipper.exe возвращает 5,3
|
|
|
|
| |
Пост N: 2297
Зарегистрирован: 17.05.05
|
|
Отправлено: 16.02.12 14:33. Заголовок: demetrius2003 Тогда..
demetrius2003 Тогда смотри предложение EVAL команды Index
|
|
|
|
| |
Пост N: 2298
Зарегистрирован: 17.05.05
|
|
Отправлено: 16.02.12 16:13. Заголовок: Alw Spencer пишет: ..
Alw Spencer пишет: цитата: | Еще очень хорошая книга есть: Сухов Н. "Практический курс программирования на CA-Clipper" |
| В электронном виде ?
|
|
|
|
| |
Пост N: 160
Зарегистрирован: 11.10.11
|
|
Отправлено: 16.02.12 18:03. Заголовок: demetrius2003 пишет:..
demetrius2003 пишет: цитата: | Смысл в том, что построение индекса таблицы DT239 проходит моментально, а SC33 мягко говоря нет. Т. е. не понятно, идёл ли оно вообще, или всё повисло. Ждал более часа, менял виртуалку на qemu. Каким образом можно контролировать этот процесс? |
| При инлексировании вызывается функция sort, для работы которой нужно много памяти и место на диске под временный набор. Попробуйте запустить индексацию автономно в простейшей программе, которая больше ничего не содержит. Кроме того у вас индекс возможно состоит из различных выражений со строками, которые постоянно требуют выделения памяти для их копирования при вычислении выражений.
|
|
|
|
| |
Пост N: 2301
Зарегистрирован: 17.05.05
|
|
Отправлено: 16.02.12 18:11. Заголовок: Сыроежка пишет: Кро..
Сыроежка пишет: цитата: | Кроме того у вас индекс возможно состоит из различных выражений со строками |
| Нет там ни чего похожего. demetrius2003 пишет:
|
|
|
|
| |
Пост N: 426
Зарегистрирован: 11.06.10
|
|
Отправлено: 16.02.12 18:16. Заголовок: У меня база весит 23..
У меня база весит 23 мегабайта и количество записей 420 тис. и индексируется она приблизительно минуту, может быть проблема в железе (винчестер), нужно попробовать на другом компе. Сыроежка пишет: цитата: | Кроме того у вас индекс возможно состоит из различных выражений со строками, которые постоянно требуют выделения памяти для их копирования при вычислении выражений. |
| внимательно читаем demetrius2003 пишет: цитата: | Ребята! Чисто технический вопрос. Есть код: ? "Start program" USE DT239 NEW ? "Start dt239" INDEX ON IDDOC TO DT239 USE SC33 NEW ? "Start sc33" INDEX ON ID TO SC33 |
| какие выражения?
|
|
|
|
| |
Пост N: 18
Зарегистрирован: 07.02.12
|
|
Отправлено: 16.02.12 19:38. Заголовок: Код предельно прост...
Код предельно прост. Проблема с железом исключена - программа запускалась под DosBox, QEmu и на железном компе - результаты везде одинаковы. Жаль, что нет ошибок времени исполнения, ни чего похожего. Прога всё-ж виснет. SC33.NTX создаётся 1024 байта и всё - тишина! Кстати, файл SC33.DBF взят из 1С базы. Сама 1С при тестировании говорит, что файл нормален. Это вдвойне странно, ведь DT239.DBF оттуда же и переваривается нормально. Ладно, пока отставим это на потом. Изучу Index, Eval и т. д. Там видно будет.
|
|
|
|
| |
Пост N: 2303
Зарегистрирован: 17.05.05
|
|
Отправлено: 16.02.12 19:46. Заголовок: demetrius2003 пишет:..
demetrius2003 пишет: А метни этот файлик в архиве на какой нить файлообменник , проверю у себя.
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 16.02.12 22:06. Заголовок: Вот еще нашел http:/..
|
|
|
|
| |
Пост N: 19
Зарегистрирован: 07.02.12
|
|
Отправлено: 17.02.12 06:11. Заголовок: файлы..
Dima - файлы Иван - эти дистрибутивы и руководство встречаются очень часто, на каждом шагу. Я это видел множество раз. Кроме этого ничего нет.
|
|
|
|
|
| постоянный участник
|
Пост N: 739
Зарегистрирован: 27.01.07
|
|
Отправлено: 17.02.12 08:58. Заголовок: demetrius2003, сейча..
demetrius2003, сейчас проверил индексацию SC33.DBF. Только не Клиппером, а Харбором. Индекс (NTX) создался за 0.06 сек.
|
|
|
|
| |
Пост N: 2305
Зарегистрирован: 17.05.05
|
|
Отправлено: 17.02.12 10:52. Заголовок: demetrius2003 Clipp..
demetrius2003 Clipper 5.2e use sc33 new index on id to test Dbfntx - NTX cоздан успешно Sixcdx - IDX cоздан успешно
|
|
|
|
| |
Пост N: 2306
Зарегистрирован: 17.05.05
|
|
Отправлено: 17.02.12 11:05. Заголовок: demetrius2003 Попро..
demetrius2003 Попробуй так ? "Start program" USE DT239 NEW ? "Start dt239" INDEX ON IDDOC TO DT239 USE SC33 NEW ? "Start sc33" INDEX ON ID TO SC33 BROWSE() Дойдет дело до browse или нет. Кодировка в базе Ansi поэтому в browse будут крякозяблы.
|
|
|
|
| |
Пост N: 20
Зарегистрирован: 07.02.12
|
|
Отправлено: 17.02.12 11:07. Заголовок: Подтверждаю! Harbour..
Подтверждаю! Harbour-2.1. Доли секунды - и два индексных файла (SC33.NTX - 414720 байт, DT239.NTX - 7168 байт) готовы. Полагаю, что проблема скорее всего в 1С, а точнее в их понимании DBF формата. Но кто бы знал! Знать бы ещё причину такого поведения! До browse не дойдет, что-то подобное пробовал. P.S.: Всё! Разобрался! Без изменения кода скомпилировал в Clipper 5.2. Прога отработала и выдала индексы. Правда размер SC33.NTX - 419840 байт.
|
|
|
|
| Администратор
|
Пост N: 2259
Зарегистрирован: 23.05.05
|
|
Отправлено: 17.02.12 11:40. Заголовок: Дополнительные глюки..
Дополнительные глюки может давать dosbox
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 24.02.12 17:48. Заголовок: Dima пишет: Alw Sp..
Dima пишет: цитата: | Alw Spencer пишет: цитата: Еще очень хорошая книга есть: Сухов Н. "Практический курс программирования на CA-Clipper" В электронном виде ? |
| Dima, увы, только в бажном виде, как и цитата: | 2. "CA-Clipper 5.2 и билиотека CA-Clipper TOOLS 3.0" Канатников А.Н., Ткачев С.Б. 3. "Clipper. Руководство по программированию. 3 издание, версия 5.01" Рик Спенс. Это единственная оригинаьная книга, которая не является простой компиляцией документации. |
| Много раз перечитанные.
|
|
|
|
| |
Пост N: 21
Зарегистрирован: 07.02.12
|
|
Отправлено: 27.02.12 14:27. Заголовок: Очередной вопрос - а..
Очередной вопрос - а есть ли у Клиппера механизм подобный ссылкам или указателям? Как я, к примеру, могу организовать структуру связанного списка?
|
|
|
|
| |
Пост N: 170
Зарегистрирован: 11.10.11
|
|
Отправлено: 27.02.12 14:58. Заголовок: demetrius2003 пишет:..
demetrius2003 пишет: цитата: | Очередной вопрос - а есть ли у Клиппера механизм подобный ссылкам или указателям? Как я, к примеру, могу организовать структуру связанного списка? |
| Связный список - это, по сути, некоторый определенный интерфейс, который может быть реализован разными способами. Так как в Clipper массив обладает достаточной гибкостью, позволяя вставлять элементы в любую позицию, то вы с помощью массива можете обеспечить функциональность связного списка.
|
|
|
|
| Администратор
|
Пост N: 2284
Зарегистрирован: 23.05.05
|
|
Отправлено: 27.02.12 15:06. Заголовок: Есть передача параме..
Есть передача параметров функции по ссылке - перед переменной надо указать символ @: myfunc(@par1) Есть также тип блок кода. Это что-то вроде адреса функции, только это делается намного более гибко. Для создания списка можно использовать массивы. Массив - это собственно не массив в традиционном понимании, а именно список: элементом массива может быть значение любого типа данных, в том числе массива. Таким образом, можно создавать структуры произвольной сложности.
|
|
|
Ответов - 80
, стр:
1
2
3
4
All
[только новые]
|
|