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

Данная задача решается регулярными выражениями, но их в фоксе нет. Хотя можно внешними компонентами их выполнять, если использование внешнего софта допустимо.
...
Рейтинг: 0 / 0
Поиск цифр
    #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
Поиск цифр
    #39999240
FFFFFFFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
s="xx2020 rfr2019.dsk yy2017 qwert,yu asdfg"
? AT("2019",s)
...
Рейтинг: 0 / 0
Поиск цифр
    #39999376
ValeryIvanovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Redrik,
Спасибо! Я так уже и сделал
...
Рейтинг: 0 / 0
Поиск цифр
    #39999378
ValeryIvanovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FFFFFFFF,
Спасибо, но только s может быть какой угодно длины и 2019 м.быть 2020 2021 и т д
...
Рейтинг: 0 / 0
Поиск цифр
    #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
Поиск цифр
    #39999409
FFFFFFFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeryIvanovich
FFFFFFFF,
Спасибо, но только s может быть какой угодно длины и 2019 м.быть 2020 2021 и т д

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

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


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