Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Cannot convert 'AnsiString' to 'const char *', Как сделать MessageBox 
V
    Опции темы
123lexx321
Дата 30.1.2011, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



у меня b[] объявлен как char, ну и соответственно все элементы матрицы символы. может можно как то проще вывести элементы из StringGrid в Label (в определённом порядке)

Это сообщение отредактировал(а) 123lexx321 - 30.1.2011, 12:03
PM MAIL   Вверх
Dem_max
Дата 30.1.2011, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



объяви как int


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
123lexx321
Дата 31.1.2011, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



у меня b[] объявлен как char, ну и соответственно все элементы матрицы символы. может можно как то проще вывести элементы из StringGrid в Label (в определённом порядке)
PM MAIL   Вверх
Dem_max
Дата 31.1.2011, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

может можно как то проще вывести элементы из StringGrid в Label 

тогда проще
Код

Label1->Caption = StringGrid1->Cells[1][1];



--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
123lexx321
Дата 1.2.2011, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Итог тот же. is not a valid integer value
Вообще лечше весь код выложу чтоб было понятно что куда
Код

void __fastcall TForm1::Button3Click(TObject *Sender)
{
 char b[121];
 int col=5,row=5;
 int n=1,i,j,c=0;
 while (1)
  {
  b[c]=StrToInt(StringGrid1->Cells[col][row]);
  c++;
    switch(n)
    {
    case 1: col++;break;
    case 2: row--;break;
    case 3: col--;break;
    case 4: row++;break;
    }
   if (col==10) break;
   if (col==row&&col<6) n=4;
   else if(col+row==10&&col<6) n=1;
   else if(col+row==10&&col>=6) n=3;
   else if(col==row+1&&col>5) n=2;
  }
  Label1->Caption=b;

}

цикл начинается с центра матрицы, на нем же и ошибка появляется

Это сообщение отредактировал(а) 123lexx321 - 1.2.2011, 18:36
PM MAIL   Вверх
xvr
Дата 2.2.2011, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(123lexx321 @  1.2.2011,  18:35 Найти цитируемый пост)
 is not a valid integer value

Видимо где то у вас в гриде лежит нечто не похожее на число. StrToInt на это бросает эксепшен, который вы и видите

PM MAIL   Вверх
123lexx321
Дата 2.2.2011, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(xvr @ 2.2.2011,  13:03)
Цитата(123lexx321 @  1.2.2011,  18:35 Найти цитируемый пост)
 is not a valid integer value

Видимо где то у вас в гриде лежит нечто не похожее на число. StrToInt на это бросает эксепшен, который вы и видите

ну там как бы во всем гриде символы лежат
PM MAIL   Вверх
xvr
Дата 2.2.2011, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(123lexx321 @  2.2.2011,  18:03 Найти цитируемый пост)
ну там как бы во всем гриде символы лежат 

Ну тогда StrToInt имеет полное право бросать эксепщены - она ожидает увидеть на входе строку с числом в ней, а не произвольный символ. Т.е. "0", "123" или "8765" подойдут, а "Число" - даст эксепшен

Если вам нужен код первого символа из ячейки грида, то так и пишите:
Код

b[c]=StringGrid1->Cells[col][row][1];

И то сломается, если в ячейке грида будет пустая строка (т.е. не будет у нее первого символа)

PM MAIL   Вверх
123lexx321
Дата 3.2.2011, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(xvr @  2.2.2011,  22:46 Найти цитируемый пост)
Если вам нужен код первого символа из ячейки грида, то так и пишите:

мне нужно данные всего грида(данные это текс) вывести в определённом порядке на экран (Label? Edit?)
Может есть какие то идеи, как это по другому можно сделать?
Лучше наглядно
PM MAIL   Вверх
xvr
Дата 3.2.2011, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(123lexx321 @  3.2.2011,  18:28 Найти цитируемый пост)
мне нужно данные всего грида(данные это текс) вывести в определённом порядке на экран (Label? Edit?)

Грид - это 2х мерный массив. Label - это 1 строка. Как вы представляете себе вывод 2х мерного массива в виде 1 строки?
Если вам надо соединить вместе текст из всех ячеек грида и вывести то, что получилось, то так и пишите:
Код

AnsiString b;
...
while(1)
{
 b+=StringGrid1->Cells[col][row];
 ...
}
Label1->Caption=b;

PM MAIL   Вверх
123lexx321
Дата 4.2.2011, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(xvr @ 3.2.2011,  20:46)
Цитата(123lexx321 @  3.2.2011,  18:28 Найти цитируемый пост)
мне нужно данные всего грида(данные это текс) вывести в определённом порядке на экран (Label? Edit?)

Грид - это 2х мерный массив. Label - это 1 строка. Как вы представляете себе вывод 2х мерного массива в виде 1 строки?
Если вам надо соединить вместе текст из всех ячеек грида и вывести то, что получилось, то так и пишите:
Код

AnsiString b;
...
while(1)
{
 b+=StringGrid1->Cells[col][row];
 ...
}
Label1->Caption=b;


сделал как написано. выдаёт illegal structure operation
PM MAIL   Вверх
xvr
Дата 4.2.2011, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(123lexx321 @  4.2.2011,  16:57 Найти цитируемый пост)
сделал как написано. выдаёт illegal structure operation 
В каком месте выдает?


PM MAIL   Вверх
123lexx321
Дата 4.2.2011, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(xvr @ 4.2.2011,  18:59)
Цитата(123lexx321 @  4.2.2011,  16:57 Найти цитируемый пост)
сделал как написано. выдаёт illegal structure operation 
В каком месте выдает?

на этом b+=StringGrid1->Cells[col][row];
PM MAIL   Вверх
Dem_max
Дата 4.2.2011, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



потому что за пределы  Cells[col][row]; наверное выходим


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
123lexx321
Дата 4.2.2011, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Dem_max @ 4.2.2011,  19:20)
потому что за пределы  Cells[col][row]; наверное выходим

да нет, начинается как раз с центра матрицы, как и задумано....
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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