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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2010, 08:23   #1
Nursoltan
Новичок
Джуниор
 
Регистрация: 09.06.2010
Сообщений: 2
Вопрос Работа с компонентом StringGrid в Delphi7

Помогите пожалуйста!!!
У меня возникла такая проблема:
Я Пытаюсь взять данные с файла с помощью StringGrid и после перенести их в двухмерный массив, для работы с этими данными. Дело в том, что я не могу указать размерность массива, так как в файле неизвестное количество строк, а значит и в StringGrid-е неизвестно сколько будет строк и столбцов, ну конечно не зная эти данные нельзя создать двухмерный массив в var-e. Как можно уже из StringGrid-а Вытащить данные в массив???

Заранее спасибо!!

Последний раз редактировалось Nursoltan; 09.06.2010 в 08:31.
Nursoltan вне форума Ответить с цитированием
Старый 09.06.2010, 08:44   #2
Karabash
Форумчанин
 
Регистрация: 26.07.2009
Сообщений: 216
По умолчанию

Нужно почитать о динамических массивах.
В тексте модуля набераем "array". Нажимаем F1. В списке, который появится, первым пунктом будет "Dynamic arrays". Нажимаем "Показать". В открывшейся странице в самом низу ссылка "Multidimensional dynamic arrays". Через эту ссылку открываем страницу со справкой, где написано как объявлять и применять многомерные динамические массивы. В т.ч. и двумерные.
Karabash вне форума Ответить с цитированием
Старый 09.06.2010, 11:31   #3
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Код:
with StringGrid1 do
SetLength(массив, ColCount * RowCount);
Задаст размер массива = количеству ячеек таблицы.
Ну или пробегаете двойным цыклом по ячейкам проряя, что они <>'', тогда +1 в числовую переменную и в конце задать размер массива равного этой переменной...
W0LF вне форума Ответить с цитированием
Старый 09.06.2010, 20:41   #4
Nursoltan
Новичок
Джуниор
 
Регистрация: 09.06.2010
Сообщений: 2
По умолчанию

Спасибо всем!!!
С массивами я разобрался, но возник другой вопрос:
Как можно при случайной выборке строк из файла (точнее вопросов и ответов) делать проверку на то, что бы не было совпадений.

Т.е. есть кнопки с ответами и вопросом при нажатии на любой ответ прога вынимает random-мом любой другой вопрос но бываю повторения.

Хотя у меня и есть догадки, но пока, что-то не получается.
help me please!!!
Nursoltan вне форума Ответить с цитированием
Старый 09.06.2010, 21:32   #5
Volt
Форумчанин
 
Аватар для Volt
 
Регистрация: 07.12.2008
Сообщений: 244
По умолчанию

Цитата:
Как можно при случайной выборке строк из файла (точнее вопросов и ответов) делать проверку на то, что бы не было совпадений.
Код:
var
  L1 : TStringList;
  K, Kol  : integer; ///Кol кол-во вопросов
begin
  L1 := TStringList.Create;
  Randomize;

  Kol:=20;

  while L1.Count<Kol
  do begin
    K := Random(Kol);
    if L1.IndexOf(IntToStr(K))=-1 then
       L1.Add(IntToStr(K));
  end;

  // для демонстрации
  Memo1.Lines.Clear;
  Memo1.Lines := L1;


  L1.Free;
|̲̅̅●̲̅̅|̲̅̅=̲̅̅|̲̅̅●̲̅̅]
Volt вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с компонентом StringGrid. Delphi7 savraska Помощь студентам 0 05.06.2010 06:26
Delphi7. Таблица StringGrid. Olga67_net Помощь студентам 2 13.05.2010 08:29
Работа с компонентом Image. DarkStyle Помощь студентам 1 06.03.2010 22:29
работа с компонентом kuzmich Компоненты Delphi 0 07.07.2009 21:58
Работа с компонентом StringGrid! Abbatik Помощь студентам 2 24.11.2007 17:20