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

Вниз

edit   Найти похожие ветки 

 
Настенька   (2004-02-17 08:43) [0]

помогите, как сделать так, чтобы после ввода текста в edit(со свойством lowercase) первая буква становилась большой.


 
Defunct ©   (2004-02-17 08:51) [1]

procedure TForm1.Edit1Change(Sender: TObject);
Var S:String;
begin
If Length(Edit1.Text) > 0 Then
Begin
S := LowerCase(Edit1.Text);
S[1]:= Char(Byte(Edit1.Text[1]) And $DF);
Edit1.Text := S;
End;
end;


 
Defunct ©   (2004-02-17 08:54) [2]

При использовании приведенного примера[1] отключите свойство LowerCase. Там это уже учтено строка 6: S:=LowerCase(Edit1.Text);


 
Udjin ©   (2004-02-17 10:13) [3]

> to Defunct © А цифры вводить пробовал? А если слово в русской раскладке, то все буквы будут заглавными. И поменьшей мере непривычно, когда курсор при вводе текста остается в начальной позиции

procedure TForm1.Edit1Change(Sender: TObject);
var S:string;
begin
if Length(Edit1.Text)=1 then
begin
s:=Edit1.Text[1];
s:=AnsiUpperCase(s);
Edit1.Text:=s;
Edit1.Perform(WM_KEYDOWN,VK_END,0)
end;
end;


 
Семен Сорокин ©   (2004-02-17 10:17) [4]

Тогда уж так :)
procedure TForm1.Edit1Change(Sender: TObject);
var
_s :string;
_b: integer;
begin
if Length(Edit1.Text)=1 then begin
_b := Edit1.SelStart;
_s := Edit1.Text[1];
_s := AnsiUpperCase(_s);
Edit1.Text := _s;
Edit1.SelStart := _b
end;
end;


 
Семен Сорокин ©   (2004-02-17 10:20) [5]

неее, вот так :)

procedure TForm1.Edit1Change(Sender: TObject);
var
_s :string;
_b: integer;
begin
if Length(Edit1.Text)=1 then begin
_b := Edit1.SelStart;
_s := Edit1.Text[1];
_s := AnsiUpperCase(_s);
Edit1.OnChange := nil;
Edit1.Text := _s + copy(Edit1.Text, 2, Length(Edit1.Text)-1);
Edit1.OnChange := Edit1Change;
Edit1.SelStart := _b
end;
end;


 
Udjin ©   (2004-02-17 10:27) [6]

> Семен Сорокин ©
Ну дык тогда уж подскажи как лучше сделать. Хочешь постебаться надо мной, пожалуйста, но причем тут Настенька © ?


 
Семен Сорокин ©   (2004-02-17 10:35) [7]

Udjin © (17.02.04 10:27) [6]
> Семен Сорокин ©
Ну дык тогда уж подскажи как лучше сделать. Хочешь постебаться надо мной, пожалуйста, но причем тут Настенька © ?

Так я вроде и не стебался, а смайлик - это улыбка девушке.


 
Silver Alex ©   (2004-02-17 11:00) [8]


> Семен Сорокин © (17.02.04 10:35) [7]

а из буфера обена вставлять пробывал? наверное нет.Я бы сделал на OnExit
procedure TForm1.Edit1Exit(Sender: TObject);
begin
if Length(Edit1.Text)<>0 then
Edit1.Text:=AnsiUpperCase(Edit1.Text[1])+copy(Edit1.Text,2,length(edit1.text));
end;


 
Семен Сорокин ©   (2004-02-17 11:05) [9]

Silver Alex © (17.02.04 11:00) [8]
а из буфера обена вставлять пробывал?

ты хочешь сказать, что при вставке из буфера не произойдет OnChange?
что-то я сомневаюсь.


 
Silver Alex ©   (2004-02-17 11:08) [10]

OnChange то произойдет, но у тебя же условие "if Length(Edit1.Text)=1 then".


 
Семен Сорокин ©   (2004-02-17 11:14) [11]

Silver Alex © (17.02.04 11:08) [10]
OnChange то произойдет, но у тебя же условие "if Length(Edit1.Text)=1 then".

а, согласен, да его в [5] можно убрать, что-то не заметил я его.


 
Настенька   (2004-02-17 11:57) [12]

спасибо очень много вариантов, все попробую



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

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

Наверх




Память: 0.49 MB
Время: 0.018 c
1-93869
Nobody2004
2004-02-18 14:20
2004.02.29
Глюк DBGrid (или несинхронность указателя и подсветки)


6-94057
Dysan
2003-12-24 17:13
2004.02.29
как узнать что есть доступ в интернет?


3-93762
Марат
2004-02-04 09:07
2004.02.29
Справочники


14-94096
DeMoN-777
2004-02-05 22:04
2004.02.29
Беспредел...


1-93897
VID
2004-02-11 14:55
2004.02.29
Как выделить некий текст в TEmbeddedWB ?