Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Поиск цифр / 10 сообщений из 10, страница 1 из 1
15.09.2020, 21:30
    #39999046
ValeryIvanovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск цифр
Доброго вечера!
Имеются каталоги вида xx2020 rfr2019.dsk yy2017 qwert,yu asdfg и т.д. (в каталоге есть/нет год)
Нужно изящно проверить в названии каталога наличие 4-х цифр подряд, азатем уже чтобы эти цифры были
Between(Year,2010,2050)
Спасибо!
...
Рейтинг: 0 / 0
16.09.2020, 07:31
    #39999149
asdor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск цифр
...
Рейтинг: 0 / 0
16.09.2020, 07:44
    #39999155
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск цифр
Изящно не получится, напиши свою UDF функцию: ищешь очередную цифру, читаешь 3 символа после нее, проверяешь и т.д.

Данная задача решается регулярными выражениями, но их в фоксе нет. Хотя можно внешними компонентами их выполнять, если использование внешнего софта допустимо.
...
Рейтинг: 0 / 0
16.09.2020, 11:06
    #39999236
Redrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск цифр
ValeryIvanovich,

А если так? (текущий каталог)

Код: 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.
29.
30.
31.
32.
33.
34.
35.
36.
CLEAR
MD 1999asdfg
MD asdfg
MD asdfg2100
MD qwert
MD rfr2019.dsk
MD xx2020
MD yu
MD yy2017

***

=ADIR(lcYear,"","D")
FOR j=1 TO ALEN(lcYear,1)
	IF lcYear(j,1)="." OR lcYear(j,1)=".."
		LOOP
	ENDIF
	lcMask=CHRTRAN(lcYear(j,1),"1234567890","")
	lcSlovo=CHRTRAN(lcYear(j,1),lcMask,SPACE(LEN(lcMask)))
	FOR i=1 TO GETWORDCOUNT(lcSlovo)
		IF BETWEEN(VAL(GETWORDNUM(lcSlovo,i)),2010,2050)
			?lcYear(j,1)
		ENDIF
	ENDFOR
ENDFOR

***

RD 1999asdfg
RD asdfg
RD asdfg2100
RD qwert
RD rfr2019.dsk
RD xx2020
RD yu
RD yy2017
...
Рейтинг: 0 / 0
16.09.2020, 11:21
    #39999240
FFFFFFFF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск цифр
Код: c#
1.
2.
s="xx2020 rfr2019.dsk yy2017 qwert,yu asdfg"
? AT("2019",s)
...
Рейтинг: 0 / 0
16.09.2020, 15:39
    #39999376
ValeryIvanovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск цифр
Redrik,
Спасибо! Я так уже и сделал
...
Рейтинг: 0 / 0
16.09.2020, 15:41
    #39999378
ValeryIvanovich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск цифр
FFFFFFFF,
Спасибо, но только s может быть какой угодно длины и 2019 м.быть 2020 2021 и т д
...
Рейтинг: 0 / 0
16.09.2020, 15:46
    #39999381
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск цифр
Redrik
Код: sql
1.
2.
=ADIR(lcYear,"","D")
FOR j=1 TO ALEN(lcYear,1)


Это можно так писать
Код: sql
1.
FOR j=1 TO ADIR(lcYear,"","D")
...
Рейтинг: 0 / 0
16.09.2020, 16:28
    #39999409
FFFFFFFF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск цифр
ValeryIvanovich
FFFFFFFF,
Спасибо, но только s может быть какой угодно длины и 2019 м.быть 2020 2021 и т д

Это не играет никакой роли.
...
Рейтинг: 0 / 0
16.09.2020, 16:53
    #39999433
Redrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск цифр
Dima T,

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


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