Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Анализ текстового поля / 14 сообщений из 14, страница 1 из 1
11.11.2015, 07:26
    #39100188
Castiel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текстового поля
Добрый день:)
Есть текстовое поле f
в нем введена формула, например, l*b.
Нужно выполнить анализ:
если есть в поле буква l или b, то создать две новые записи с l и b в другой БД
select u3
append blank
replace par with f
...
Рейтинг: 0 / 0
11.11.2015, 08:55
    #39100218
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текстового поля
Неполучается что именно?

Код: sql
1.
2.
3.
if 'i' $ f
   ? 'В поле f есть буква i позиция', at('i', f)
endif
...
Рейтинг: 0 / 0
11.11.2015, 09:44
    #39100261
glamis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текстового поля
Castiel,

insert into u3 (par) Select f from u1 where 'l' $ f or 'b' $ f
...
Рейтинг: 0 / 0
11.11.2015, 11:11
    #39100381
Castiel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текстового поля
Программа сохраняет всю формулу в поле par, а мне нужно, что когда программа найдёт одну из букв, то сохраняла эту букву новой записью в поле par u3. Как сделать так, скажите пожалуйста
...
Рейтинг: 0 / 0
11.11.2015, 11:13
    #39100383
Castiel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текстового поля
glamis,программа сохраняет всю формулу в поле par, а мне нужно, что когда программа найдёт одну из букв, то сохраняла эту букву новой записью в поле par u3. Как сделать так, скажите пожалуйста, запросом так же может как нибудь? Я уже пыталась по-разному, ничего не выходит
...
Рейтинг: 0 / 0
11.11.2015, 11:27
    #39100397
Castiel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текстового поля
glamis,программа сохраняет всю формулу в поле par, а мне нужно, что когда программа найдёт одну из букв, то сохраняла эту букву новой записью в поле par u3. Как сделать так, скажите пожалуйста, запросом так же может как нибудь? Я уже пыталась по-разному, ничего не выходит
...
Рейтинг: 0 / 0
11.11.2015, 14:06
    #39100695
T1gRa_NT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текстового поля
Так она одну букву должна сохранить или все которые находятся в поле?
Разделители букв в поле для поиска одинаковые или могут быть разные?
...
Рейтинг: 0 / 0
11.11.2015, 14:20
    #39100715
Castiel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текстового поля
T1gRa_NT, да да, она одну должна букву сохранять, в одно поле. В общем если формула большая, то каждую букву сохранить отдельно должна. Вообще букв ровно семь: l,b,h,n,r,k,d. Формулы разные. Просто textbox я сохраняю в переменну и должна формулу из текстбокса разбить на буквы и сохранить в новые поля каждую отдельно.
...
Рейтинг: 0 / 0
11.11.2015, 15:03
    #39100774
T1gRa_NT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текстового поля
Взял тут из своей проверки и сделал пример думаю как вам надо, поиск правда через ANSI

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
CREATE CURSOR tab1 (f C(30))	&&Создаем курсор
*****заполняем
INSERT INTO tab1 (f) VALUES ('l*b')	
INSERT INTO tab1 (f) VALUES ('l^b')
INSERT INTO tab1 (f) VALUES ('l*b/k')
CREATE CURSOR tab2 (buk C(1))	&&Куда будем писать
****Создаем курсор с кодами ANSI нужных нам букв и заполняем его
CREATE CURSOR kodac (kod N(4),sim C(1))
INSERT INTO kodac (kod,sim) VALUES (ASC('l'),'l')
INSERT INTO kodac (kod,sim) VALUES (ASC('b'),'b')
INSERT INTO kodac (kod,sim) VALUES (ASC('k'),'k')
*********
SELECT tab1		&&Выбираем первую таблицу
SCAN	&&Скануруем записи
	IF ATC('l',f)>0		&&Если в поле содержиться буква I
		STORE ALLTRIM(f) TO gcANSI		&&Кидаем содержание поля в переменную
		i=LEN(ALLTRIM(f))		&&Подсчитываем кол-во символов
		FOR ncount= 1 TO i		&&Цикл по кол-ву символов
			cod_buk=ASC(SUBSTR(gcANSI, nCount))	&&Берем ANSI код по 1 символу из переменной
			SELECT kodac  &&Выбираем таблицу с кодами ANSI
			LOCATE FOR kod=cod_buk    &&Ищем запись с таким кодом
				IF FOUND()       &&Если нашли
					INSERT INTO tab2 (buk) VALUES (CHR(cod_buk))    &&Вставляем символ в таблицу 2, возврашая его из ANSI кодировки
				ENDIF
			SELECT tab1
		ENDFOR
	ENDIF
ENDSCAN




Попробуйте, вдруг, то что надо, куча избыточных процедур но думаю работает как Вам надо.
...
Рейтинг: 0 / 0
11.11.2015, 18:14
    #39101059
glamis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текстового поля
T1gRa_NT,

insert into u3 (par) Select 'l' from u1 where 'l' $ f
insert into u3 (par) Select 'b' from u1 where 'b' $ f
...
Рейтинг: 0 / 0
11.11.2015, 18:18
    #39101061
glamis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текстового поля
или в цикле:
Код: vbnet
1.
2.
3.
4.
5.
_pole='abcdefgh'
for i= to len(_pole)
   _bukva=subs(_pole, i, 1)
  insert into u3 (par) Select _bukva from u1 where _bukva $ f
endf
...
Рейтинг: 0 / 0
11.11.2015, 18:18
    #39101062
glamis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текстового поля
Пардон:
glamisили в цикле:
Код: vbnet
1.
2.
3.
4.
5.
_pole='abcdefgh'
for i=1 to len(_pole)
   _bukva=subs(_pole, i, 1)
  insert into u3 (par) Select _bukva from u1 where _bukva $ f
endf
...
Рейтинг: 0 / 0
11.11.2015, 19:44
    #39101122
T1gRa_NT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текстового поля
glamis, надеюсь примеры ТС помогут)
я свой пример брал из проверки на символы в ФИО, там их побольше и разного написания, был смысл сделать таблицу разрешенных, заодно в неё прикрутил и другие символы по которым проверяются другие поля.
...
Рейтинг: 0 / 0
17.11.2015, 06:07
    #39105111
Castiel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текстового поля
T1gRa_NT,

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


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