Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 35

Stringgrid: если первая строка заполнена - перейти на другую

12.11.2014, 14:34. Показов 1444. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать переход на следующую строку, если предыдущая заполнена в StringGrid, в C++ Builder???

Добавлено через 59 минут
Помогите, очень надо)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.11.2014, 14:34
Ответы с готовыми решениями:

Не выделяется первая строка полностью после фиксированной в StringGrid
Здравствуйте!!! Ребята, подскажите. Хочу чтобы выделялась полностью первая строка в StringGrid после фиксированной при первом появлении...

Как перейти в другую директорию, если в сетевую папку не получилось?
Win10. В проводнике имею несколько ссылок на другой локальный компьютер в быстром доступе. Иногда доступа к нему нет - выключаю, чтоб...

Если первая строка пустая
Добрый день! как написать если первая строка пустая?

6
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
12.11.2014, 15:36
Не совсем понятна постановка задачи (я про детали).
Сделайте ограничение по вводимым символам и как ограничение достигнет своего предела перескакивайте на следующую строку.
А еще желательно описать задачу в целом, и более подробно описать проблему.
0
74 / 54 / 17
Регистрация: 10.07.2014
Сообщений: 329
12.11.2014, 15:37
Что значит заполнена строка в стринггриде?
слишком длинная - шире ячейки?
Или длина этой строки больше какой-то величины?
Если подберешь условие, то например так:
В данном коде - если выбрана последняя строка и нажата клавиша вниз - то добавляется еще строка в грид
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::StringGrid1KeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
{
  if ((Key==40)||(Key==98)) {//код клавиши вниз, основной и дополнительной
    if ((StringGrid1->Row+1)==StringGrid1->RowCount) {
      StringGrid1->RowCount++;
    }
  }
}
Кстати, кто подскажет символьные имена констант для клавиш? а то цифры - не комильфо
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33374 / 21499 / 8235
Регистрация: 22.10.2011
Сообщений: 36,894
Записей в блоге: 11
12.11.2014, 15:47
VK_DOWN и VK_NUMPAD2, список есть здесь: Virtual Key Codes

P.S. Мне почему-то кажется, что нужно просто, когда заполнена последняя ячейка в текущей строке - переходить на первую ячейку в строке следующей...
1
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 35
12.11.2014, 16:45  [ТС]
UI вы правило меня поняли, а как так сделать, чтобы когда заполнена последняя ячейка в текущей строке - переходить на первую ячейку в строке следующей??
0
74 / 54 / 17
Регистрация: 10.07.2014
Сообщений: 329
12.11.2014, 17:03
Ну тогда например так:
sgL - СтрингГрид на форме

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void __fastcall TForm1::sgLKeyUp(TObject *Sender, WORD &Key, TShiftState Shift)
{
  if (sgL->Cells[sgL->Col][sgL->Row]!="") {//условие заполненности - не пустая
    if (sgL->Col<sgL->ColCount-1) {
      sgL->Col++;
    } else {
      sgL->Col=0;
      if (sgL->Row==sgL->RowCount-1) {
        sgL->RowCount++;
      }
      sgL->Row++;
    }
  }
}
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33374 / 21499 / 8235
Регистрация: 22.10.2011
Сообщений: 36,894
Записей в блоге: 11
12.11.2014, 17:14
C++
1
2
3
4
5
6
7
8
9
void __fastcall TForm1::StringGrid1KeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
{
    if(Key == VK_RETURN)
    {
        TStringGrid *grid = static_cast<TStringGrid*>(Sender);
        grid->Row += (grid->Col == grid->ColCount - 1 ? 1 : 0);
        grid->Col = (grid->Col == grid->ColCount - 1 ? grid->FixedCols : grid->Col + 1);
    }
}
, например
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.11.2014, 17:14
Помогаю со студенческими работами здесь

Вывести «Yes», если слон может за один ход перейти с одной клетки в другую
Дано координаты двух клеток шахматной доски. Вывести «Yes», если слон может за один ход перейти с одной клетки в другую. В другом случае...

Как узнать, что StringGrid заполнена
Так говорит, что не заполнена. Но это неверно. begin if last_StringGrid&lt;&gt;0 then // , где last_StringGrid значение в последней...

Приложение зависает, если свернуть и развернуть Activity или перейти на другую Activity
У меня в параллельном потоке происходит куча apply() Решение использовать apply вместо commit было принято из-за скорости. Но...

Если значение в edit1 равно первой строке memo2, то первая строка из Memo3 копируется в Memo4
Привет всем! Есть edit1, memo1, memo2, memo3 и Button1. При нажатии на Button1 нужно, чтоб выполнялось такое условие: &quot;Если значение в...

Даны две строки. Если первая строка - длиннее, сформировать третью строку, как объединение строк
Даны две строки. Если первая строка - длиннее, сформировать третью строку, как объединение строк, иначе - скопировать первую строку во...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru