Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сжать строку / 10 сообщений из 10, страница 1 из 1
27.11.2008, 12:59
    #35678874
Как сжать строку
Есть строка (видать скопирована из Excel)
?'"'+alLTRIM(" 296    ")+'"'
"296 "
не удаляются три последних пробела, видать есть непечатные символы, как их можно удалить
написал программку
per=" 296 "
FOR per_s=1 TO 31
per=STRTRAN(per,CHR(per_s),"")
ENDFOR
всё равно не удаляет...
...
Рейтинг: 0 / 0
27.11.2008, 13:09
    #35678907
Как сжать строку
Не_проходи_мимоЕсть строка (видать скопирована из Excel)
?'"'+alLTRIM(" 296    ")+'"'
"296 "
не удаляются три последних пробела, видать есть непечатные символы, как их можно удалить
написал программку
per=" 296 "
FOR per_s=1 TO 31
per=STRTRAN(per,CHR(per_s),"")
ENDFOR
всё равно не удаляет...
Прежде чем что-то удалять, надо это что-то опредедить.
Код: plaintext
1.
2.
3.
aaa='"'+alLTRIM("             296    ")+'"'
For i= 1  to Len(aaa)
?Asc(Substr(aaa, i,  1 ))
next
...
Рейтинг: 0 / 0
27.11.2008, 13:34
    #35679030
Как сжать строку
функция Asc(Substr(aaa, i, 1)) показала на символ 160, пошёл в FPD2.6, посмотрел ASCII символы, на 160 стоит "а", зашёл в VFP ?ASC("а") показало на 97, как можно тогда удалить непечатные символы и зависит ли это от кодировки Win - DOS
...
Рейтинг: 0 / 0
27.11.2008, 13:43
    #35679079
Как сжать строку
Не_проходи_мимофункция Asc(Substr(aaa, i, 1)) показала на символ 160, пошёл в FPD2.6, посмотрел ASCII символы, на 160 стоит "а", зашёл в VFP ?ASC("а") показало на 97, как можно тогда удалить непечатные символы и зависит ли это от кодировки Win - DOS
160 в винде - мягкий перенос.
Код: plaintext
?'"'+alLTRIM("             296    ", ' ',Chr( 160 ))+'"'
...
Рейтинг: 0 / 0
27.11.2008, 17:27
    #35680074
homik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сжать строку
Что такое "мягкий перенос" ?
Лет 10 понадобилось понять разницу между "Мягкой" и "Жесткой" буферизацией. А тут такое ? ;)
...
Рейтинг: 0 / 0
27.11.2008, 17:32
    #35680093
Как сжать строку
homikЧто такое "мягкий перенос" ?
Лет 10 понадобилось понять разницу между "Мягкой" и "Жесткой" буферизацией. А тут такое ? ;)
К фоксу это не имеет отношения. Это понятия из Word/Excel. Символ обзначает место возможного, но не обязательного переноса в тексте.
...
Рейтинг: 0 / 0
27.11.2008, 17:48
    #35680148
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сжать строку
Не помню, возможно раньше это и было так, но сейчас Chr(160) - это неразрывный пробел. Т.е. отображается как пробел, но переносить по нему слова нельзя. Нельзя по этому "пробелу" разрывать слово.
...
Рейтинг: 0 / 0
27.11.2008, 17:55
    #35680164
Как сжать строку
ВладимирМНе помню, возможно раньше это и было так, но сейчас Chr(160) - это неразрывный пробел. Т.е. отображается как пробел, но переносить по нему слова нельзя. Нельзя по этому "пробелу" разрывать слово.
Не, не было, это я слегка :) перепутал.
...
Рейтинг: 0 / 0
28.11.2008, 05:44
    #35680787
Как сжать строку
Какая разница, мягкий перенос или неразрывный пробел, вопрос был как убрать из строки все непечатные символы..., а не один символ 160
...
Рейтинг: 0 / 0
28.11.2008, 09:38
    #35680963
Как сжать строку
Не_проходи_мимоКакая разница, мягкий перенос или неразрывный пробел, вопрос был как убрать из строки все непечатные символы..., а не один символ 160
Добавить эти непечатные символы так же, как и символ 160, в параметры функции Alltrim(). Теперь ответ получен?
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сжать строку / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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