Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

В StringGrid выводит иероглифы. Помогите пжлст!

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
zeraid



Зарегистрирован: 24.03.2008
Сообщения: 2

СообщениеДобавлено: Пн Мар 24 2008 19:21    Заголовок сообщения: В StringGrid выводит иероглифы. Помогите пжлст! Ответить с цитатой

ВОт кусок кода. тут 2 процедуры запись и чтение из фала. Сосно сначала читаю из грида и записываю в файл и одновременно заполняю список есессно. Потом читаю из файла и вывожу в другой грид. - выводит иероглифы.

Код:

//запись
void ZAPIS()
{
FILE *kirp;
int i;
int t,k,n;
TList *kir;
kir = new TList;
stroka *p = new stroka;

if ((kirp = fopen("kirpichi.bdk", "rb+")) != NULL)
   {
   for ( i=1;i<(Form3->StringGrid1->RowCount);i++)
         {
          strcpy(p->name, Form3->StringGrid1->Cells[1][i].c_str());
          strcpy(p->type, Form3->StringGrid1->Cells[2][i].c_str());
          p->ves = StrToInt(Form3->StringGrid1 -> Cells[3][i]);
          p->cost = StrToInt(Form3->StringGrid1 -> Cells[4][i]);
          fwrite(kir, sizeof(kir), 1, kirp);
          kir->Add(p);
         }
   }
   fclose(kirp);
}



//чтение
void READ()
{
FILE *kirp;
int t,k,r,n;
TList *kir;
kir = new TList;
stroka *p = new stroka;

//fseek(kirp, SEEK_SET, 0);
//fread(&kirpic, sizeof(kirpic), 1, kirp);

int x=0;
   for (k=1;k<(Form3->StringGrid1->RowCount);k++)
   {
    Form1->StringGrid1->RowCount++;
      if (kirpic.ves<2.5, kirpic.cost<1.2)
      {
         fread(kir, sizeof(kir), 1, kirp);
         Form1->StringGrid1 -> Cells[1][k]= p->name;
         Form1->StringGrid1 -> Cells[2][k]= p->type;
         Form1->StringGrid1 -> Cells[3][k]=IntToStr(p->ves);
         Form1->StringGrid1 -> Cells[4][k]=IntToStr(p->cost);
        x++;
      }
      else
      {
      k--;
      x--;
      }
   }
   fclose(kirp);

   //Form1->Edit3->Text = 3;
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
zeraid



Зарегистрирован: 24.03.2008
Сообщения: 2

СообщениеДобавлено: Пн Мар 24 2008 19:35    Заголовок сообщения: Ответить с цитатой

вообще я думаю вот так надо кодик чуть подправить. Выводит уже другие иероглифы.... Здесь просто массив структур сделал. А то иначе он бы ток последн результат выводил....

Код:

//запись
void ZAPIS()
{
FILE *kirp;
int i;
int t,k,n;
TList *kir;
kir = new TList;
stroka *p = new stroka [n];

if ((kirp = fopen("kirpichi.bdk", "rb+")) != NULL)
   {
   for ( i=1;i<(Form3->StringGrid1->RowCount);i++)
         {
          strcpy(p[i].name, Form3->StringGrid1->Cells[1][i].c_str());
          strcpy(p[i].type, Form3->StringGrid1->Cells[2][i].c_str());
          p[i].ves = StrToInt(Form3->StringGrid1 -> Cells[3][i]);
          p[i].cost = StrToInt(Form3->StringGrid1 -> Cells[4][i]);
          fwrite(&kirpic, sizeof(kirpic), 1, kirp);
          //kir->Add(p);
         }
   }
   fclose(kirp);
}


//чтение
void READ()
{
FILE *kirp;
int t,k,r,n;
TList *kir;
kir = new TList;
stroka *p = new stroka;

//fseek(kirp, SEEK_SET, 0);
fread(&kirpic, sizeof(kirpic), 1, kirp);

int x=0;
   for (k=1;k<(Form3->StringGrid1->RowCount);k++)
   {
    Form1->StringGrid1->RowCount++;
      if (kirpic.ves<2.5, kirpic.cost<1.2)
      {
         //fread(kirpic, sizeof(kirpic), 1, kirp);
         Form1->StringGrid1 -> Cells[1][k]= p[k].name;
         Form1->StringGrid1 -> Cells[2][k]= p[k].type;
         Form1->StringGrid1 -> Cells[3][k]=IntToStr(p[k].ves);
         Form1->StringGrid1 -> Cells[4][k]=IntToStr(p[k].cost);
        x++;
      }
      else
      {
      k--;
      x--;
      }
   }
   fclose(kirp);

   //Form1->Edit3->Text = 3;
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...