Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с StringGrid 
:(
    Опции темы
Ярослав
Дата 5.7.2009, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 189
Регистрация: 8.6.2009

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




M
dumb
Ярослав, для оформления кода используй кнопку "Код", располагающуюся над полем ввода сообщения. и форматируй код нормально, а не абы как - читать невозможно с твоими хаотичными отступами.


Помогите пожалуйста,уже целый день долбусь с программой и не как не могу добить её до конца.Если посмотреть на рисунок всё понятно.Короче суть такова Необходим код для поиска в StringGrid.Сохранение произвожу вот так:
Код

if(StringGrid1->RowCount==2 &&  StringGrid1->Cells[1][1].IsEmpty()&&
   StringGrid1->Cells[2][1].IsEmpty() &&  StringGrid1->Cells[3][1].IsEmpty()&&
   StringGrid1->Cells[4][1].IsEmpty())
   ShowMessage("Нечего сохранять");

    else
     {
 if (SaveDialog1->Execute())
  {


  TStringList *Files=new    TStringList;
Files->Add(IntToStr(StringGrid1->ColCount)) ;
Files->Add(IntToStr(StringGrid1->RowCount)) ;

for( int cRow=1;  cRow<StringGrid1->RowCount; cRow++)
for( int cCol=1;  cCol<StringGrid1->ColCount; cCol++)
Files->Add(StringGrid1->Cells[cCol][cRow]);

Files->SaveToFile(SaveDialog1->FileName);
delete Files;
    }
 }

А чтение вот так:
Код

if (OpenDialog1->Execute())
 {
  TStringList *Files = new TStringList;
  Files->LoadFromFile (OpenDialog1->FileName);
  AnsiString buff;
  buff=Files->Strings[0];
  Files->Delete(0);
  StringGrid1->ColCount=StrToInt(buff);

  buff=Files->Strings[0];
  Files->Delete(0);
  StringGrid1->RowCount=StrToInt(buff);
  int Stroka=0;

  for( int cRow=1;  cRow<StringGrid1->RowCount; cRow++)
  for( int cCol=1;  cCol<StringGrid1->ColCount; cCol++)
    {
     StringGrid1->Cells[cCol][cRow]=Files->Strings[Stroka];
     Stroka++;
    }
   for( int cRow=1;  cRow<StringGrid1->RowCount; cRow++)
   StringGrid1->Cells[0][0];

   delete Files;
 }


А вот с поиском немогу разобраться.Только важно сделать как на рисунке чтоб результат поиска выводило в Edit-ы


Это сообщение отредактировал(а) dumb - 5.7.2009, 22:22

Присоединённый файл ( Кол-во скачиваний: 19 )
Присоединённый файл  _____.jpg 32,73 Kb
PM MAIL   Вверх
ИванМ
Дата 5.7.2009, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Так же и делай как ты читал из файла:

Value- Искомое значение.

Код

 for( int cRow=1;  cRow<StringGrid1->RowCount; cRow++)
  for( int cCol=1;  cCol<StringGrid1->ColCount; cCol++)
    {
      if(StringGrid1->Cells[cCol][cRow]==Value)
      {
         Edit1->Text=Value;
         return;
      }
    }


Не понимаю какие тут сложности. Ты же сам все реализовал.
PM MAIL   Вверх
Ярослав
Дата 5.7.2009, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 189
Регистрация: 8.6.2009

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



Да я ещё слаб в программировании.А можно по конкретнее с кодом.Типа нажал кнопку и т.д.
PM MAIL   Вверх
ИванМ
Дата 6.7.2009, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



А ты каким Билдером пользуешься (версия)?
PM MAIL   Вверх
Ярослав
Дата 6.7.2009, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 189
Регистрация: 8.6.2009

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



C++Builder 6
PM MAIL   Вверх
mrbrooks
Дата 6.7.2009, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


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

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



Цитата(Ярослав @  5.7.2009,  23:42 Найти цитируемый пост)
А можно по конкретнее с кодом

дык ИванМ тебе пример и привел.

зы. Судя по всему ты делаешь что то на подобии БД, может лучше ее и использовать?
PM MAIL   Вверх
Aline
Дата 6.7.2009, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Может быть и стоит воспользоваться БД. В примере от ИванаМ найдется только одна запись и цикл прервется. А судя по рисунку, надо в массив запомнить номера строк, где встречается искомое значение, нажав на кнопку "Поиск". Затем по кнопке "Результат поиска" вывести первую запись на экран, а нажимая на кнопки Предыдущая-Следующая перебирать остальные, если они конечно есть. Ну и по кнопке "Поиск" посчитать конечно вообще найденное количество записей.
PM MAIL   Вверх
ИванМ
Дата 6.7.2009, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Вот, посмотри вложение.

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  StrGrid.rar 3,90 Kb
PM MAIL   Вверх
mrbrooks
Дата 6.7.2009, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


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

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



Цитата(Aline @  6.7.2009,  14:03 Найти цитируемый пост)
В примере от ИванаМ найдется только одна запись и цикл прервется. А судя по рисунку, надо в массив запомнить номера строк, где встречается искомое значение, нажав на кнопку "Поиск". Затем по кнопке "Результат поиска" вывести первую запись на экран, а нажимая на кнопки Предыдущая-Следующая перебирать остальные, если они конечно есть. Ну и по кнопке "Поиск" посчитать конечно вообще найденное количество записей. 

Никто не запрещает автору самому углубиться и расширить ответ - если он не является абсолютным решением. Готовое здесь никто выкладывать не обязан. 
PM MAIL   Вверх
Ярослав
Дата 6.7.2009, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 189
Регистрация: 8.6.2009

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



Спосибо большое сейчас пришол с работы буду разбираться
PM MAIL   Вверх
Ярослав
Дата 6.7.2009, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 189
Регистрация: 8.6.2009

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



Чет  проект не хочет компилироваться выскакивает  окно
PM MAIL   Вверх
ИванМ
Дата 6.7.2009, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Попробуй такой вариант

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  StrGrid.rar 8,62 Kb
PM MAIL   Вверх
Ярослав
Дата 6.7.2009, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 189
Регистрация: 8.6.2009

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



Опять тоже самое вот фото

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  a.jpg 13,57 Kb
PM MAIL   Вверх
ИванМ
Дата 6.7.2009, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Открой проект. Зайди в меню Project->Edit option source 
и удали там упоминания про dac60.bpi dacvcl60.bpi CRControls60.bpi odac60.bpi odacvcl60.bpi oraprov60.bpi
Или из блокнота открой файл проекта и тоже самое сделай

Это сообщение отредактировал(а) ИванМ - 6.7.2009, 22:05
PM MAIL   Вверх
Ярослав
Дата 6.7.2009, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 189
Регистрация: 8.6.2009

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



Чёт ничего не получается.Я взял ваш код оброботчики вставил в свою программу но выдаёт ошибку current=0; красная линия
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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