Форум: "Основная";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];
Вниз
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c