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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2015, 20:05   #1
yakimechik
Пользователь
 
Регистрация: 28.01.2015
Сообщений: 10
По умолчанию Русский язык и Range Check Error

Программа запускается, компилируется, но выскакивает Range Check Error и неверно отображается русские символы в таблице. Написано в C++ Builder XE, в CBuilder 6 все работало хорошо.
При просмотре через отладчик данная ошибка изначально выскакивает в строке
Код:
Form1->StringGrid3->Cells[i][0]=abc[i];
Часть программы:
Код:
#include <vcl.h>
#pragma hdrstop
#include <cstring.h>
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;


void cnt_letters();
void calc_bigrams();
void calc_dubl();
void text_out();
void abc_restore(int selector);
//---------------------------------------------------------------------------
String s;
String s_out;
String abc="АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
String abc_out;
String backup="";
int arr_backup=0;
int backup_position=0;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender){
  Form1->Color=StringToColor("0x00ff00");
  for (int i=0;i<31;i++){
  Form1->StringGrid3->Cells[i][0]=abc[i];
  Form1->StringGrid3->Cells[i][1]='*';
  backup+='*';
}
}
Изображения
Тип файла: jpg hz9auuB.jpg (47.6 Кб, 118 просмотров)

Последний раз редактировалось yakimechik; 08.12.2015 в 20:31.
yakimechik вне форума Ответить с цитированием
Старый 08.12.2015, 20:54   #2
yakimechik
Пользователь
 
Регистрация: 28.01.2015
Сообщений: 10
По умолчанию

С выходом за пределы вроде разобрался, здесь же нумерация в этих строках идет не с 0, а с 1? Если это так, то все равно остается проблема с русской кодировкой
yakimechik вне форума Ответить с цитированием
Старый 08.12.2015, 22:45   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Это у тебя так abc="АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮ Я"; отображается что ли?
Не пробовал String на AnsiString заменить?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.12.2015, 22:57   #4
yakimechik
Пользователь
 
Регистрация: 28.01.2015
Сообщений: 10
По умолчанию

Не помогло так и выводит иероглифы
yakimechik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в цикле ошибка "Range check error" vitaliy1911 Общие вопросы Delphi 3 11.03.2012 23:44
C++ Builder XE. "Range check error" при выполнении программы. Zinigan C++ Builder 1 20.02.2011 08:22
range check error ChEaTeR-abc Помощь студентам 14 07.07.2010 13:58
Range check error MAcK Общие вопросы Delphi 2 24.03.2010 10:33
ReDim и Subscript out of range (Error 9) oldfatham Microsoft Office Excel 5 24.08.2009 18:32