Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Разбиение строки на части (по пробелам) / 5 сообщений из 5, страница 1 из 1
08.04.2004, 14:15
    #32473742
Bastard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбиение строки на части (по пробелам)
Здравствуйте !
Допустим есть строка
local st
st = "мама мыла раму мылом"
Пробовал с substr() и AT() но загнать в алгоритм не получается (((
Оговорюсь: использую 6 версию фокса.
Как программно получить все слова по отдельности
"мама","мыла","раму","мылом" ? Затем поместить в массив ???

И еще у меня нет возможности использовать более старшие версии фокса (7,8)
к сожалению ((( И мне надо это сделать именно средствами фокспро 6 !
...
Рейтинг: 0 / 0
08.04.2004, 14:17
    #32473754
M.I.V.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбиение строки на части (по пробелам)
считывай сторку по символьно и как встретится пробел отсекай слово
...
Рейтинг: 0 / 0
08.04.2004, 14:26
    #32473775
Разбиение строки на части (по пробелам)
В foxtools.fll вроде были функции WORDS - получение количество слов в строке и WODRNUM - выбор слова из строки по его номеру.
В VFP8 (не помню, есть ли в VFP7) включены аналогичные функции GetWordCount и GetyWordNum.
Ф-я WORDS (и GetWordCount) по умолчанию в качестве разделителя слов использует пробел и символы LF и CR. Но можно указать и другие разделители.
...
Рейтинг: 0 / 0
08.04.2004, 14:54
    #32473853
Bastard
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбиение строки на части (по пробелам)
WORD - появились только с 7 версии фокса !
вот так вот можа :


DECLARE MyArray(OCCURS(' ',st))
ALINES(MyArray,ChrTran(st, " ", chr(13)))
...
Рейтинг: 0 / 0
08.04.2004, 17:16
    #32474192
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбиение строки на части (по пробелам)
arr = ""
? str2arr("мама мыла раму мылом", @arr)
display memory like arr


function str2arr
lparameters cStr, aArr
external array aArr
local iWords, i, j
cStr = alltrim(cStr)+" "
iWords = occurs(' ',cStr)
declare aArr[iWords]
for i=1 to iWords
j = at(' ',cStr)
aArr = left(cStr,j-1)
cStr = substr(cStr,j+1)
endfor
return iWords
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Разбиение строки на части (по пробелам) / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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