Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 удаление пробелов с расчетного счета-код не работает  [new]
mag034
Member

Откуда:
Сообщений: 41
Clos data
Use 0111
Go top
Do while !eof()
ras_schet=''
For i=1 to 30

ras_schet=allt(ras_schet)+subs(L_s_bank,i,1)

Endfor
Repl L_s_bank with ras_schet

Skip
Enddo


Подскажите пожалуйста почему этот код не работает? Мне нужно из р/с удалить пробелы между цифрами, но почему то этот код этого не делает ((( хотя должен. Подскажите где я ошибся???
17 ноя 12, 22:03    [13489567]     Ответить | Цитировать Сообщить модератору
 Re: удаление пробелов с расчетного счета-код не работает  [new]
Станислав С...кий
Guest
mag034,
Alltrim() удаляет начальные и конечные пробелы в строке, но НЕ ВНУТРИ строки.
Если нужно удалить пробелы внутри строки, то используйте ChrTran()...
17 ноя 12, 22:45    [13489680]     Ответить | Цитировать Сообщить модератору
 Re: удаление пробелов с расчетного счета-код не работает  [new]
Станислав С...кий
Guest
mag034,
Хотя код на самом деле кажется правильным... Запустите его в отладчике и посмотрите... Может он так, с пробелами, лишь отображается на экране...
17 ноя 12, 22:53    [13489703]     Ответить | Цитировать Сообщить модератору
 Re: удаление пробелов с расчетного счета-код не работает  [new]
mag034
Member

Откуда:
Сообщений: 41
Станислав С...кий,
так он разбивает строку посимвольно, должен удалять пробелы и вставляет обратно, а тут он почему то не удаляя пробелы помещает их обратно
17 ноя 12, 22:53    [13489705]     Ответить | Цитировать Сообщить модератору
 Re: удаление пробелов с расчетного счета-код не работает  [new]
mag034
Member

Откуда:
Сообщений: 41
Станислав С...кий
mag034,
Хотя код на самом деле кажется правильным... Запустите его в отладчике и посмотрите... Может он так, с пробелами, лишь отображается на экране...

на самом деле пробелы существуют. ChrTran(), так же не удаляет пробелы...
17 ноя 12, 22:59    [13489719]     Ответить | Цитировать Сообщить модератору
 Re: удаление пробелов с расчетного счета-код не работает  [new]
Мимоходом555
Guest
Update 0111 Set L_s_bank=ChrTran(L_s_bank,' ','')
17 ноя 12, 23:36    [13489795]     Ответить | Цитировать Сообщить модератору
 Re: удаление пробелов с расчетного счета-код не работает  [new]
mag034
Member

Откуда:
Сообщений: 41
Мимоходом555
Update 0111 Set L_s_bank=ChrTran(L_s_bank,' ','')

Пробую не работает. Если вручную убирать пробелы, а за тем вернуть на место,то все работает. Получается там не пробел, а др знак. Таблица переведена с Exel. Надо наверно узнать код знака.
18 ноя 12, 10:39    [13490335]     Ответить | Цитировать Сообщить модератору
 Re: удаление пробелов с расчетного счета-код не работает  [new]
Dima T
Member

Откуда:
Сообщений: 15281
попробуй chr(160) - в 1С-овских выгрузках такой "пробел" иногда попадается
возможно chr(9) - это табуляция

Ну и буфер обмена никто не отменял. Вырежи этот "пробел" и вставь в свой ChrTran()
18 ноя 12, 10:55    [13490353]     Ответить | Цитировать Сообщить модератору
 Re: удаление пробелов с расчетного счета-код не работает  [new]
mag034
Member

Откуда:
Сообщений: 41
Dima T,

Да так и сделал. Оказался код 160 , а не 32.

Update 0111 Set L_s_bank=ChrTran(L_s_bank,chr(160),'')

вместо всей програмки выполнил это и все пошло ))) SQL запросы сила ))) надо учить.
Спасибо всем за помощь, очень помогли.
18 ноя 12, 11:13    [13490373]     Ответить | Цитировать Сообщить модератору
 Re: удаление пробелов с расчетного счета-код не работает  [new]
q1w1e1
Member

Откуда: Кы-рск
Сообщений: 1034
Конечно ChrTran, хорошо, но надо помнить(искать) коды символов, можно и strtran(L_s_bank," ","")...
19 ноя 12, 06:10    [13492671]     Ответить | Цитировать Сообщить модератору
 Re: удаление пробелов с расчетного счета-код не работает  [new]
tanglir
Member

Откуда:
Сообщений: 28966
q1w1e1
Конечно ChrTran, хорошо, но надо помнить(искать) коды символов, можно и strtran(L_s_bank," ","")...
А в чём принципиальная разница? Что там пробел, что тут. Если в чартране был 32-й пробел, то и в стртране ТС написал бы 32-й - с тем же самым результатом...
20 ноя 12, 19:58    [13503360]     Ответить | Цитировать Сообщить модератору
 Re: удаление пробелов с расчетного счета-код не работает  [new]
Dima T
Member

Откуда:
Сообщений: 15281
tanglir
А в чём принципиальная разница?

в данном конкретном случае никакой разницы. ChrTran() полностью идентичен strtran().
Хотя если надо убирать два разных пробела chr(32) и chr(160) то надо два strtran() или один ChrTran()
20 ноя 12, 20:12    [13503404]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить