Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Простое шифрование даных 
:(
    Опции темы
Sergio
Дата 28.9.2006, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

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



У меня на форме есть edit1, Label1, и Button1. Мне нужно при нажатии кнопки, буква, введена в edit1, отображался номер етой буквы.  Например: я ввел букву А, то в Label1 должно отбражаться цифра 1.
Зарани спасибо.


PM MAIL ICQ   Вверх
Kuvaldis
Дата 28.9.2006, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


механик-вредитель
***


Профиль
Группа: Участник Клуба
Сообщений: 1189
Регистрация: 16.6.2006
Где: Минск

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



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

int   num;    // номер буквы
char  sym;    // символ для преобразования

num = toupper(sym) - 'A' + 1;

Переводим все буквы в верхний регистр. Все буквы английского алфавита расположены в кодировочной таблице непрерывно. Значит, если вычесть из буквы код буквы 'A', получим то, что нам нужно


Это сообщение отредактировал(а) Kuvaldis - 28.9.2006, 20:28


--------------------
Помни - когда ты спишь, враг не дремлет
Спи чаще и дольше, изматывай врага бессоницей
PM MAIL ICQ   Вверх
Sergio
Дата 28.9.2006, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

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



void __fastcall TForm1::Button1Click(TObject *Sender)
{
int   num;    

char  sym;    
sym=Edit1->Text;

num = toupper(sym);

Label1->Caption=num;
}


вибивает ошибку. Как мне переконвертировать с AnsiString в Char?
PM MAIL ICQ   Вверх
Kuvaldis
Дата 28.9.2006, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


механик-вредитель
***


Профиль
Группа: Участник Клуба
Сообщений: 1189
Регистрация: 16.6.2006
Где: Минск

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



Sergio,
1. пользуйся кнопкой код, чтобы красиво твое сообщение выглядело.
2.  
Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int   num;    

char  sym;    
sym = Edit1->Text.c_str()[0];

num = toupper(sym);

Label1->Caption=num;
}


Это сообщение отредактировал(а) Kuvaldis - 28.9.2006, 21:40


--------------------
Помни - когда ты спишь, враг не дремлет
Спи чаще и дольше, изматывай врага бессоницей
PM MAIL ICQ   Вверх
Sergio
Дата 28.9.2006, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

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



Edit1->Text.c_str()[0];  Что ето?? Обясни пожалуйста.
PM MAIL ICQ   Вверх
dumb
Дата 29.9.2006, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

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



Цитата(F1)

AnsiString::c_str() returns a non const temporary pointer to the internal string buffer in the AnsiString object. The pointer is invalid once the statement in which it is used has finished executing. That is,don't do something like this:

     char* cp = Edit1->Text.c_str();
     char* cp2 = strtok( cp, " \t\n" ); // cp may no longer be valid

If you need a persistent pointer, you MUST copy the string into its own buffer:

     char* cp = new char[ Edit1->Text.Length() + 1 ];
     strcpy( cp, Edit1->Text.c_str() );


клавишу F1 оторвало? user posted image

ps. Edit1->Text.c_str()[0] - первая буква в строке.
тоже вариант:
Код

  Label1->Caption = (int)Edit1->Text.UpperCase()[1];

PM MAIL   Вверх
Sergio
Дата 2.10.2006, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

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



 smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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