| View previous topic :: View next topic   | 
	
	
	
		| Author | 
		Message | 
	
	
		ВАЛЕРИ БОНДАРЧУК
 
 
  Joined: 24 Jul 2002 Posts: 20 Location: БОНДАРЧУК ВАЛЕРИЙ ИВАНОВИЧ
 
 
  | 
		
			
				 Posted: 22 Dec 2005 09:35    Post subject: Команда понижения регистра. | 
				     | 
			 
			
				
  | 
			 
			
				Добрый день всем.
 
Идя навстречу закону о всеобщем медицинском страховании, необходимо реализовать выгрузку в ЭКСЕЛЬ по следующему условию.
 
 
"Фамилии, имя, отчество застрахованного, названия населенных пунктов и улиц начинаются с заглавных букв. Остальные буквы - строчные."
 
 
Вопрос, как называется команда понижения регистра букв.
 
Повышение UPPER, а понижение?
 
Искренне с Вами, Валери де Бондарчук. г. Казань. | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		itman
 
  
  Joined: 05 Apr 2002 Posts: 1247 Location: Ильин Е.Ю. Occupation: Cio Interests: Кинель
  | 
		
			
				 Posted: 22 Dec 2005 09:44    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				| Логично было бы предположить, что LOWER() )). | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		ВАЛЕРИ БОНДАРЧУК
 
 
  Joined: 24 Jul 2002 Posts: 20 Location: БОНДАРЧУК ВАЛЕРИЙ ИВАНОВИЧ
 
 
  | 
		
			
				 Posted: 22 Dec 2005 10:01    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Добрый день всем!
 
Большое спасибо , о великий и могучий друг Волька!!!(Старик Хоттабыч).
 
Помогло.
 
А вот еще к той же теме, возможно ли указание понижения текста без точного количества знаков. Например, первый символ в в верхний регистр а остальные в нижний. Для того чтобы, не отслеживать изменения длин полей в разных версиях программы.
 
А пока,
 
upper(substr(Familia,1,1))+lower(substr(Familia,2,30)).
 
 
Искренне с Вами, Валери де Бондарчук г. Казань.
 
P.S. Повторный респект Itman-у!!!!!
  Last edited by ВАЛЕРИ БОНДАРЧУК on 22 Dec 2005 10:45; edited 1 time in total | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Behemoth
 
  
  Joined: 15 Mar 2002 Posts: 155 Location: Новиков Алексей Юрьевич Occupation: ПБОЮЛ Interests: Пермь
  | 
		
			
				 Posted: 22 Dec 2005 10:10    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Добрый день.
 
 
Дайте и мне сладких пирожков...
 
 
У substr можно не указывать второй параметр. При этом берется вся оставшаяся строка.
 
 
upper(left(Familia,1))+lower(substr(Familia,2)) _________________ С уважением, Новиков Алексей. | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		itman
 
  
  Joined: 05 Apr 2002 Posts: 1247 Location: Ильин Е.Ю. Occupation: Cio Interests: Кинель
  | 
		
			
				 Posted: 22 Dec 2005 10:26    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				| или использовать len для определения длины стро | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		ВАЛЕРИ БОНДАРЧУК
 
 
  Joined: 24 Jul 2002 Posts: 20 Location: БОНДАРЧУК ВАЛЕРИЙ ИВАНОВИЧ
 
 
  | 
		
			
				 Posted: 22 Dec 2005 10:44    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Добрый день всем!
 
Большое спасибо и Пермскому товарищу!!!!
 
А то, временно написал связку по моему первому варианту.
 
Сейчас поправлю на ваш пример.
 
Искренне с Вами, Валери де Бондарчук. г. Казань | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Олег Смирнов
 
 
  Joined: 06 Sep 2004 Posts: 821 Location: Олег Смирнов Occupation: Раут (поганист-сисадмин) Interests: Новосибирск
  | 
		
			
				 Posted: 22 Dec 2005 11:00    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | ВАЛЕРИ БОНДАРЧУК wrote: | 	 		  первый символ в в верхний регистр а остальные в нижний. Для того чтобы, не отслеживать изменения длин полей в разных версиях программы.
 
А пока,
 
upper(substr(Familia,1,1))+lower(substr(Familia,2,30)). | 	  
 
Да неужели же "великий и могучий" харбор не имеет такой простой штучки, как функция PROPER(<expC>), существовавшей в FoxPro, как минимум, с версии 2.0 и корректно работавшей с русскими буковками, как минимум, с версии 2.5b (1993 год, если чё...   )?!. Стыд и позор!  
 
P.S. Описание функции:
 
Returns the specified character expression with each word having the initial letter capitalized and the remaining characters lowercase.
 
Return value - Character
 
Мой вольный перевод:
 
Возвращает текстовое выражение, в котором первая буква каждого слова переводится в заглавную, остальные буквы слова переводятся в нижний регистр. _________________ С уважением, Олег Р. Смирн | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		ВАЛЕРИ БОНДАРЧУК
 
 
  Joined: 24 Jul 2002 Posts: 20 Location: БОНДАРЧУК ВАЛЕРИЙ ИВАНОВИЧ
 
 
  | 
		
			
				 Posted: 22 Dec 2005 11:51    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Добрый день всем.
 
Да я не на харборе пишу, а на внутренних параметрах БЭСТ.
 
Это Зарплата\7.Настройка подсистемы\3.шаблоны печатных форм\2.шаблоны для справок F4 ###### Вычислить по формуле.
 
А так как нужно переписать весь адрес: 5 смысловых Регион/район/город/населенный пункт/улица и 3 числовых дом\корпус\квартира. То еле - еле влез в 254 символа.
 
так что, харбор не причем, а за Fox - спасибо.
 
 
Подскажите любезнейшие. Если поле адрес обобщающее всех этих параметров, то, наверное, можно не ставить rtrim, после каждого раздела, оно уже в базе до запятой. Ведь нет предела совершенству, и я всегда за короткий код.
 
 
Извеняйте за вопрос, так и есть. убрал rtrim в вычислениях адреса. Можно еще что-то забацать!
 
Но это наверное уже в FileEval- в предлагаемом образце ул. стоит в начале. А из БЭСТа выгружается 
 
Волгоградская ул, Я конечно в ЭКСЕЛЕ могу использовать функцию Заменить на, а вот как БЭСТЕ написать функцию подавления ул??
 
 
Искренне с Вами, Валери де Бондарчук г. Казань | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		nordk
 
 
  Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
  | 
		
			
				 Posted: 22 Dec 2005 13:28    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				STRTRAN(cName,'ул','')
 
Валера и с Excel действуй лучше через HFileEval | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		 |