Имя: Пароль:
1C
1С v8
Можно ли реализовать подобие сишного fseek() при работе с ДвоичныеДанные ?
, ,
0 булочник
 
27.02.15
20:00
Можно ли реализовать подобие сишного fseek() с SEEK_SET,SEEK_END,SEEK_CUR
при работе с ДвоичныеДанные ?
1 ДенисЧ
 
27.02.15
20:02
Я не против. Реализуй.
2 булочник
 
27.02.15
20:03
(1)
спасибо за разрешение,но как ?
3 Провинциальный 1сник
 
27.02.15
20:04
Это да. Реально не хватает в восьмерке работы с двоичными данными именно как с двоичными данными.
4 булочник
 
27.02.15
20:08
в 8.3.6 прикрутили JSON
а c++ или asm будет дальше будет?
5 ДенисЧ
 
27.02.15
20:12
(4) Дальше будет кнопка "Сделать всё"
(2) Для дядя Боря внешние компоненты придумывал?
6 Garykom
 
гуру
27.02.15
20:22
(0)(2) чем не устраивает посимвольное чтение в "Текст = Новый ЧтениеТекста" ?
7 ДенисЧ
 
27.02.15
20:23
(6) И как ЧтениеТекста отреагирует на 0х00 в двоичных данных?
8 Garykom
 
гуру
27.02.15
20:25
(7) не знаю, можешь проверить через КодСимвола
9 Garykom
 
гуру
27.02.15
20:28
(8)+ но когда то в 7.7 пришлось для чтения кривых FoxPro'ных dbf'ин писать свою "типа ВК" используя ВК для чтения по байтикам

один "вумный" разраб догадался id использовать строковые со всеми символами ASCII, включая коды 0-32
10 ДенисЧ
 
27.02.15
20:30
(8) А я знаю...
11 Garykom
 
гуру
27.02.15
20:31
(10) неужто как на символ конца файла? ))
12 ДенисЧ
 
27.02.15
20:33
(11) А ты откуда знаешь???
Я ещё никому не говорил...
За тобой выехали, никуда не уходи.
13 Garykom
 
гуру
27.02.15
20:34
ну ладно тогда пойдем сложным путем с кучей сожранной оперативки (зато без ВК)...

Base64Строка(<ДвоичныеДанные>) -> Строка обычная, далее декодим сами в коды символов и делаем что надо с ними...
14 D_E_S_131
 
27.02.15
20:36
А скажите для какой практической задачи это вообще надо?
15 Garykom
 
гуру
27.02.15
20:37
(13) а это идея была бы если можно было "Base64ТекстовыйФайл" ... далее "ЧтениеТекста" - нужный seek...adn destroy ))
16 vasbur
 
27.02.15
20:52
(0) может, в MDSN-е есть аналогичные методы - тогда их не проблема заюзать из  под 1С?
17 vasbur
 
27.02.15
20:55
(0) есть какие-то классы в .net-е, а их можно из 1с использовать через ком.

https://msdn.microsoft.com/ru-ru/library/system.io.filestream.seek(v=vs.110).aspx
18 Garykom
 
гуру
27.02.15
20:56
(17) "мальчик", ты откуда?
19 Garykom
 
гуру
27.02.15
20:58
(18)+ в смысле если есть внешняя прога/ВК то нафига тогда вообще ДвоичныеДанные ? не проще ли с файлом работать
20 oleg_km
 
27.02.15
22:07
ADODB.Stream курите. Там реализовано
21 Провинциальный 1сник
 
28.02.15
16:27
(14) Задачи разные могут быть. Например, обмен данными в бинарном формате. Скажем, какое-то устройство выдает бинарные данные в виде файла определенной структуры, и надо их из 1с читать. Сейчас красивого метода это сделать просто нет.. только костыли разной формы.
22 Garykom
 
гуру
28.02.15
16:47
(21) если файлик маленький (оперативы дофига) чем не устраивает метод (13) ?
23 Torquader
 
28.02.15
16:49
(22) Ну, Base64 как бы не так просто на байты нарезается.
24 Garykom
 
гуру
28.02.15
16:57
(23) как бы не просто а "очень просто" любой исходный байт можно восстановить по двум символам Base64,

там только с позиционированием слегка трабла,

но проблема то небольшая нужные символы высчитать используя умножения на 8 и деление на 6