Страница 1 из 1

Как взять инициалы из имени?

Добавлено: 30 июл 2004, 11:49
ryurik
Требуется из стандартного ФИО
получить фамилию с инициалами.
Пример: "Иванов Иван Иванович" -> "Иванов И.И."
Нехотелось бы изобретать велосипед.
Есть ли в Галактике стандартные средства для этого или кто как решал эту проблему?

Re: Как взять инициалы из имени?

Добавлено: 30 июл 2004, 12:20
ryurik
Ламерство.
Есть стандартная функция:

//фамилия и инициалы
function GetSurnameWithInitials(string): string; external;

Re: Как взять инициалы из имени?

Добавлено: 30 июл 2004, 12:35
Sanya
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)+'.'
Наверное так :) вроде нигде не ошибся...

Добавлено: 27 фев 2009, 12:59
Serrenium
Вот так вот еще можно:

Код: Выделить всё

.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.
из Фамилия Имя Отчество получаем: Фамилия И.О.

Re: Как взять инициалы из имени?

Добавлено: 27 фев 2009, 19:07
Vik
ryurik писал(а):Ламерство.
Есть стандартная функция:

//фамилия и инициалы
function GetSurnameWithInitials(string): string; external;
Я так полагаю, если функция стандартная, то хотя бы в хелпе должна быть описана. Что-то этой "стандартной" функции я не нашел.

Можно еще использовать объектный фейс ObjStrFunc из StrFunc.vih (если есть конечно) - в нем много функций для работы с ФИО.

Добавлено: 02 мар 2009, 11:05
Алексей
Функция действительно есть, паскалевская, и работает :)

Добавлено: 02 мар 2009, 18:24
edward_K
в vipprogr.chm описаны только системные функций. А то что сделал в модуле для себя конкретный товарищ можно поискать в описании конкретного модуля - типа TxoSetkau вроде была в txo.pdf, по табелю screw в опыт выкладывал и так далее, тот же вывод в Excel.
Пшите в ТП за составлением доки на такие функции - там много чего интересного. Раньше их описание лежало в extfun.res.