powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как убрать символ "конец текста" при переводе из DBF в TXT
4 сообщений из 4, страница 1 из 1
как убрать символ "конец текста" при переводе из DBF в TXT
    #37475190
Vas_i_lisa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго дня.
Вот такая нарисовалась у меня проблема. Задача написана на FoxPro 2.6 . Необходимо вывести данные из dbf в txt. Вроде ничего сложного. Использую команду COPY TO ... TYPE SDF
Но в коне файла пишется символ

.....
2958 2 2008.09.11
3087 1 2008.09.09


Как его можно убрать с наименьшими затратами? Конечно, можно выводить данные построчно, но м.б. есть другой выход?
Спасибо.
...
Рейтинг: 0 / 0
как убрать символ "конец текста" при переводе из DBF в TXT
    #37475351
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас нет "под рукой" FPD2.6, поэтому могут только предположить, что это символ с кодом 1A. ASCII-код 26.

Проблема заключается в том, что этот символ может быть, а может и не быть. Просто при некоторых операциях с файлом DBF (каких точно я не знаю) этот символ добавляется в конец самого файла DBF. А команда COPY TO в FPD2.6 никак его не отсекает.

Лично я бы анализировал полученный через COPY TO файл и если на конце есть символ 1A, то либо затирал его пробелом, либо переливал весь текст в новый файл, но уже без этого символа.

Код по затиранию пробелом выглядит примерно так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
fh = FOPEN("MyFile.txt")
=Fseek(fh,- 1 ,  2 )             && перейти на последний символ в файле
numASC = Asc(Fread(fh, 1 ))    && определяю ASCII-код последнего символа
if numASC =  26 
    =Fseek(fh,- 1 , 2 )   && операция чтения перемещает указатель, поэтому надо вернуть указатель на последний символ
    =fwrite(fh,space( 1 ))     && замещаю последний символ пробелом
endif
=fclose(fh)
...
Рейтинг: 0 / 0
как убрать символ "конец текста" при переводе из DBF в TXT
    #37475640
Vas_i_lisa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

спасибо большое!
Я, правда, уже переделала вывод в txt, но и с Вашим вариантом буду разбираться.
...
Рейтинг: 0 / 0
как убрать символ "конец текста" при переводе из DBF в TXT
    #37478151
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, все нормально.
Код: plaintext
COPY TO TEMP.CSV TYPE DELIMITED
создает всегда полностью совместимый текстовик с разделителями, безо всяких "лишних" байтов.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как убрать символ "конец текста" при переводе из DBF в TXT
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]