Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2010, 09:28   #1
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию Вывести инициалы

Для того чтобы вывести инициалы я ввожу фамилию, имя, отчество в разные Edit, а как сделать чтобы все вводилось в один Edit
вот мой код
Код:
 var
S2,S3,S4: string;
begin
  S2 := Edit2.Text; //имя
   S3 := Edit3.Text; //отчество
  Delete(S2, 2,15);
    Delete(S3, 2,15);
  S4:= S2+'.'+S3+'.'; /инициалы

label1.caption:=Edit1.Text+' '+S4;
т.е. мне нужно предложение из трех слов разбить на слова и во 2 и 3 слове оставить только первые буквы.
Aleksandr вне форума Ответить с цитированием
Старый 31.05.2010, 10:14   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

смотрите на функции Pos PosEx (ну и Copy, конечно)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.05.2010, 10:19   #3
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Да и разбивать не обязательно
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s,s1:string;
begin
 s:=edit1.Text;
 s1:='';
 s1:=s1+Copy(s,1,Pos(' ',s)-1)+' ';
 Delete(s,1,Pos(' ',s));
 s1:=s1+s[1]+'.';
 Delete(s,1,Pos(' ',s));
 s1:=s1+s[1]+'.';
 edit2.Text:=s1;
end;
SERG1980 вне форума Ответить с цитированием
Старый 31.05.2010, 10:27   #4
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

SERG1980 спасибо.
Aleksandr вне форума Ответить с цитированием
Старый 31.05.2010, 11:27   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

А почему бы по первым буквам просто не считывать символы в третий Edit да и все?
(например на событие OnKeyPress первого Edit-a):
Код:
Edit4.Text:=Edit1.Text[0] + '.';
на втором эдите:
Код:
Edit4.Text:=Edit1.Text[0] + '.' + Edit2.Text[0] + '.';
и на третьем эдите:
Код:
Edit4.Text:=Edit1.Text[0] + '.' + Edit2.Text[0] + '.' + Edit3.Text[0] + '.';
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбрать инициалы из строки Swatch Microsoft Office Access 3 02.03.2010 20:29
Вывести инициалы на ассемблере Marsel737 Помощь студентам 0 27.11.2009 19:03
из имени и отчества - инициалы zetrix Microsoft Office Excel 2 25.05.2009 07:38
Как имя отчество преобразовать в инициалы? rerbi Microsoft Office Excel 2 04.08.2008 10:58
Фамилия и инициалы BBagi Паскаль, Turbo Pascal, PascalABC.NET 5 18.06.2008 20:42