Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.07.17;
Скачать: CL | DM;

Вниз

Подмена окончаний в слове   Найти похожие ветки 

 
Максон ©   (2011-04-11 08:25) [0]

Здравствуйте.
Помогите пожалуйста, разобраться в ситуации.
Задача: пользователь вводит в edit1 название района. Например: Ивановский район. Дальше нажимает на кнопку и программа выдает ему сопроводительное письмо, в котром в начале документа Ивановский район, а в конце документа по Ивановскому району
При нажатии на кнопку в закладку шаблона документа word вставляется текст из edit1.


WA.activeDocument.bookmarks.item("район").select;
WA.selection:=form1.edt1.Text;


C этим я разобрался.
Проблема: как убрать окончание (-ий) у слова, а потом добавить к нему другое окончание (-ому)


 
Ega23 ©   (2011-04-11 08:32) [1]

Copy + F1


 
Максон ©   (2011-04-11 08:34) [2]

Это как сделать?


 
Ega23 ©   (2011-04-11 08:36) [3]

Написать в редакторе "Copy", выставить на нём курсор и нажать F1. Будет выведена справка, что это и как этим пользоваться.


 
И. Павел ©   (2011-04-11 08:37) [4]

Вот библиотека, склоняющая фамилии. Думаю, что районы склоняются так же. Например "Московский" - это может быть и райорн и фамилия.
http://delphikingdom.ru/asp/viewitem.asp?catalogid=412

За 1000 руб. можно купить вот такую программу: http://morpher.ru/

Ну и в сети полно уже готовых решений.
Хотя можно сделать самостоятельно - http://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D0%BB%D0%BE%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B3%D0%B5%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D0%B9_%D0%B2_%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%BE%D0%BC_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5


 
И. Павел ©   (2011-04-11 08:39) [5]

> [1] Ega23 ©   (11.04.11 08:32)

А если попадется какой-нибудь район имени Вано Гугашвилли? :) Не уверен, что такие бывают, но мало ли.


 
Максон ©   (2011-04-11 08:41) [6]

Паша, скажи, а попроще ничего нет? Я вчера весь вечер гуглил, так и нашел ничего  путнего.
Можно как-нибудь вырезать окончание и вставить другое?


 
Anatoly Podgoretsky ©   (2011-04-11 08:45) [7]

Это называется падежи.


 
И. Павел ©   (2011-04-11 08:49) [8]

> [6] Максон ©   (11.04.11 08:41)


Если для всех районов достаточно вырезать последние 2 буквы и вставить новое окончание, то можно так:
procedure TForm1.Button1Click(Sender: TObject);
var raion, okonch: string;
begin
 raion := "Московский";
 Delete(raion, length(raion) - 1, 2);
 raion := raion +  "ого";
 Caption := raion;
end;


 
И. Павел ©   (2011-04-11 08:50) [9]

только в вашем варианте не:
raion := raion +  "ого";
а:
raion := raion +  "ому";


 
Максон ©   (2011-04-11 09:29) [10]

Все равно не получается


 
Максон ©   (2011-04-11 09:35) [11]

Ребята, спасибо огромное. Помогли очень.
Разобрался.
Вот код рабочий, если кому надо

procedure TForm1.btn1Click(Sender: TObject);
var
 raion, okonch: string;
begin
raion := edt1.Text;
Delete(raion, length(raion) - 1, 2);
okonch := raion + "ого";
edt2.Text := okonch;

end;
end.



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

Текущий архив: 2011.07.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
2-1301928036
novichek
2011-04-04 18:40
2011.07.17
ADO поле Int64


2-1302423114
DTMail
2011-04-10 12:11
2011.07.17
Как отправить письмо с правильным временем отправки?


15-1301689794
Юрий
2011-04-02 00:29
2011.07.17
С днем рождения ! 2 апреля 2011 суббота


2-1302269300
johnjar
2011-04-08 17:28
2011.07.17
OpenGl GLine и GL_POINTS


2-1302263393
aldis
2011-04-08 15:49
2011.07.17
Listview, подскажите как сварганить