Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
kdmitriev Участник со стажем
Вступление в Клуб: 26.06.2007
|
Чт Сен 09, 2010 14:13  Экспорт в тектовый файл - значимые траблы... |
|
Полезность: Нет оценки
|
Коллеги, вот такой вопрос:
экспортирую в текстовый файл с разделителем.
все хорошо...но в конце экспортируемой строки уже в файле появляется перенос.
как с этим бороться ?
trim(res_str,LF$);
trim(res_str,CR$);
не помогают...
Заранее - спасибо, сто грамм и пончик |
|
 |
markoff Участник - экстремал
Вступление в Клуб: 09.06.2009
|
Чт Сен 09, 2010 14:36   |
|
Полезность: Нет оценки
|
пакет STDIO:
Код: | procedure SET_DEF_TEXT( p_txt string,
p_slash string default null,
p_add_cr string default null,
p_name_txt string default null );
|
Цитата: | если задан параметр p_add_cr - перечисленные кодировки или их первые буквы), при которых во время чтения-записи строк из файлов удаляется-добавляется символ перевода каретки chr(13) в конце строки. |
|
|
 |
markoff Участник - экстремал
Вступление в Клуб: 09.06.2009
|
Чт Сен 09, 2010 14:39   |
|
Полезность: Нет оценки
|
так как при использований
Код: | procedure PUT_LINE(file integer, text string, raising boolean default FALSE,
in_text integer default NULL,out_text integer default NULL) |
Цитата: | text - записываемый текст, если заданы in_text и out_text (по
умолчанию не задаются), то при записи производится_
перекодировка из in_text в out_text, причем, если
выходная кодировка попадает в список DEF_CR_ADD,
например, DOS,KOI (out_text=DOSTEXT,KOITEXT),
то в конец строки text добавляется символ перевода
каретки (chr(13)), |
вот от куда у вас перевод каретки |
|
 |
kdmitriev Участник со стажем
Вступление в Клуб: 26.06.2007
|
Чт Сен 09, 2010 14:58   |
|
Полезность: Нет оценки
|
спасибо.
но вот.... у меня же они не задаются....
stdio.put_line(file, res_str, null, null, stdio.WINTEXT); |
|
 |
markoff Участник - экстремал
Вступление в Клуб: 09.06.2009
|
Чт Сен 09, 2010 15:55   |
|
Полезность: Нет оценки
|
перед выполнением процедуры put_line нужно выполнить процедуру SET_DEF_TEXT
kdmitriev пишет: |
stdio.put_line(file, res_str, null, null, stdio.WINTEXT); |
|
|
 |
kdmitriev Участник со стажем
Вступление в Клуб: 26.06.2007
|
Чт Сен 09, 2010 16:50   |
|
Полезность: Нет оценки
|
прошу прощения.... что-то так ? - stdio.set_def_text('W',null,'D,W,K'); |
|
 |
German Профи
Вступление в Клуб: 25.06.2007
|
Чт Сен 09, 2010 16:57   |
|
Полезность: Нет оценки
|
put_line добавляет в файл одну строку и завершает её символом перевода строки, всё логично.
Если в файле должна быть только одна строка, может будет проще собрать всё содержимое будущего файла в одну переменную и записать её в файл один раз? _________________ Homo homini |
|
 |
markoff Участник - экстремал
Вступление в Клуб: 09.06.2009
|
Чт Сен 09, 2010 17:29   |
|
Полезность: Нет оценки
|
German пишет: |
Если в файле должна быть только одна строка, может будет проще собрать всё содержимое будущего файла в одну переменную и записать её в файл один раз? |
Если я правильно понял kdmitriev, то у него как раз и есть одна строка, в конце которой и происходит возврат каретки от которой он пытается избавится |
|
 |
markoff Участник - экстремал
Вступление в Клуб: 09.06.2009
|
Чт Сен 09, 2010 17:37   |
|
Полезность: Нет оценки
|
kdmitriev пишет: | прошу прощения.... что-то так ? - stdio.set_def_text('W',null,'D,W,K'); |
сейчас нет возможности проверить попробуйте так:
Код: | stdio.set_def_text('W',null,null); |
|
|
 |
kdmitriev Участник со стажем
Вступление в Клуб: 26.06.2007
|
Пт Сен 10, 2010 08:23   |
|
Полезность: Нет оценки
|
German пишет: | put_line добавляет в файл одну строку и завершает её символом перевода строки, всё логично.
Если в файле должна быть только одна строка, может будет проще собрать всё содержимое будущего файла в одну переменную и записать её в файл один раз? |
как раз и собираю:
res_str := cl.p_1 || '#' || и т.д.
потом
stdio.put_line(file, res_str, null, null, stdio.WINTEXT);
и вот....  |
|
 |
kdmitriev Участник со стажем
Вступление в Клуб: 26.06.2007
|
Пт Сен 10, 2010 08:24   |
|
Полезность: Нет оценки
|
markoff пишет: | kdmitriev пишет: | прошу прощения.... что-то так ? - stdio.set_def_text('W',null,'D,W,K'); |
сейчас нет возможности проверить попробуйте так:
Код: | stdio.set_def_text('W',null,null); |
|
тож самое (((((  |
|
 |
XLman Участник со стажем
Вступление в Клуб: 20.02.2008
|
Пт Сен 10, 2010 09:12   |
|
Полезность: Нет оценки
|
stdio.fput не пробовали использовать? |
|
 |
kdmitriev Участник со стажем
Вступление в Клуб: 26.06.2007
|
Пт Сен 10, 2010 11:39   |
|
Полезность: Нет оценки
|
XLman пишет: | stdio.fput не пробовали использовать? |
нет.. стоит попробовать ? ... напишу резалт |
|
 |
kdmitriev Участник со стажем
Вступление в Клуб: 26.06.2007
|
Пт Сен 10, 2010 16:36   |
|
Полезность: Нет оценки
|
XLman пишет: | stdio.fput не пробовали использовать? |
спасибо, о, добрый и умный человек!!
все - гут!!!
stdio.FPUT( file, stdio.TRANSFORM( res_str, stdio.UNXTEXT, stdio.WINTEXT ) );
как гонорар передать ?  |
|
 |
kdmitriev Участник со стажем
Вступление в Клуб: 26.06.2007
|
Пт Сен 10, 2010 16:45   |
|
Полезность: Нет оценки
|
kdmitriev пишет: | XLman пишет: | stdio.fput не пробовали использовать? |
спасибо, о, добрый и умный человек!!
все - гут!!!
stdio.FPUT( file, stdio.TRANSFORM( res_str, stdio.UNXTEXT, stdio.WINTEXT ) );
как гонорар передать ?  |
...да...но таперь...если группой (списком) выгружать...то нет переноса между строками... все идет одной стркой.... а как быть в этом случае ? |
|
 |
|