Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255

ListBox & ASCII

06.05.2011, 22:46. Показов 4353. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, как можно вывести символ в ListBox с помощью ASCII кода!?

Пытался сделать так:
C++
1
ListBox1->Items->Add(0x4A); // Выводит 74 (номер (код) клавиши, а должно J)
Пробывал так:

C++
1
ListBox1->Items->Add('#74'); // Выводит n-значное число
Thanks!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.05.2011, 22:46
Ответы с готовыми решениями:

Не работает Drag&Drop для ListBox
Работаю в C++Builder 2010. Есть форма с двумя листбоксами, в каждом по-умолчанию содержится по пять элементов. Реализовал Drag&Drop по...

Это что за иероглифы? if(!((a-4)&~7)&&!!(a-4))
Случайно наткнулся, выражение if(a>=5 & a<=11) "проще" записывается так: if(!((a-4)&~7)&&!!(a-4)) Фигасе проще, что они...

Вывод типа, универсальные ссылки, cannot bind lvalue to && и другие
Доброго дня, товарищи. Вот код: Вот отчет компиля: Объясните мне, пожалуйста, где я не прав. Каким образом константный lvalue литерал...

36
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
06.05.2011, 23:05
C++
1
ListBox1->Items->Add((char)74); // это вам не паскалистый делфий
2
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
07.05.2011, 00:25  [ТС]
LK, даже не знаю как благодарить!!!!))



Цитата Сообщение от LK Посмотреть сообщение
// это вам не паскалистый делфий
Правельно подметил!! Builder юзаю недавно!! перед этим Delphi юзал около года!))

Добавлено через 6 минут
Еще нужна помощь!!

как правильно прибавить 1 чтобы получить следующий символ! не 74 а 75!)

ListBox1->Items->Add((char)74);

Суть понятна???

Добавлено через 1 час 3 минуты
Все разобрался!

C++
1
ListBox1->Items->Add(char((char)74 + 1));
Вот только русские символы не отображает ListBox! C++ Builder XE.

Пробывал Unicode.

Как то переделать вот этот пример!

C++
1
2
3
4
5
6
7
UnicodeString str = "Строка";
  int i;
  wchar_t chr;
  for (i = 1; i < str.Length()+1; i++) {
    chr = str[i];
    ListBox1->Items->Add(chr);
  }
Но без понятия что нужно написать вместо

C++
1
Add(char((char)74 + 1))
Прошу помощи!))
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
07.05.2011, 00:33
это каша , что ты пытаешься сделать ? разбить строку на символы ? извлечь определенный символ из строки ?

Добавлено через 2 минуты
C++
1
ListBox1->Items->Add((char)chr);
Добавлено через 2 минуты
C++
1
2
3
4
5
// наглядный пример
int chr;
chr = 74;
chr += 1;
ListBox1->Items->Add((char)chr);
1
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
07.05.2011, 00:40  [ТС]
Мне нужно зашифровать текст! желательно русский!

Я решил это сделать так!

Каждый символ заменить следующим за ним символом!

Например:

АБВ зашифровать БВГ, то есть А заменить на Б, Б->В, В->Г.

Вот я и решил к каждому символу прибавлять единицу!

C++
1
ListBox1->Items->Add(char((char)74 + 1));
Но как только решил попробовать вывести русский символ

