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

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

insert into u3 (par) Select f from u1 where 'l' $ f or 'b' $ f
...
Рейтинг: 0 / 0
Анализ текстового поля
    #39100381
Castiel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программа сохраняет всю формулу в поле par, а мне нужно, что когда программа найдёт одну из букв, то сохраняла эту букву новой записью в поле par u3. Как сделать так, скажите пожалуйста
...
Рейтинг: 0 / 0
Анализ текстового поля
    #39100383
Castiel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
glamis,программа сохраняет всю формулу в поле par, а мне нужно, что когда программа найдёт одну из букв, то сохраняла эту букву новой записью в поле par u3. Как сделать так, скажите пожалуйста, запросом так же может как нибудь? Я уже пыталась по-разному, ничего не выходит
...
Рейтинг: 0 / 0
Анализ текстового поля
    #39100397
Castiel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
glamis,программа сохраняет всю формулу в поле par, а мне нужно, что когда программа найдёт одну из букв, то сохраняла эту букву новой записью в поле par u3. Как сделать так, скажите пожалуйста, запросом так же может как нибудь? Я уже пыталась по-разному, ничего не выходит
...
Рейтинг: 0 / 0
Анализ текстового поля
    #39100695
T1gRa_NT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так она одну букву должна сохранить или все которые находятся в поле?
Разделители букв в поле для поиска одинаковые или могут быть разные?
...
Рейтинг: 0 / 0
Анализ текстового поля
    #39100715
Castiel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
T1gRa_NT, да да, она одну должна букву сохранять, в одно поле. В общем если формула большая, то каждую букву сохранить отдельно должна. Вообще букв ровно семь: l,b,h,n,r,k,d. Формулы разные. Просто textbox я сохраняю в переменну и должна формулу из текстбокса разбить на буквы и сохранить в новые поля каждую отдельно.
...
Рейтинг: 0 / 0
Анализ текстового поля
    #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
Анализ текстового поля
    #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
Анализ текстового поля
    #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
Анализ текстового поля
    #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
Анализ текстового поля
    #39101122
T1gRa_NT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
glamis, надеюсь примеры ТС помогут)
я свой пример брал из проверки на символы в ФИО, там их побольше и разного написания, был смысл сделать таблицу разрешенных, заодно в неё прикрутил и другие символы по которым проверяются другие поля.
...
Рейтинг: 0 / 0
Анализ текстового поля
    #39105111
Castiel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
T1gRa_NT,

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


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