Требуется из стандартного ФИО
получить фамилию с инициалами.
Пример: "Иванов Иван Иванович" -> "Иванов И.И."
Нехотелось бы изобретать велосипед.
Есть ли в Галактике стандартные средства для этого или кто как решал эту проблему?
Как взять инициалы из имени?
Модераторы: m0p3e, edward_K, Модераторы
Re: Как взять инициалы из имени?
Ламерство.
Есть стандартная функция:
//фамилия и инициалы
function GetSurnameWithInitials(string): string; external;
Есть стандартная функция:
//фамилия и инициалы
function GetSurnameWithInitials(string): string; external;
Re: Как взять инициалы из имени?
s1:=trim(fio)
a1:=instr(‘ ’,fio)
fam:=substr(s1,1, a1-1)
s2:=substr(s1,a1+1,length(s1))
a1:=instr(‘ ’,s2)
ima:=substr(s2,1, a1-1)
s2:=substr(s2,a1+1, length(s2))
a1:=instr(‘ ’,s2)
oth:= substr(s2,1, a1-1)
Вот фамилия =fam
имя=ima
отчество=oth
Если надо резать, то
fam+' '+substr(ima,1,1)+'.'+substr(oth,1,1)+'.'
Наверное так вроде нигде не ошибся...
a1:=instr(‘ ’,fio)
fam:=substr(s1,1, a1-1)
s2:=substr(s1,a1+1,length(s1))
a1:=instr(‘ ’,s2)
ima:=substr(s2,1, a1-1)
s2:=substr(s2,a1+1, length(s2))
a1:=instr(‘ ’,s2)
oth:= substr(s2,1, a1-1)
Вот фамилия =fam
имя=ima
отчество=oth
Если надо резать, то
fam+' '+substr(ima,1,1)+'.'+substr(oth,1,1)+'.'
Наверное так вроде нигде не ошибся...
-
- Посетитель
- Сообщения: 46
- Зарегистрирован: 05 июл 2005, 18:06
- Откуда: Корпорация Галактика
- Контактная информация:
Вот так вот еще можно:
из Фамилия Имя Отчество получаем: Фамилия И.О.
Код: Выделить всё
.function initfio (fio:string):string;
begin
if pos('.',fio)=0
initfio:= substr(fio,1,pos(' ',fio)-1) + ‘ ‘ +substr(fio,pos(' ',fio)+1,1)+'.'+substr(substr(fio,pos(' ',fio) + 1, length(fio) - pos(' ',fio)+1), pos(' ',substr(fio,pos(' ',fio)+1,length(fio)-pos(' ',fio)+1))+1,1)+'. '
else initfio:=fio;
end.
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Как взять инициалы из имени?
Я так полагаю, если функция стандартная, то хотя бы в хелпе должна быть описана. Что-то этой "стандартной" функции я не нашел.ryurik писал(а):Ламерство.
Есть стандартная функция:
//фамилия и инициалы
function GetSurnameWithInitials(string): string; external;
Можно еще использовать объектный фейс ObjStrFunc из StrFunc.vih (если есть конечно) - в нем много функций для работы с ФИО.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
в vipprogr.chm описаны только системные функций. А то что сделал в модуле для себя конкретный товарищ можно поискать в описании конкретного модуля - типа TxoSetkau вроде была в txo.pdf, по табелю screw в опыт выкладывал и так далее, тот же вывод в Excel.
Пшите в ТП за составлением доки на такие функции - там много чего интересного. Раньше их описание лежало в extfun.res.
Пшите в ТП за составлением доки на такие функции - там много чего интересного. Раньше их описание лежало в extfun.res.