C++
1
ListBox1->Items->Add((char)128); // это символ А
то разачировался, ListBox не распознал символ!((

Пишу на C++ Builder XE!

Эту тему читал https://www.cyberforum.ru/cpp-... 78386.html
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
07.05.2011, 00:51
C++
1
2
3
4
5
6
7
UnicodeString str = "Строка";
int i;
wchar_t chr;
for (i = 1; i <= str.Length(); i++) {
chr = str[i+1].c_str();
ListBox1->Items->Add(chr);
}
Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
UnicodeString str = "Строка";
int i,j;
wchar_t chr;
for (i = 1; i <= str.Length(); i++) {
j = (int)str[i]; // узнаем числовое значение символа
j += 1; // меняем это значение
chr = (char)j; // узнаем, какой же символ получился
ListBox1->Items->Add(chr); // добавляем
}
1
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
07.05.2011, 00:58  [ТС]
Спасибо!! с латиницей отлично работает!

НО скирилицей проблемки!((
Изображения
 
0
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
07.05.2011, 01:16  [ТС]
Разобрался!!
C++
1
2
3
4
5
6
7
8
9
UnicodeString str = ListBox1->Items->Strings[0];
int i,j;
wchar_t chr;
for (i = 1; i <= str.Length(); i++) {
j = (int)str[i]; // узнаем числовое значение символа
j += 1; // меняем это значение
chr = (wchar_t)j; // тут было просто char!)
ListBox1->Items->Add(chr); // добавляем
}
Спасибо, LK

Добавлено через 54 секунды
Можно как то исправить что бы выводило в строчку а не встолбик!??
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
07.05.2011, 01:16
оно должно было ругаться, молодец, что рассмотрел
1
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
07.05.2011, 01:16  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
оно должно было ругаться, молодец, что рассмотрел
Не ругалась!)
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
07.05.2011, 01:18
выводи в Эдит:
C++
1
Edit->Text = Edit->Text+chr;
Добавлено через 1 минуту
или в Мемо, или в РичЭдит - в любое поле , принимающее символы
0
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
07.05.2011, 01:22  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
выводи в Эдит:
Изначально было задумано что в ListBox текст будет загружаться с *.txt, поэтому будет текст много строковый!!

Добавлено через 1 минуту
Цитата Сообщение от LK Посмотреть сообщение
или в Мемо, или в РичЭдит - в любое поле , принимающее символы
Буду пробывать!
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
07.05.2011, 01:22
может, так
C++
1
2
3
4
5
6
7
8
9
10
11
UnicodeString str,stmp;
str = "Строка";
int i,j;
wchar_t chr;
for (i = 1; i <= str.Length(); i++) {
j = (int)str[i]; // узнаем числовое значение символа
j += 1; // меняем это значение
chr = (wchar_t)j; // узнаем, какой это символ получился
stmp += chr; // stmp = stmp+chr; // 
ListBox1->Items->Add(stmp); // добавляем
}
1
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
07.05.2011, 01:25  [ТС]
Ну впринципи что то получаеться!!

Нужно как то за цикл вынести! чтобы выводило сразу всю строку!

Спасибо!! я сам подправил!!! Я твой должник)
C++
1
2
3
4
5
6
7
8
9
10
11
UnicodeString str, stmp;
str = "Строка";
int i,j;
wchar_t chr;
for (i = 1; i <= str.Length(); i++) {
j = (int)str[i]; // узнаем числовое значение символа
j += 1; // меняем это значение
chr = (wchar_t)j; // узнаем, какой это символ получился
stmp += chr; // stmp = stmp+chr; //
}
ListBox1->Items->Add(stmp); // добавляем
Изображения
  
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
07.05.2011, 01:28
зачем ?!!! так красиво получилось
C++
1
2
3
4
...
stmp += chr; // stmp = stmp+chr; // 
}
ListBox1->Items->Add(stmp); // добавляем
1
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
07.05.2011, 01:53  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
зачем ?!!! так красиво получилось
Это был сложный выбор!! но я все таки на него решился!!


Спасибо!!

Добавлено через 22 минуты
Доделал! Отдельное спасибо LK!)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
ListBox2->Visible = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ListBox1->Items->LoadFromFile("Output.txt");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
ShellExecute(Handle, L"open", L"Input.txt", 0, 0, SW_SHOWNORMAL);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
ShellExecute(Handle, L"open", L"Output.txt", 0, 0, SW_SHOWNORMAL);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
UnicodeString str, stmp;
for (int i = 0; i < ListBox1->Items->Count; i++)
{
str = ListBox1->Items->Strings[i];
int i,j;
wchar_t chr;
for (i = 1; i <= str.Length(); i++)
{
j = (int)str[i]; // узнаем числовое значение символа
j += 1; // меняем это значение
chr = (wchar_t)j; // узнаем, какой это символ получился
stmp += chr; // stmp = stmp+chr;
}
}
ListBox2->Items->Add(stmp); // добавляем
ListBox2->Items->SaveToFile("Input.txt");
}
//---------------------------------------------------------------------------
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
07.05.2011, 02:00
Супер ! Ну, и я бы подправил форматирование для пущей гламурности :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
  ListBox2->Visible = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  ListBox1->Items->LoadFromFile("Output.txt");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
  ShellExecute(Handle, L"open", L"Input.txt", 0, 0, SW_SHOWNORMAL);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
  ShellExecute(Handle, L"open", L"Output.txt", 0, 0, SW_SHOWNORMAL);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  UnicodeString str, stmp;
  for (int i = 0; i < ListBox1->Items->Count; i++) {
    str = ListBox1->Items->Strings[i];
    int i,j;
    wchar_t chr;
    for (i = 1; i <= str.Length(); i++) {
      j = (int)str[i]; // узнаем числовое значение символа
      j += 1; // меняем это значение
      chr = (wchar_t)j; // узнаем, какой это символ получился
      stmp += chr; // stmp = stmp+chr;
    }
  }
  ListBox2->Items->Add(stmp); // добавляем
  ListBox2->Items->SaveToFile("Input.txt");
}
Добавлено через 4 минуты
C++
1
ListBox2->Visible = false;
я бы второй ЛистБокс убрал вообще с формы, вместо него логичнее использовать StringList , все остается также, только
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  TStringList *list;
  list = new TStringList;
  UnicodeString str, stmp;
  for (int i = 0; i < ListBox1->Items->Count; i++) {
    str = ListBox1->Items->Strings[i];
    int i,j;
    wchar_t chr;
    for (i = 1; i <= str.Length(); i++) {
      j = (int)str[i]; // узнаем числовое значение символа
      j += 1; // меняем это значение
      chr = (wchar_t)j; // узнаем, какой это символ получился
      stmp += chr; // stmp = stmp+chr;
    }
  }
  list->Add(stmp); // добавляем
  list->SaveToFile("Input.txt");
  delete list;
  list = NULL;
}
1
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
07.05.2011, 02:10  [ТС]
Ну спасибо!!!

