Поиск:

Ответ в темуСоздание новой темы Создание опроса
> gпролемы со StringGrid в билдере 6 
V
    Опции темы
wertklop
Дата 23.11.2008, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



привет всем

кто работает с таблицей StringGrid, подскажите.
есть кнопка загрузить, есть компонента диалог открытия файла.

Код

struct info{
char *field1;
};

void __fastcall TForm1::Button1Click(TObject *Sender)
{
if ( !OpenDialog1->Execute() )return; //вызов окна  выбора файла
char ch[]="";
  FILE*file=fopen(OpenDialog1->FileName.c_str(),"rt");
  struct info Field;
  int rt = fscanf(file, "%s",ch);//чтение 1 строки из файла
  Field.field1=strtok(ch,"|");//получение 1 слова до первого разделителя "|"
  fclose(file);
  Application->MessageBox(Field.field1, "Look", MB_OK);//для проверки правильности считывания
 // StringGrid1->Cells[1][1]=Field.field1;//если снять комент, то вывводится ошибка(см рис)
}

user posted image

как мне сделать так, чтобы в ячейку выходило значене Field.field1 ?
PM MAIL   Вверх
Данкинг
Дата 23.11.2008, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Я со StringGrid мало работал, но вроде там изначально должно быть задано какое-то минимальное число строк и столбцов.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
wertklop
Дата 23.11.2008, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Данкинг @ 23.11.2008,  22:48)
Я со StringGrid мало работал, но вроде там изначально должно быть задано какое-то минимальное число строк и столбцов.

в свойствах StringGrid указано по умолчанию количество столбцов и строк стоит по 5
даже если я изменяю количество
Код

StringGrid1->ColCount=3;
StringGrid1->RowCount=3;


всё равно выходит та же ошибка. хотя я делаю как написано в документации
PM MAIL   Вверх
mrbrooks
Дата 24.11.2008, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



wertklop, для Бормана есть отдельный раздел. Поищи в нем - там много примеров работы со StringGrid
PM MAIL   Вверх
xvr
Дата 24.11.2008, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



TStringGrid тут абсолютно не при чем. Ошибка в другом месте:
Код

char ch[]="";
int rt = fscanf(file, "%s",ch);//чтение 1 строки из файла  
У тебя ch имеет тип массива чаров, размера 1 (1 чар), ты в нее читаешь строку из файла. Сдается мне, что строка много длиннее, чем 0 символов  smile  Сдалай массив побольше
Код

char ch[1024];
(Хотя потенциальную проблему ее переполнения это не решит)

PM MAIL   Вверх
wertklop
Дата 24.11.2008, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(xvr @ 24.11.2008,  14:36)
TStringGrid тут абсолютно не при чем. Ошибка в другом месте:
Код

char ch[]="";
int rt = fscanf(file, "%s",ch);//чтение 1 строки из файла  
У тебя ch имеет тип массива чаров, размера 1 (1 чар), ты в нее читаешь строку из файла. Сдается мне, что строка много длиннее, чем 0 символов  smile  Сдалай массив побольше
Код

char ch[1024];
(Хотя потенциальную проблему ее переполнения это не решит)

а разве я не создаю массив с неогрангиченным размером?
PM MAIL   Вверх
mrbrooks
Дата 24.11.2008, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(wertklop @  24.11.2008,  14:58 Найти цитируемый пост)

а разве я не создаю массив с неогрангиченным размером? 


неа  smile 

PM MAIL   Вверх
wertklop
Дата 27.11.2008, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ребята! я нашёл то, что мне нужно!
 smile 
всё работает так, как надо!
смотрите и пользуйтесь, вдруг кому пригодится

http://forum.vingrad.ru/forum/topic-113291/unread-1.html
 smile 
PM MAIL   Вверх
wertklop
Дата 28.11.2008, 00:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



подскажите, как сделать так, чтобы можно было выделять не всю строку целиком, а по ячейкам?
и как их сделать редактируемыми?
свойство goEditing не помогает (( 
PM MAIL   Вверх
xvr
Дата 28.11.2008, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(wertklop @ 28.11.2008,  00:51)
подскажите, как сделать так, чтобы можно было выделять не всю строку целиком, а по ячейкам?

Options->goRowSelect

Цитата

и как их сделать редактируемыми?
Options->goEditing 

Цитата

свойство goEditing не помогает ((
F2 нажимали? Если нужно без F2, то goAlwaysShowEditor
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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