powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / есть ли функция, которой мона вырезать из строки символы по условию на код CHR()
8 сообщений из 8, страница 1 из 1
есть ли функция, которой мона вырезать из строки символы по условию на код CHR()
    #33952835
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хаюшки!!!

Например, есть большая строка, нужно из нее удалить все символы по условию, если код символа (CHR()), например, <32
т.е. реально, конечно, сделать 32 строки:
Код: plaintext
1.
2.
3.
4.
CHRTRAN(sString,CHR( 0 ),"")
CHRTRAN(sString,CHR( 1 ),"")
CHRTRAN(sString,CHR( 2 ),"")
...
CHRTRAN(sString,CHR( 31 ),"")
однако такая прога будет работать часами, в зависимости от рамера строки, а хочецца по-бырику...
Кроме того, что если условие, например, код>50
писать 200 строк CHRTRAN ???

Может кто знает какую-то функцию для этого?
...
Рейтинг: 0 / 0
есть ли функция, которой мона вырезать из строки символы по условию на код CHR()
    #33952860
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё пишется одной строчкой
?CHRTRAN(CHR(30)+CHR(31)+"1234567",CHR(30)+CHR(31),"")
...
Рейтинг: 0 / 0
есть ли функция, которой мона вырезать из строки символы по условию на код CHR()
    #33954353
CTAC-KOХаюшки!!!

Например, есть большая строка, нужно из нее удалить все символы по условию, если код символа (CHR()), например, <32
т.е. реально, конечно, сделать 32 строки:
Код: plaintext
1.
2.
3.
4.
CHRTRAN(sString,CHR( 0 ),"")
CHRTRAN(sString,CHR( 1 ),"")
CHRTRAN(sString,CHR( 2 ),"")
...
CHRTRAN(sString,CHR( 31 ),"")
однако такая прога будет работать часами, в зависимости от рамера строки, а хочецца по-бырику...
Кроме того, что если условие, например, код>50
писать 200 строк CHRTRAN ???

Может кто знает какую-то функцию для этого?
А про циклы Вам что-нибудь известно?! А то Ваш код напоминает "фишки" как (кое-где) в MSDN'e обрабатывают нажатие кнопок на форме (на каждую кнопку свой "обработчик", вместо юзания массива...)...

Могу посоветовать, например, сделать так:
Код: plaintext
1.
2.
3.
4.
5.
6.
nValue= 32 
...
for i= 0  to nValue- 1  step  1 
 CHRTRAN(sString,CHR(i),"")
next
...
AleksMed Всё пишется одной строчкой
?CHRTRAN(CHR(30)+CHR(31)+"1234567",CHR(30)+CHR(31),"")
А если строка будет: CHR(30)+"1234567"+CHR(31) , то Ваш вариант не сработает...
...
Рейтинг: 0 / 0
есть ли функция, которой мона вырезать из строки символы по условию на код CHR()
    #33954387
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
nValue= 32 
sString = ''
...
for i= 0  to nValue- 1  step  1 
 sString = sString+CHR(i)
next
CHRTRAN(SourceString,sString,"")
...
Рейтинг: 0 / 0
есть ли функция, которой мона вырезать из строки символы по условию на код CHR()
    #33954420
DmGr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторА если строка будет:CHR(30)+"1234567"+CHR(31), то Ваш вариант не сработает...
Не надо путать STRTRAN и CHRTRAN

? CHRTRAN( "123456789", "26", "")
Получаем 1345789
...
Рейтинг: 0 / 0
есть ли функция, которой мона вырезать из строки символы по условию на код CHR()
    #33970536
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав С
А про циклы Вам что-нибудь известно?! А то Ваш код напоминает "фишки" как (кое-где) в MSDN'e обрабатывают нажатие кнопок на форме (на каждую кнопку свой "обработчик", вместо юзания массива...)...

Да, конечно, про циклы известно, просто тупанул немного...

AleksMedВсё пишется одной строчкой
?CHRTRAN(CHR(30)+CHR(31)+"1234567",CHR(30)+CHR(31),"")
такое вроде должно пахать, но у меня не сработало да и работало оно уж слишком долго, 700 кил обрабатывало 3 минуты:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
m.sString = ''
FOR m.i= 0  TO  31 
 m.sString = m.sString+CHR(m.i)
ENDFOR 
m.sSourceString = FILETOSTR(GETFILE("*"))
m.nSeconds = SECONDS()
CHRTRAN(m.sSourceString,m.sString,"")
MESSAGEBOX(SECONDS()-m.nSeconds)
STRTOFILE(m.sSourceString,PUTFILE())

я брал ЕХЕ-файл, в которых обычно символов типа chr(0) бывает довольно много. Ничего оно не вырезало. Давал даже sString = "MZ", типа чтобы верняк сигнатуру ЕХЕ-шника убрало, эти символы завсегда первыми в ЕХЕ-шниках идут - результату - нуль... Видать тут спецвосприятие sSourceString...
...
Рейтинг: 0 / 0
есть ли функция, которой мона вырезать из строки символы по условию на код CHR()
    #33971202
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то, надо хоть иногда HELP читать по командам.

КУДА в Вашем коде команда ChrTran() должна была записать результат? Надо было писать так:

Код: plaintext
m.sSourceString = CHRTRAN(m.sSourceString,m.sString,"")
...
Рейтинг: 0 / 0
есть ли функция, которой мона вырезать из строки символы по условию на код CHR()
    #33990724
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМВообще-то, надо хоть иногда HELP читать по командам.

КУДА в Вашем коде команда ChrTran() должна была записать результат? Надо было писать так:

Код: plaintext
m.sSourceString = CHRTRAN(m.sSourceString,m.sString,"")

блииин, ну ёлы-палы... опять тупанул... смешно самому еще ж думаю - комп чехлится так долго, чего же нет результата-то... ну дал!

бывает же такое - простейшая ошибка и не сам ее не видишь!!! умудрился не присвоить результат в переменную...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / есть ли функция, которой мона вырезать из строки символы по условию на код CHR()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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