Шифратор текста готов! Через пару дней займусь дешифратором!))))

Thanks, LK

Добавлено через 2 минуты
Насчет дешифратора!!!! разница только в том что нужно отнимать от символа!!)) наверно!!!

Цитата Сообщение от LK Посмотреть сообщение
j -= 1; // меняем это значение
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
07.05.2011, 02:11
в дешифраторе все так же , лишь
C++
1
j = j-1;
Добавлено через 1 минуту
интересно, чье сообщение пришло раньшее ?
1
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
07.05.2011, 02:13  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
в дешифраторе все так же , лишь
C++
1
j = j-1;
Добавлено через 1 минуту
интересно, чье сообщение пришло раньшее ?
как я и думал!)

Добавлено через 52 секунды
Цитата Сообщение от LK Посмотреть сообщение
интересно, чье сообщение пришло раньшее
Вот не задача!))) Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.05.2011, 02:13
Помогаю со студенческими работами здесь

Оператор && - добавить в одну строчку Memo текст с ListBox1 и ListBox2
значит нужно добавить в одну строчку Memo текст с ListBox1 и ListBox2 хотел реализовать через оператор &quot;и&quot; &amp;&amp; но видает...

TCPClient && TCPServer Indy Components
Всем привет. Программа пишется в C++ Builder 2010. Написал Серверную часть чата и...

Rad studio XE3 && OpenGL
скачал отсюда библиотеки http://www.onlinedisk.ru/file/620466/ glut.dll and glut32.dll скопировал в windows/system32 glut.h и glaux.h...

С++ Builder && VBA Excel
как можно реализовать такое задание: забиваем в билдере матрицу, передаем ее екселю, ексель находит обратную матрицу и возвращает...

Много вырожений. Логическое &&.
Привет всем!!! Извеняюсь за ламерский вопрос но почему не работает вот этот код? bool Up=false,Down=false,Left=false,Right=false; if...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru