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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2009, 05:39   #1
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию Строчные буквы в заглавные и наоборот Delphi 7

Здраствуйте подскажите как правильно сделать в такой ситуации:
Есть 3 edita Фамилия Имя Отчество. Нужно чтобы в них всегда начиналось с больших букв, а остальные были маленькие и неважно как они вводились изначально напимер сИДОРОВ пЕтР ИВАнович - стало Сидоров Петр Иванович. Есть функция str:=AnsiUpperCase(str);
она переводит строчные в заглавные, а как наоборот???
и как мне найти именно первую букву?
Спасибо.
tarakan1983 вне форума Ответить с цитированием
Старый 20.03.2009, 06:08   #2
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

если ты вводишь текст сам то делай так, на OnChange
Код:
s:=copy(edit1.text, 1, 1); // копируем первый символ
ansiappercase(s);
a:=edit1.text;
delete(a, 1, 1); // удаляем первый символ
ansilowercase(a);
edit1.text:=s+a;
что то вроде этого...
Перед тем как спросить ищи на форуме и в GOOGLE

Последний раз редактировалось KORN; 20.03.2009 в 06:12.
KORN вне форума Ответить с цитированием
Старый 20.03.2009, 06:19   #3
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Перевод заглавных букв в строчные
Код:
function MCase(const s: string): string;
     var
    i: Integer;
  begin
    Result := s;
    for i := 1 to Length(s) do
    begin
      case s[i] of
        'A'..'Z',
          'А'..'Я': Result[i] := Chr(Ord(s[i]) + 32);
        'Ё': Result[i] := 'ё';
        'Ѓ': Result[i] := 'ѓ';
        'Ґ': Result[i] := 'ґ';
        'Є': Result[i] := 'є';
        'Ї': Result[i] := 'ї';
        'І': Result[i] := 'і';
        'Ѕ': Result[i] := 'ѕ';
      end;
    end;
  end;
Сделал так
Код:
procedure TFmFL.Button1Click(Sender: TObject);
   var
   str,nach,konec : string;
   i: integer;

      begin
      str:= edit1.Text;
      length(str);
      nach:=AnsiUpperCase(copy(str,1,1));
      konec:=MCase(copy(str,2,i));
      str:= nach + konec;
      showmessage(str);
      end;

end.
tarakan1983 вне форума Ответить с цитированием
Старый 20.03.2009, 14:15   #4
XuTpbIu
Злобстер
Форумчанин
 
Аватар для XuTpbIu
 
Регистрация: 19.03.2009
Сообщений: 134
По умолчанию

Есть ещё функция AnsiLowerCase:
Код:
var
	TmpStr: String;
begin
  TmpStr := Copy(Edit1.Text, 2, Length(Edit1.Text) - 1);
  Edit1.Text := AnsiUpperCase(Edit1.Text[1]) + AnsiLowerCase(TmpStr);
end;
От знаний ещё никто не умирал, но рисковать не стоит.
XuTpbIu вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
преобразование латинских заглавных букв в строчные на assembler lastochka Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 19.05.2013 11:58
дан текстовый массив из 200 букв. Выстроить в алфавитном порядке все строчные буквы Тина Помощь студентам 6 02.07.2008 22:53
Почему скрипт преобразует ЗАГЛАВНЫЕ буквы в строчные??? lex1 Microsoft Office Excel 3 17.03.2008 11:21
Слово наоборот Ketu Паскаль, Turbo Pascal, PascalABC.NET 12 16.03.2008 00:23