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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2013, 22:39   #1
Sektr63
Пользователь
 
Регистрация: 29.01.2012
Сообщений: 33
По умолчанию Ansistring

Есть компонент Edit1->Text, у него есть некое значение "Hello". Можно ли представить его ввиде массива где первый элемент будет "H" и т.д. соотвественно?
Или создать символьный массив char и по элементно присвоить ему значения с Ansistring?
Sektr63 вне форума Ответить с цитированием
Старый 23.02.2013, 22:50   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
Ansistring s=Edit1->Text;
s[такое-то]=символу
не?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.02.2013, 22:59   #3
Sektr63
Пользователь
 
Регистрация: 29.01.2012
Сообщений: 33
По умолчанию

Ничего не работает. Объявляю в классе:
Код:
AnsiString *Name;
в методе выделяю память:
Код:
 Name=new AnsiString [Form1->Edit1->Text.Length ()+1];
Но при работе программы вылазит ошибка, во время компиляция все нормально.

Дубль 2ого поста.

Если правильно понял, ошибка доступа. В классе Form1, когда использую поля вместе с компонентами все ок, если использую компоненты с полями других классов - вылазит ошибка, только не понятно почему : (. А ошибка собственно такая: Access violation at address.

Последний раз редактировалось Stilet; 25.02.2013 в 22:30.
Sektr63 вне форума Ответить с цитированием
Старый 24.02.2013, 00:05   #4
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

На мой взгляд ошибка в этом:
Цитата:
AnsiString *Name;
- здесь вы обозначили одну строку Name (адрес строки). А здесь:
Цитата:
Name=new AnsiString [...]
вы инициализируете целый массив строк (в количестве длины текста в Edit1) под тем же именем.
nick42 вне форума Ответить с цитированием
Старый 25.02.2013, 16:03   #5
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

А зачем создавать какой-то массив, если в Text уже всё и так есть?
Цитата:
AnsiString:perator []

Returns the character at a specified index in the string.

char& __fastcall operator [](const int idx);

Description

This operator returns the character in the string at index value idx. The [] operator assumes a base index of 1. For example, given the string “Hello” and an index value of 2, the character returned would be ‘e’.
FataLL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка Unresolved external 'AVIA::AVIA(int, System::AnsiString, System::AnsiString, System::AnsiString, int) mexmexmex C++ Builder 3 27.12.2011 13:31
Вопрос по AnsiString Smitt&Wesson C++ Builder 2 30.09.2011 13:08
из AnsiString в char* Psayker C++ Builder 4 21.06.2011 11:07
проблема с AnsiString Lady IcE Общие вопросы C/C++ 2 17.03.2011 21:25
AnsiString CodeNOT Общие вопросы C/C++ 4 12.11.2010 17:08