|
04.03.2006, 15:20 | #1 |
Участник
|
Есть Иван Иванович Сусанин. Кака сделать Сусанин И.И.
|
|
04.03.2006, 19:26 | #2 |
Участник
|
Брать пример отсюда
EmplTable.getFIO Только проблема ваша не в этом, похоже. Технически вы должны взять строку, удалить лишние пробелы, разбить строку на три подстроки, разделенных пробелом (только пробелом?). Затем все простро. Так вот, самая сложная задача сделать проверку от дурака: научиться обрабатывать ЛЮБУЮ строку. В идеале, даже проверять, где стоит фамилия - в конце или в начале. Делайте. Такого алгоритма в стандартной Аксапте нет. |
|
05.03.2006, 01:33 | #3 |
Axapta
|
Цитата:
В идеале, даже проверять, где стоит фамилия - в конце или в начале.
|
|
05.03.2006, 01:56 | #4 |
Участник
|
Во-первых, в идеале.
Во-вторых, есть список распространненных имен... Есть правила составления отчеств. Если правило не сработало, то выдавать предупреждение или трактовать в каком-либо порядке. Например, ФИО/ФИ/Ф, ИОФ/ИФ/Ф. А четвертое и последующие слова отбрасывать... Или выдавать предупреждение. |
|
15.03.2006, 14:24 | #5 |
Участник
|
Цитата:
Сообщение от mazzy
Во-первых, в идеале.
Во-вторых, есть список распространненных имен... Есть правила составления отчеств. Если правило не сработало, то выдавать предупреждение или трактовать в каком-либо порядке. Например, ФИО/ФИ/Ф, ИОФ/ИФ/Ф. А четвертое и последующие слова отбрасывать... Или выдавать предупреждение. как определить где что? ИМХО должны быть правила заполнения что на каком месте(ФИО) |
|
06.03.2006, 22:09 | #6 |
Участник
|
<div class='XPPtop'>X++</div><div class='XPP'>
[color=:blue]static[/color] [color=:blue]void[/color] Job2(Args _args) { [color=:blue]str[/color] initial([color=:blue]str[/color] _name) { [color=:blue]return[/color] subStr(_name, 1, 1) + [color=:red]"."[/color]; } [color=:blue]str[/color] fio([color=:blue]str[/color] _str) { TextBuffer buf=[color=:blue]new[/color] TextBuffer(); ; buf.setText(_str); [color=:blue]return[/color] buf.nextToken()+[color=:red]' '[/color]+ initial(buf.nextToken())+[color=:red]' '[/color]+ initial(buf.nextToken()); } ; info(fio([color=:red]'Путин Владимир Ильич'[/color])); info(fio([color=:red]' Чичиков Павел Иванович '[/color])); }</div> |
|
06.03.2006, 23:18 | #7 |
Участник
|
Пасиб, подстроилась под стандартные функции
|
|
15.03.2006, 14:42 | #8 |
Участник
|
>>>А четвертое и последующие слова отбрасывать.
A еще есть всякие "оглы" |
|