Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2016, 00:12   #1
fimcha98
Новичок
Джуниор
 
Регистрация: 18.12.2016
Сообщений: 1
По умолчанию Поиск даты в тексте с помощью pos Delphi

помогите решить такое задание, подается массив текста, нужно найти позицию первой даты, если нет то выдать сообщение что нет, формат даты такой 12.12.2016.
Что нужно дописать в строку Q для распознания даты
Код:
procedure TForm1.Button1Click(Sender: TObject);
var S,Q:string; i:integer;
begin
Q:=;
S:=memo1.text;
i:=Pos(Q,S);
edit1.Text:=inttostr(i);
if i<1 then ShowMessage('Строка отсутствует')
end;
fimcha98 вне форума Ответить с цитированием
Старый 18.12.2016, 00:36   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

За 1 вызов pos не получится.
Как вы будете определять, что это - не даты:
ку.ку.куку
99.88.2016

?
type_Oleg вне форума Ответить с цитированием
Старый 18.12.2016, 00:42   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ни чего. Нужно искать точку, слева и справа от которой по две цифры, еще правее точка и 4 цифры. И все эти цифры в совокупности правильная дата. А ты хочешь просто одним Pos-ом найти. RegExpr можно подключить
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.12.2016, 01:01   #4
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

ну можно обойтись без pos,a

если использовать TMaskEdit, затем завести две строковые переменные,

в одной из них - введенная дата с точками
в другой - i-ая информация по текущей строке,

проверить можно циклом по двум строкам на наличие точки в 3 и 6 позиции, а в других позициях - диапозон от '0' до '9' (посимвольно), если символ входит в диапозон, то сравнивать символы между собой, если они равны, то истина)

го*нокод, конечно, но автору поможет
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Печать на принтере USB MPRINT R58 с помощью ESC/POS в Delphi. bobinventor Помощь студентам 2 17.12.2013 17:29
Поиск даты в тексте Even Microsoft Office Excel 5 31.01.2012 10:38
Какие есть методы для поиска даты в тексте ? kakawkin Общие вопросы Delphi 9 17.10.2010 19:28
Поиск палиндромов в тексте. DELPHI JuliaBelochka Помощь студентам 7 26.04.2009 14:57
Поиск и удаление символов в тексте (Delphi) ekzobyte Помощь студентам 2 04.04.2009 19:46