Помощь - Поиск - Пользователи - Календарь
Полная версия: изменение регистра-?
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Delphi
1147
В DBEdit вводится некоторое слово кирилицей. Можно ли как-то организовать чтобы первая буква этого слова автоматически становилась заглавной, как-будто мы при этом нажали shift?
function UpCase(c : Char) : Char;
не годится, т.к. применима только к символам 'a'..'z'
пробовал использовать
AnsiUpperCase(DBEdit1.Text[1]);
но тоже чтото не получается. и с Upcase тоже.
Вообще достаточно ли для этой процедуры одной строки кода, как это делал я, или это намного сложней?
volvo
Цитата
достаточно ли для этой процедуры одной строки кода, как это делал я, или это намного сложней?
Ненамного:
procedure TForm1.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
//
with (Sender as TDBEdit) do
begin
if Length(Text) = 1 then
begin
Text := AnsiUpperCase(Text);
SelStart := 2; // Иначе после смены символа каретка перескочит в начало
end;
end;
end;

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.