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

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

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2024, 15:14   #1
Petrov.A.S.2021
 
Регистрация: 15.01.2022
Сообщений: 5
По умолчанию Lazarus таблица

Как проверить существует ли строка в таблице (не заполнена ли, существует ли вообще) , если да , то заполнить, если нет, то добавить строку и заполнить. А то если попытаться заполнить не существующую строку, возникает ошибка.
Petrov.A.S.2021 вне форума Ответить с цитированием
Старый 01.07.2024, 18:31   #2
DeepFlake
Пользователь
 
Регистрация: 16.05.2024
Сообщений: 92
По умолчанию

С каким компонентом работаете?
Что значит "проверить существует ли строка в таблице"?
Если TStringGrid, то у него есть свойство RowCount, это и есть общее количество строк.
DeepFlake вне форума Ответить с цитированием
Старый 11.07.2024, 09:10   #3
Petrov.A.S.2021
 
Регистрация: 15.01.2022
Сообщений: 5
По умолчанию

С каким компонентом работаете?
Что значит "проверить существует ли строка в таблице"?
Если TStringGrid, то у него есть свойство RowCount, это и есть общее количество строк.

Существует таблица например 3-столбца 3-строки, и если обратится к 1-столбцу 4-строку возникает ошибка, то есть нужно заранее узнать существует ли строка (не ее значение, а существует ли вообще ), например в цикле перечисляем строки, если строка (ячейка) существует, записываем в нее значение и цикл продолжается, если нет, выходим за пределы цикла.
Petrov.A.S.2021 вне форума Ответить с цитированием
Старый 19.07.2024, 11:47   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,885
По умолчанию

Если речь про динамический двумерный массив, то есть функции Length, High:
Код:
if RowIndexIWantToFind >= Length(MyDynamic2DArray) then
  WriteLn('Индекс искомой строки массива выходит за границы массива')
else if ColumnIndexIWantToFind >= Length(MyDynamic2DArray[RowIndexIWantToFind]) then
  WriteLn('Индекс искомой колонки массива выходит за границы массива)')
else
  WriteLn(Format('Значение ячейки массива по индексам строка %d колонка %d = %s', 
    [RowIndexIWantToFind, ColumnIndexIWantToFind, MyDynamic2DArray[RowIndexIWantToFind, ColumnIndexIWantToFind]] );
С функцией High в данном случае будет также, но сравнение не по >= а просто по >
phomm вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить данных поля таблица по сравнение другой таблица tojdor_tj Microsoft Office Access 9 20.11.2020 15:05
Lazarus Зинаида+1 Помощь студентам 3 18.05.2017 21:40
Lazarus roza_236 Помощь студентам 1 15.05.2017 09:12
Перекомпиляция программы(простой) Win Lazarus в Linux Lazarus Toxifer Фриланс 0 27.11.2012 22:46
Lazarus... Сristina Помощь студентам 1 28.03.2011 20:03