powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / преобразование данных
7 сообщений из 7, страница 1 из 1
преобразование данных
    #34731665
pitermax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользователь вводит в текстовое поле инфу в таком виде размер одежды- количество;и т.д.
В голову что-то не приходит как из этой строки можно выцепить количество и размер.
...
Рейтинг: 0 / 0
преобразование данных
    #34731698
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажи примеры того что вводят и того что должно получиться
...
Рейтинг: 0 / 0
преобразование данных
    #34731706
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pitermaxПользователь вводит в текстовое поле инфу в таком виде размер одежды- количество;и т.д.
В голову что-то не приходит как из этой строки можно выцепить количество и размер.Размер это одно поле. Количество это другое поле. И т.д.
...
Рейтинг: 0 / 0
преобразование данных
    #34731749
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если лениво отводить отдельные поля, как советует Владимир СА , то см. ф-цию GETWORDNUM()
...
Рейтинг: 0 / 0
преобразование данных
    #34731958
pitermax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не мне лениво это требование заказчика.
А пример поля:
42-4;45-7, т.е надо в поле размеров записать размер , а в поле количества записать требуемое количество.
...
Рейтинг: 0 / 0
преобразование данных
    #34732032
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня для таких случаев есть функция:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
* Выборка подстроки из строки с разделителями
* Параметры: Строка, Разделитель, Номер элемента
func GetParam
lpara lcText, lcDelim, lnNom
local lnPos, lcT
if lnNom <  1 
	lcT = ''
else
	if lnNom =  1 
		lcT = lcText
	else
		lnPos = at(lcDelim, lcText, lnNom- 1 )
		if lnPos #  0 
			lcT = substr(lcText, lnPos + len(lcDelim))
		else
			lcT = ''
		endif
	endif
	if at(lcDelim, lcT) #  0  
		lcT = left(lcT, at(lcDelim, lcT) -  1 )
	endif
endif
return lcT

В твоем случае использовать примерно так:
Код: plaintext
1.
2.
3.
4.
5.
lcText = '42-4;45-7'
for i =  1  to occurs(';', lcText) +  1 
    lcOne = GetParam(lcText, ';', i)
    ? 'Размер: ' + GetParam(lcOne, '-',  1 )
    ? 'Количество: ' + GetParam(lcOne, '-',  2 )
enddo
...
Рейтинг: 0 / 0
преобразование данных
    #34732169
pitermax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за помощь.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / преобразование данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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