Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2012, 19:17   #1
Женька Good
Форумчанин
 
Регистрация: 15.03.2011
Сообщений: 126
По умолчанию Работа с Edit, Timer, StringGrid

Нужно, чтобы при нажатии набирании текста он заносился в ячейку stringrid и наоборот.
Вот, что у мя есть:
Код:
//---------------------------------------------------------------------------

void __fastcall TForm1::StringGrid1Click(TObject *Sender)
{
Form1->Timer2->Enabled=False;
Form1->Timer1->Enabled=True;
StringGrid1->Options>>goEditing;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::StringGrid1DblClick(TObject *Sender)
{
StringGrid1->Options<<goEditing;
Form1->Timer2->Enabled=False;
Form1->Timer1->Enabled=True;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Edit1Change(TObject *Sender)
{
Form1->Timer1->Enabled=False;
Form1->Timer2->Enabled=True;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
int a=Form1->StringGrid1->Col;
int b=Form1->StringGrid1->Row;
Edit1->Text=StringGrid1->Cells[a][b];
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
int a=Form1->StringGrid1->Col;
int b=Form1->StringGrid1->Row;
StringGrid1->Cells[a][b]=Edit1->Text;
}
//---------------------------------------------------------------------------
Возникла проблема, при вводе текста в ячейку таблицы, в Edit передается только первый введенный символ.
например, "привет" - в едит передастся только "п".

Help!!!
Женька Good вне форума Ответить с цитированием
Старый 19.10.2012, 22:08   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Повешайте не на Edit1Change, а на KeyPress. При Change событие срабатывает один раз - когда собственно Edit выбирается. Потому и выводит только первый символ
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с Timer Bondul Работа с сетью в Delphi 3 29.12.2011 14:00
из EDIT в StringGrid Leila_4ever Общие вопросы Delphi 0 06.05.2011 23:37
из Edit в StringGrid Xeon332 Общие вопросы Delphi 11 25.05.2009 08:28
Edit vs StringGrid artemavd Общие вопросы Delphi 3 13.07.2008 11:56
Edit мы StringGrid artemavd Общие вопросы Delphi 0 12.07.2008 13:50