Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
Подскажите как реализовать на Каше такую идею. Мне нужно извлечь текст из текстового файла (из файла с расширением или .doc или .txt), и дальше работать с этим текстом как с типом %String в глобале например. Т.е. содержимое файла преобразовать в строку. Можете код привести, а то что-то е получается у меня... Я делал через %Stream - но в итоге получилась билиберда. На csp странице каракули вместо текста файла! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2008, 16:14 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
А что значить работать как со стрингом ? Я тут где то выкладывал пример - который построчно считывал файл в глобал - получалась следующая структура ^file=кол-во строк ^file(1)=1-я строка файла ... ^file(n)=n-я строка файла Но это для простых текстовых файлов - к которым например .doc не относиться Что до каракулей - это смотря в какой кодировке файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2008, 21:11 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
А вы откройте .doc файл блокнотом. Пробовали? В принципе можно с ним через ActiveX-Cache Activate. Где-то на форуме было, как работать с экселем, также попробйте с вордом. А у вас с .txt файлом тоже проблемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 06:02 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
CacheLotМожете код привести, а то что-то е получается у меня... Как вариант Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 09:16 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
Я кстати не понял почему в классе %File есть функция WriteLine, а ReadLine - нет ! т.е. получаеться я должен посимвольно считывать пока не упрусь с символ перевода строки? Не мог бы кто-нибуть подсказать как его в cache описать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 15:31 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
ЕМНИП Если вы в параметрах открытия указали только "R" - то ..Read() и так будет читать строки... Для того что бы он читал не строки, а байты - нужно указывать "RS" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 15:43 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
DysanНе мог бы кто-нибуть подсказать как его в cache описать? Пример чтения файла построчно я приводил тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 15:43 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
PtnЕсли вы в параметрах открытия указали только "R" - то ..Read() и так будет читать строки... Это когда такое сделали? Я как-то интересовался у представителей IS... Они сказали, что аналога ReadLn() нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 15:45 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
вот вариант есть Set stream=##class(%FileCharacterStream).%New() Set stream.Filename="c:\myfile.txt" While 'stream.AtEnd { Set line=stream.ReadLine() ; Process the line here } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 15:49 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
Ptn , я сделал тестовый пример... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Код: plaintext ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 15:51 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
Я со "стремами" не работал... Dysan , там файл "подгружается" сразу? Или по мере "обращения"? ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 15:53 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
Скорее всего по мере обращения )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 15:57 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
krvsa Как правильно читать файл построчно? подловил .... йа оказыается через open use read читал :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 17:24 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
[quot krvsa]Я со "стремами" не работал... Dysan , там файл "подгружается" сразу? Или по мере "обращения"? файл никак не подгружается. вы указываете стриму ссылку на файл, поэтому он в себе сначала хранить всего лишь ссылку. когда начинаешь его ReadLine-ить, он построчно считывает файл. Он его вообще никуда не подгружает. FileCharacterStream предназначен только для работы с внешними файлами.. то есть при работе с файлом через FileCharacterStream означает что вы работает с потоком который хранится во внешнем файле.. Это как будто вы обращаетесь к потоку, который не в памяти, а вне. Поэтому при работе с этим классом естесттвенно можно тока построчно обращаться, а сразу никак, также как и при работе со стримом вообще. а вот класс %File - он уже для того, чтобы работать с файлом, также как и с потоком... то есть просто способ работы с файлом. %File дает возможность обрабатывать файл так как будто он поток. в этом случае, файл будет весь подгружаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 18:45 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
авторв этом случае, файл будет весь подгружаться. Сомневаюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 05:23 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
Я тоже считаю, что через %File он не загружается сразу. Поскольку замедлений при открытии не замечалось... Спасибо за консультацию по стремам. ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 08:47 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.А вы откройте .doc файл блокнотом. Пробовали? В принципе можно с ним через ActiveX-Cache Activate. Где-то на форуме было, как работать с экселем, также попробйте с вордом. А у вас с .txt файлом тоже проблемы? У меня не получается с русским текстом. Когда копирую содержимое файла в глобаль, в последнем только знаки вопроса... Делал я так: 1) Создал класс: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 2) Написал программу: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Как справится с верным отображением русских букв? С англицкими - всё вери гуд! Причём русские буквы не просматириваются ни в портале управления системой, ни на CSP странице... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 15:26 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
скорее всего не совпадает кодировка. у Вас база случайно не Unicode? Тогда надо преобразовывать CP1251/CP866 в Unicode, а потом сохранять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 15:36 |
|
||
|
текстовый файл
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 16:10 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=35130461&tid=1559000]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
335ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 651ms |

| 0 / 0 |
