|  | 
 
 | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Умный поиск Здравствуйте! Мне нужно организовать такой поиск, где во введенной строке взаимозаменялись следующие виды символов: -заглавная и строчная буква (Слово = слово, СЛОВО = слово) -буквы с аналогичным написанием в латинице и кириллице. Не то чтобы мне хотелось просить кого-то из форумчан писать с нуля этот код... просто думается, что он вполне может оказаться какой-нибудь готовой процедуркой, выложенной в сети, ибо вероятно многие сталкиваются с этой проблемой. Если у кого-то есть такой поиск, поделитесь, пожалуйста ) | 
| 
			 
			#2  
			
			
			
			
		 | ||||
| 
 | ||||
|   Для первого случая достаточно AnsuUpperCase/AnsiLowerCase, со вторым сложнее. | 
| 
			 
			#4  
			
			
			
			
		 | |||
| 
 | |||
|   Цитата: 
 По первому: Код: function FindSubString(Substr : String; Str : String) : Boolean; begin Result := Pos(AnsiUpperCase(Substr),AnsiUpperCase(Str)) > 0; end; По второму - гораздо сложнее. Там надо писать довольно объемный код. Не сказал бы, что очень сложный, но покумекать придется. Последний раз редактировалось lmikle, 13.04.2013 в 03:27. | 
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
|  
Chinvad (13.04.2013)
 | ||
| 
			 
			#5  
			
			
			
			
		 | ||||
| 
 | ||||
|   Цитата: 
 | 
| 
			 
			#6  
			
			
			
			
		 | |||
| 
 | |||
|   Цитата: 
 а как я понимаю, это и не требуется. Необходимо только проверить те символы, начертание которых одинаково в обоих языках. но все-равно придется идти посимвольно и сравнивать. | 
| 
			 
			#7  
			
			
			
			
		 | ||||
| 
 | ||||
|   Да, стандартное табличное сравнение. | 
| 
			 
			#8  
			
			
			
			
		 | ||||
| 
 | ||||
|   Цитата: 
  | 
| 
			 
			#9  
			
			
			
			
		 | ||||
| 
 | ||||
|   Код: Const Similar: record Rus,Lat: String[5]; end = (Rus:'аоерс';Lat:'aoepc'); begin for i := 1 to 5 do S := StringReplace(S,Similar.Lat[i],Similar.Rus[i],[rfReplaceAll]); end; | 
| Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
|  
Chinvad (13.04.2013)
 | ||
| 
			 
			#10  
			
			
			
			
		 | ||||
| 
 | ||||
|   Цитата: 
 | 
| 
			 
			#11  
			
			
			
			
		 | ||||
| 
 | ||||
|   ну если уж вы хотите облегчить жизнь пользователю, тогда вам придется и текст в ошибочной раскладке обрабатывать. | 
| 
			 
			#12  
			
			
			
			
		 | ||||
| 
 | ||||
|   Более детально опишите проблему. Последний раз редактировалось M.A.D.M.A.N., 13.04.2013 в 16:12. | 
| 
			 
			#13  
			
			
			
			
		 | |||
| 
 | |||
|   Всем спасибо за внимание к проблеме ) А проблема, если уж совсем конкретизировать, в следующем. Например, в магазине вводят приход краски "10P соколор". При этом продавец может ввести и "10P Соколор" и много как еще (я вообще не удивилась бы, если соколор пишется по английски в накладных), причем "Р" может быть как в русской раскладке, так и в английской. А по базе ТМЦ нужно организовать поиск. И поиском пользуются не всегда те, кто как попало вводит данные. | 
| 
			 
			#14  
			
			
			
			
		 | ||||
| 
 | ||||
|   Для данного случая достаточно составить таблицу соответствий букв с одинаковым написанием Цитата: 
 | 
| Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
|  
Chinvad (14.04.2013)
 | ||
| 
			 
			#15  
			
			
			
			
		 | ||||
| 
 | ||||
|   Эээээ.... А я чуть ранее разве уже не дал код для этого? |