Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
чтение из файла 10-го (наверное и 13-го) символа
|
|||
|---|---|---|---|
|
#18+
Читаю заголовок дбф файлика, смотрю на длину поля 10 (эт я знаю точно), но $a(...) возвращает -1. Подозреваю что собака зарыта в параметре file.Open(...). Признавайтесь, кто наступал на эти грабли :)... На всякий случай кусочек кода: s f=##class(%File).%New("d:\Vdd.DBF") d f.Open("RS") d f.Read(4) // Первые четыре байта не использую s fRowCount=f.Read(4) // кол-во строк s fHeaderLength=f.Read(2) // Длина заголовка //w !,$a($e(fHeaderLength,1,1))_" "_$a($e(fHeaderLength,2,2)) //w !,($a($e(fHeaderLength,1,1))+($a($e(fHeaderLength,2,2))*256)-1)/32 s fRowLength=f.Read(2) // Длина строки d f.Read(20) // Пропускаю 20 байт // Читаю описание заголовков по 32 байта f i=1:1:($a($e(fHeaderLength,1,1))+($a($e(fHeaderLength,2,2))*256)-1)/32-1 { s hName=$tr(f.Read(11),$c(0)) // Имя s hType=f.Read(1) // Тип d f.Read(4) // Пропускаю s hLength=$a(f.Read(1)) // Длина поля в байтах s hDec=$a(f.Read(1)) // Десятичных знаков s ^a(i,"h","name")=hName s ^a(i,"h","type")=hType s ^a(i,"h","length")=hLength s ^a(i,"h","dec")=hDec d f.Read(14) // Остальные байты заголовка } d f.Close() k q ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 13:11 |
|
||
|
чтение из файла 10-го (наверное и 13-го) символа
|
|||
|---|---|---|---|
|
#18+
ГРПодозреваю что собака зарыта в параметре file.Open(...). Признавайтесь, кто наступал на эти грабли :)... d f.Open("RU") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 14:16 |
|
||
|
чтение из файла 10-го (наверное и 13-го) символа
|
|||
|---|---|---|---|
|
#18+
Непроконало. Работает вариант с d f.Open("RF:1"), но приходится читать последовательность из 10 байт в цикле, что не есть выход... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 14:52 |
|
||
|
чтение из файла 10-го (наверное и 13-го) символа
|
|||
|---|---|---|---|
|
#18+
ГР , какую вообще задачу решаеш? ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 16:20 |
|
||
|
чтение из файла 10-го (наверное и 13-го) символа
|
|||
|---|---|---|---|
|
#18+
В данном случае хочу прочесть дбф-файл, записать его описания столбцов и, далее, прочесть/сохранить данные в глобалах. Дело в том что я ранее наступал на эти грабли, и Shu подсказал решение, которое я привел выше. Можно, конечно, использовать Open|Use Close, но хоццо пользовать %File разс оно есть:). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 00:40 |
|
||
|
чтение из файла 10-го (наверное и 13-го) символа
|
|||
|---|---|---|---|
|
#18+
Вот тебе программка. Она может как читать из dbf (но не учитывает удаленые записи), так и создавать... Правда она в DOS кодировке... :) ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 08:16 |
|
||
|
чтение из файла 10-го (наверное и 13-го) символа
|
|||
|---|---|---|---|
|
#18+
Там есть еще процедурки и функции из вне... Вот они Код: 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. Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 08:23 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=39&tid=1559262]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 359ms |

| 0 / 0 |
