Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Вниз

Работа со строками   Найти похожие ветки 

 
Алексей   (2005-01-20 17:20) [0]

Подскажите, как можно преобразовать строку: "Иванов Иван Иванович" в строку: "ИвановИИ"?


 
Digitman ©   (2005-01-20 17:29) [1]

никак


 
REA   (2005-01-20 17:35) [2]

В смысле? Первое слово+Первая после пробела буква+Первая после пробела буква.


 
Алексей   (2005-01-20 17:41) [3]

У меня огромная база данных и надо ФИО сотрудников преобразовать. Уважаемый REA правильно понял смысл моего вопроса.


 
Digitman ©   (2005-01-20 17:49) [4]


> Алексей   (20.01.05 17:41) [3]


так вот, на халявку, в надежде на телепатов, вся программистская жизнь и пройдет)

а ну как телепата рядом не окажется, а ? что делать-то будешь ?

какое нафих еще преобразование, если "Иванов Иван Иванович" (1) - это одна строкпа, а "ИвановИИ" (2) - совершенно иная ? Учись требования свои излагать алгоритмическим языком !

нет и не может быть в этом случае никакого преобразования.

а должен быть алгоритм, создающий строку вида (2) по определенным ТОБОЙ алгоритмическим правилам на основании данных в строке (1).


 
Алексей   (2005-01-20 17:50) [5]

Я думаю можно перебором всех букв с начала по условию, но как осуществить цикл перебора?


 
Алексей   (2005-01-20 17:51) [6]

Я думаю можно перебором всех букв с начала по условию, но как осуществить цикл перебора?


 
begin...end ©   (2005-01-20 17:55) [7]

> [3] Алексей   (20.01.05 17:41)

uses
 StrUtils;
var
 S1, S2: String;
 P1, P2: Integer;
begin
 S1 := "Иванов Иван Иванович";
 P1 := Pos(" ", S1) + 1;
 P2 := PosEx(" ", S1, P1) + 1;
 if (P1 > 0) and (P2 > 0) then
   S2 := Copy(S1, 1, P1 - 2) + S1[P1] + S1[P2];
end.


 
Александр Иванов ©   (2005-01-20 18:01) [8]

function GetName(Str:string):string;
var i:integer;
begin
  i:=Pos(" ",Str);
  Result:=Copy(Str,1,i-1);//Получаем фамилию
  Str:=Trim(Copy(Str,i,Length(Str)-i));//Оставляем остаток
  Result:=Result+Str[1];
  i:=Pos(" ",Str);
  Str:=Trim(Copy(Str,i,Length(Str)-i));//Оставляем остаток
  Result:=Result+Str[1];
end;


 
Александр Иванов ©   (2005-01-20 18:02) [9]

begin...end ©   (20.01.05 17:55) [7]
А если несколько пробелов?


 
begin...end ©   (2005-01-20 18:06) [10]

> [9] Александр Иванов ©   (20.01.05 18:02)

Смотрим сообщения выше:

[2] REA   (20.01.05 17:35)
В смысле? Первое слово+Первая после пробела буква+Первая после пробела буква.


[3] Алексей   (20.01.05 17:41)
У меня огромная база данных и надо ФИО сотрудников преобразовать. Уважаемый REA правильно понял смысл моего вопроса.


Даже более того: посмотрите на образец строки, приведённый автором вопроса в [0].


 
Knight ©   (2005-01-20 19:01) [11]

function GetFIO(Str:String):String;
var StrList:TStringList;
begin
 Result:="";
 StrList:=TStringList.Create;
 try
   StrList.Delimiter:=" ";
   StrList.DelimitedText:=Str;
   if StrList.Count=3 then begin
     Result:=StrList[0]+StrList[1][1]+StrList[2][1];
   end;
 finally
   StrList.Free;
 end;
end;


 
Алексей   (2005-01-20 22:44) [12]

Огромное спасибо уважаемому Knight, все прекрасно заработало.


 
Anatoly Podgoretsky ©   (2005-01-20 23:52) [13]

Алексей   (20.01.05 17:41) [3]
Кто же это у вас так базу спроектировал.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.035 c
6-1100863537
AlekseyUpstar
2004-11-19 14:25
2005.02.06
Удалленное управление компьютером


1-1106642719
Aleksandr.
2005-01-25 11:45
2005.02.06
Как создать две разные настройки Делфи?


1-1106062293
Дмитрий В. Белькевич
2005-01-18 18:31
2005.02.06
Как изменить границы страницы принтера?


9-1099585410
MMN
2004-11-04 19:23
2005.02.06
Звуковые и графические файлы


1-1106272696
ДЫМ
2005-01-21 04:58
2005.02.06
Как на канве нарисовать жирную пунктирную линию





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский