Мемо поля в ДБФ - как с ними работать? #113972


#0 by RomaH
В ДБФ вообще не силен поэтому расскажу своими словами:Есть таблица ДБФ создана под FoxPro - есть в этой таблице memo поле - вот никак не разберучсь как значение этого поля получить. Похоже что это значение записано в другой таблице, но не вижу поля для связи.
#1 by miki
Да, значения memo-полей записаны в другом файле.Объект 1С XBase с memo-полями не работает.
#2 by Frog
memo поля не поддерживаются.
#3 by smaharbA
только читать заголовок ДБФ, находить мемо поля и считывать их из файла ИмяДБФ.fpt, короче писать самому процедуру работы с таблицами ДБФ...
#4 by RomaH
файл fpt нашел вроде с данными похожеми на правдуа в какую сторону копать ?т.е. как теперь из этого файла получить соответсвие записей?
#5 by smaharbA
ищешь байт с кодом 1 (назовем байт Ах) из четвертого от него читаешь длинну (байт ByteSize) и все последующие байты по N(ByteSize) будут инфой... какая инфа по порядку от начала сказано в ДБФ...
#6 by smaharbA
+ и так читаешь весь файл в цикле...
#7 by smaharbA
В понедельник думаю опубликую "полноечтенье" Дбф в 1Сэ... (если не лень будет)
#8 by RomaH
у как все запущено :)а ничего попроще нет?в блокноте этот файлик открывается вроде в читаемом виде вот думаю если там строки идут в такомже порядке как и в дбф - то может что получится?
#9 by smaharbA
нет если поле меняется, то создается новая запись в fpt и соответственно меняется номер начального байта в ДБФ, потому файлы с мемо полями надо сжимать...
#10 by RomaH
т.е. можно отказаться от затеи выловить это поле, или ждать понедельникаОК"В понедельник думаю опубликую "полноечтенье" Дбф в 1Сэ" - это как и где?
#11 by smaharbA
+ поправлюсь - номер байта от начала файла fpt, записывается в соответствующую запись ДБФ
#12 by smaharbA
счас дам код на ВБС, просто читает все записи (нужные и не нужные) из файла fpt
#13 by smaharbA
Одолели, еще и сайт правь (сделан еще так что фих изменения/дополнения внесешь, впору самому переделывать)+ Тупенько, в понедельник на 1Сэ код дам чтения ДБФ+Мемо...const ForReading=1if WScript.Arguments.count>0 thenFileMemo=WScript.Arguments.Itemelsedo while Not f.AtEndOfStream    if ByteSizeLong>0 and ByteSizeLong<CLng("&HFFFF") then
#14 by Дурочка 1С
Можно поставить FoxPro и по ОЛЕ его заставить работать.
#15 by RomaH
smaharbA, жду :)
#16 by Anomaly
ой как все сложно...Через ADO все не так страшно, но тоже все получается ))
#17 by RomaH
поделись примерчиком тогдаADO - дрова нужны - какие, где брать?
#18 by Anomaly
Посмотри на Proclub - где-то была хорошая обработка для формирования SQL запросов к внешним базам данных...
#19 by smaharbA
вечером, счас времени 0, попробовал 13?
#20 by RomaH
я не прог, поэтому что бы просто понять как и где запустить этот код уйдет очень много времени :)а что бы вышел толк из того что даже если запущу - еще дольше
#21 by RomaH
Вобщем поискал на проклубе по DBF и SQLНашел два отдельных приложения - одно нормально читает мемо поля, но из него ничео не сохранитьвобщем ниего хорошего.
#22 by Anomaly
а в чем проблема - дорисовать кнопку "Сохранить"? ТЗ в текстовый файл перегнать?...
#23 by RomaH
так EXE + dll
#24 by RomaH
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=6&lid=2163
#25 by Anomaly
действительно, exe - это плохо ))Я не то имела ввиду. Сейчас вот еле нашла - почему-то в запросы по сайту это не попадает - нашла по e-mail автора.http://1c.proclub.ru/modules/mydownloads/personal.php?cid=83&lid=1789
#26 by RomaH
а теперь такой вопрос :)есть dbf таблица xBase4 вроде - из программы по первой ссылке я её вижу.Как прогу из второй ссылки подключитьВыбираю "Provider=MSDASQL.1;Persist Security Info=False;Data Source=dBASE Files;Initial Catalog=S:platwin5platwin5"строка подключенияв запросе пишу:"select * from table_2"в итоге имею:Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][Драйвер ODBC dBase] Непредвиденная ошибка драйвера внешней базы данных (8961)..что не так?
#27 by RomaH
up
#28 by Дурочка 1С
#29 by RomaH
ВсегоЭлементов - это что?количество записей в таблице?
#30 by RomaH
ну это уже понятнееа попроще чего?это ж надо будет обратно читать из 4000 текстовых файлова в один файл засунуть?
#31 by Дурочка 1С
Если тебе приоткрыли щелочку двери, не надо туда тут же нагло пихать всю ногу...
#32 by RomaH
:)красавицы, ну не хватает мне этой щелочки, нет сейчас времени разбираться что к чему.Я понял что Фокс=СоздатьОбъект("VisualFoxPro.Application");и что Фокс.DoCmdно что бы разобраться что писать в (*) - это ж сколько времени понадобитсяу меня сейчас стоит задача прочитать мемо поля, пока сказал заказчику что никак. (ну никак так никак)что ж надо будет - теперь спасибо вам знаю куда копать и где искать
#33 by RomaH
up
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С