Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> заменить '.' на ',' в StringGrid 
:(
    Опции темы
anr0ID
Дата 29.3.2011, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 29.3.2011

Репутация: нет
Всего: нет



Такой вопрос, как можно заменить ' . ' на ' , ' в StringGrid. Пробовал через OnKeyPress , что-то не очень выходит.
PM MAIL   Вверх
Данкинг
Дата 29.3.2011, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



А если значение заменить обычным StringReplace?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Keeper89
Дата 29.3.2011, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



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

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


--------------------
PM MAIL WWW   Вверх
anr0ID
Дата 29.3.2011, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 29.3.2011

Репутация: нет
Всего: нет



точнее через 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?

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

PM MAIL   Вверх
Keeper89
Дата 29.3.2011, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



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

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

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

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



--------------------
PM MAIL WWW   Вверх
anr0ID
Дата 29.3.2011, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 29.3.2011

Репутация: нет
Всего: нет



Цитата(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 получилось
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0833 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.