View previous topic :: View next topic |
Author |
Message |
WildCat
Joined: 13 Sep 2005 Posts: 18 Location: Андрей Забабонин Occupation: ОАО "1000 мелочей" Interests: Калининград
|
Posted: 13 Sep 2005 13:09 Post subject: Не читается SUM_DATA в \BEST\REAL\book.dbf |
|
|
Доброго времени суток, коллеги!
Есть нужда поработать с книгой продаж, но
DBUSEAREA(.t.,'SIXCDX','\BEST\DBASE\REAL\book.dbf')
MEMOEDIT(sum_data)
показывает пустышку (с другими файлами все нормально), хотя book.fpt информацию содержит. Нет ли каких-либо особенностей у этих файликов?
Заранее спасибо. |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 13 Sep 2005 15:58 Post subject: |
|
|
Вы в 4+ работаете ?
Если да - то
Какой DBUSEAREA ????
Какой SIXCDX ?????
Там DBFCDX и указывать его не надо а работать надо
NETUSE("MYBOOK",LoadPath()+'\REAL\book.dbf',,.F.)
MYBOOK->( MEMOEDIT(sum_data) ) |
|
Back to top |
|
|
WildCat
Joined: 13 Sep 2005 Posts: 18 Location: Андрей Забабонин Occupation: ОАО "1000 мелочей" Interests: Калининград
|
Posted: 13 Sep 2005 16:46 Post subject: |
|
|
Это БЭСТ-4.
DBUSEAREA() - функция Clipper для открытия dbf-ки.
SIXCDX - подключаемый драйвер для работы с dbf-ками и их индексами, используемыми БЭСТ-ом.
У меня есть нужда сваять отдельную прогу. |
|
Back to top |
|
|
Титов Александр
Joined: 26 Jul 2002 Posts: 975 Location: Титов Александр Александрович Occupation: Компания БЭСТ Interests: Москва
|
Posted: 13 Sep 2005 17:11 Post subject: |
|
|
WildCat wrote: | Это БЭСТ-4.
DBUSEAREA() - функция Clipper для открытия dbf-ки.
SIXCDX - подключаемый драйвер для работы с dbf-ками и их индексами, используемыми БЭСТ-ом.
У меня есть нужда сваять отдельную прогу. |
Добрый день!
Тут вот что имелось ввиду:
Для открытия таблиц мы рекомендуем использовать нашу функцию NetUse(), она описана в хелпе, так как там уже указаан драйвер по умолчанию.
Если Вы хотите написать отдельную программу, то в параметрах DBUSEAREA необходимо указывать драйвер работы с БД "DBFCDX". _________________ С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо |
|
Back to top |
|
|
WildCat
Joined: 13 Sep 2005 Posts: 18 Location: Андрей Забабонин Occupation: ОАО "1000 мелочей" Interests: Калининград
|
Posted: 13 Sep 2005 17:28 Post subject: |
|
|
DBUSEAREA() срабатывает нормально.
MEMOEDIT не воспринимает значение memo-поля SUM_DATA в book.dbf. В book.fpt информация присутствует. Отсюда и вопрос: нет ли каких-либо особенностей в файлах book.* (шифрование или какой-нибудь другой способ обработки)? Для сравнения: help05.dbf открывается нормально, в help05.fpt информация видна при просмотре с помощью текстового вьюера и MEMOEDIT работает нормально. Полный текст тестовой проги - в первом пос |
|
Back to top |
|
|
Титов Александр
Joined: 26 Jul 2002 Posts: 975 Location: Титов Александр Александрович Occupation: Компания БЭСТ Interests: Москва
|
Posted: 13 Sep 2005 17:43 Post subject: |
|
|
WildCat wrote: | DBUSEAREA() срабатывает нормально.
MEMOEDIT не воспринимает значение memo-поля SUM_DATA в book.dbf. В book.fpt информация присутствует. Отсюда и вопрос: нет ли каких-либо особенностей в файлах book.* (шифрование или какой-нибудь другой способ обработки)? Для сравнения: help05.dbf открывается нормально, в help05.fpt информация видна при просмотре с помощью текстового вьюера и MEMOEDIT работает нормально. Полный текст тестовой проги - в первом посте. |
Это массив, я думаю, memoedit тут не подойдет. Нужно его просто прочитать как массив, и дальше писать операции по его редактированию. _________________ С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо |
|
Back to top |
|
|
WildCat
Joined: 13 Sep 2005 Posts: 18 Location: Андрей Забабонин Occupation: ОАО "1000 мелочей" Interests: Калининград
|
Posted: 13 Sep 2005 18:05 Post subject: |
|
|
Нельзя ли взглянуть на фрагмент кода, который записывает массив в memo-поле? Я, признаться, не совсем представляю себе, как это сделать напрямую. |
|
Back to top |
|
|
Титов Александр
Joined: 26 Jul 2002 Posts: 975 Location: Титов Александр Александрович Occupation: Компания БЭСТ Interests: Москва
|
Posted: 13 Sep 2005 18:21 Post subject: |
|
|
WildCat wrote: | Нельзя ли взглянуть на фрагмент кода, который записывает массив в memo-поле? Я, признаться, не совсем представляю себе, как это сделать напрямую. |
Code: | // Структура SUM_DATA :
// {;
// {;
// {;
// { сумма вкл. НДС, флаг изменения суммы вкл. НДС },;
// { процент НДС (уникальный номер), флаг изменения процента НДС },;
// { сумма НДС, флаг изменения суммы НДС };
// }
// ..................... (элементы с другими ставками НДС)
// };
// .................... (элементы с дополнительной информацией- пока не используется)
// }
aDataSum := IF(ValType(Book->SUM_DATA) = "A",Book->SUM_DATA,{{}})
Book->(RecLock())
Book->SUM_DATA:=aDataSum
Book->(DbUnLock()) |
_________________ С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо |
|
Back to top |
|
|
WildCat
Joined: 13 Sep 2005 Posts: 18 Location: Андрей Забабонин Occupation: ОАО "1000 мелочей" Interests: Калининград
|
Posted: 13 Sep 2005 18:40 Post subject: |
|
|
Спасибо! Буду пробовать. |
|
Back to top |
|
|
WildCat
Joined: 13 Sep 2005 Posts: 18 Location: Андрей Забабонин Occupation: ОАО "1000 мелочей" Interests: Калининград
|
Posted: 14 Sep 2005 12:14 Post subject: |
|
|
Доброе утро, Александр!
Написал я маленький тест:
clear screen
DBUSEAREA(.t.,'DBFCDX','f:\tree.new\real\book','book',.t.,.t.)
book -> ( DBSETINDEX('f:\tree.new\real\book') )
@ 05,00 say "Field type - "+ValType(book->Sum_Data)
a_sum := { {} }
@ 06,00 say "a_sum type - "+VALTYPE(a_sum)+" before"
a_sum := book->sum_data
@ 07,00 say "a_sum type - "+VALTYPE(a_sum)+" after"
Результат такой:
тип поля в базе - М;
тип a_sum до a_sum := book-sum_data - A (как и положено) после a_sum := { {} };
тип a_sum после a_sum := book-sum_data - С и это стопроцентно согласуется с моими познаниями в Clipper: memo-поля предназначены для хранения символьной информации большого объема из-за ограничения размера полей. На мысль о том, что массив был как-то обработан и результат зашифрован (в этом варианте MEMOEDIT действительно помочь не может из-за наличия спецсимволов в строке) наводит и содержимое book.fpt. Символьная информация, записанная в memo-поле может быть прочитана из fpt-файла обычным текстовым вьюером. В случае с book.fpt это не так. Или я что-то не понимаю? |
|
Back to top |
|
|
Титов Александр
Joined: 26 Jul 2002 Posts: 975 Location: Титов Александр Александрович Occupation: Компания БЭСТ Interests: Москва
|
Posted: 14 Sep 2005 12:41 Post subject: |
|
|
WildCat wrote: | Доброе утро, Александр!
Написал я маленький тест:
clear screen
DBUSEAREA(.t.,'DBFCDX','f:\tree.new\real\book','book',.t.,.t.)
book -> ( DBSETINDEX('f:\tree.new\real\book') )
@ 05,00 say "Field type - "+ValType(book->Sum_Data)
a_sum := { {} }
@ 06,00 say "a_sum type - "+VALTYPE(a_sum)+" before"
a_sum := book->sum_data
@ 07,00 say "a_sum type - "+VALTYPE(a_sum)+" after"
|
На чем Вы пишите, какой компилятор используете, какие библитотеки подключает _________________ С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо |
|
Back to top |
|
|
WildCat
Joined: 13 Sep 2005 Posts: 18 Location: Андрей Забабонин Occupation: ОАО "1000 мелочей" Interests: Калининград
|
Posted: 14 Sep 2005 12:47 Post subject: |
|
|
Язык Clipper 5.2
Компилируюсь так:
clipper %1 %2
rtlink file %1,ctus,rddcdx lib ct,dbfcdx
До попыток поработать с book.* никаких проблем не бы |
|
Back to top |
|
|
Титов Александр
Joined: 26 Jul 2002 Posts: 975 Location: Титов Александр Александрович Occupation: Компания БЭСТ Interests: Москва
|
Posted: 14 Sep 2005 13:12 Post subject: |
|
|
WildCat wrote: | Язык Clipper 5.2
Компилируюсь так:
clipper %1 %2
rtlink file %1,ctus,rddcdx lib ct,dbfcdx
До попыток поработать с book.* никаких проблем не было |
Тогда понятно: в клиппере библотека dbfcdx не поддерживает работу с массивами, вместо нее необходимо использовать библиотеку и RDD six3. Если нет - могу прислать. _________________ С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 14 Sep 2005 13:50 Post subject: |
|
|
Сан Саныч а еще лучше было бы предложить писать не в клиппер а в харборе непосредственно и компилировать и не мучаться ДОСом, а заодно использовать все преимущества харбора перед клиппером применительно к БЭСТу....
Другими словами добро пожаловать в рубрику повыше
Если Вы хорошо владете клиппером, то харбор сможете оценить по достоинству, особенно поработав внутри БЭСТа отладчиком.... |
|
Back to top |
|
|
Титов Александр
Joined: 26 Jul 2002 Posts: 975 Location: Титов Александр Александрович Occupation: Компания БЭСТ Interests: Москва
|
Posted: 14 Sep 2005 14:03 Post subject: |
|
|
nordk wrote: | Сан Саныч а еще лучше было бы предложить писать не в клиппер а в харборе непосредственно и компилировать и не мучаться ДОСом, а заодно использовать все преимущества харбора перед клиппером применительно к БЭСТу....
Другими словами добро пожаловать в рубрику повыше
Если Вы хорошо владете клиппером, то харбор сможете оценить по достоинству, особенно поработав внутри БЭСТа отладчиком.... |
Да, полностью поддерживаю, харбор - это сказка _________________ С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо |
|
Back to top |
|
|
|