Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > заменить '.' на ',' в StringGrid


Автор: anr0ID 29.3.2011, 22:55
Такой вопрос, как можно заменить ' . ' на ' , ' в StringGrid. Пробовал через OnKeyPress , что-то не очень выходит.

Автор: Данкинг 29.3.2011, 23:02
А если значение заменить обычным StringReplace?

Автор: Keeper89 29.3.2011, 23:19
Цитата(anr0ID @  29.3.2011,  22:55 Найти цитируемый пост)
Пробовал через OnKeyPress , что-то не очень выходит. 

что не выходит?

Автор: anr0ID 29.3.2011, 23:31
точнее через KeyDown
Код

procedure ts(t:Tstringgrid);
var i,a: integer;
s,s1: string;
begin
i:=system.Length(t.Cells[t.Col,t.Row]);
a:=0;
s1:='';
s:=t.Cells[t.Col,t.Row];
if s<>'' then begin
repeat
inc(a);
if (ord(s[a])>=48) and (ord(s[a])<58)then s1:=s1+s[a]; // 
if s[a]='.' then s1:=s1+',';  
until i=a;
t.Cells[t.Col,t.Row]:=s1;
windows.keybd_event(113,0,0,0);
end;
end;

вводит один символ и только, да и точку на запятую не заменяет

Добавлено через 10 минут и 39 секунд
Цитата(Данкинг @ 29.3.2011,  23:02)
А если значение заменить обычным StringReplace?

надо попробовать

Автор: Keeper89 29.3.2011, 23:48
Цитата(anr0ID @  29.3.2011,  23:31 Найти цитируемый пост)
вводит один символ и только, да и точку на запятую не заменяет

а зачем так просто?

вот сложный вариант:
Код

procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = '.' then
    Key := ',';
end;

Автор: anr0ID 29.3.2011, 23:57
Цитата(Keeper89 @ 29.3.2011,  23:48)
Цитата(anr0ID @  29.3.2011,  23:31 Найти цитируемый пост)
вводит один символ и только, да и точку на запятую не заменяет

а зачем так просто?

вот сложный вариант:
Код

procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = '.' then
    Key := ',';
end;

smile:D:D *ROFL*  я прост пипец, спасибо)))

Добавлено через 6 минут и 46 секунд
всем спасиб, все круто через case получилось

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)