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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2019, 16:59   #1
restar82
Пользователь
 
Регистрация: 15.10.2013
Сообщений: 10
По умолчанию Вывод символа по коду

Здравствуйте уважаемые форумчане !

Есть такая проблемка.

необходимо вывести символ по коду.

например: Label1.Caption :=#0150#0151#0153#0154#0156#0157#01 59
в результате получаем:–—™љњќџ

а как быть если код переменный?

i:=0150;
Label1.Caption :=Chr(i);

не работает
restar82 вне форума Ответить с цитированием
Старый 25.06.2019, 18:26   #2
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Добавить # к 0150 никак? )
или хранить в переменной сразу #0150
Alar вне форума Ответить с цитированием
Старый 25.06.2019, 18:34   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Какая версия Delphi ?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.06.2019, 02:56   #4
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
Добавить # к 0150 никак? )
И чем это ТС поможет?
northener вне форума Ответить с цитированием
Старый 26.06.2019, 09:02   #5
restar82
Пользователь
 
Регистрация: 15.10.2013
Сообщений: 10
По умолчанию

версия Delphi 10.2

#0150 - как константа это работает, а вот кот константу сделать из переменных никак.(это уже не константа).
i:=0150;
Label1.Caption :=#+ inttostr(i); -- работать не будет!!!!!!!
restar82 вне форума Ответить с цитированием
Старый 26.06.2019, 09:19   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а так что будет?
Код:
i:=0150;
Label1.Caption := WideChar(i);
это должен быть символ –
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.06.2019, 09:51   #7
restar82
Пользователь
 
Регистрация: 15.10.2013
Сообщений: 10
По умолчанию

вот что получилось..... может у кого будет какая идея....


создал форму
на форме 2 EditText
2 кнопки
2 Label
в первом EditText зажимаю клавишу Alt и набираю цифры 0154
появляется символ љ
нажимаю кнопку 1, в ней код
Код:
procedure TForm1.btn1Click(Sender: TObject);
var
st, s:string;
begin
  st:=edt1.Text;
  s:= IntToStr (ord(st));
  Label1.Caption :=s;
end;
так вот в Label1 появляется число 1113

если это число вставить в функцию Chr(1113) то тогда появляется символ љ

как организовать преобразование кода 0154 в 1113 ?
restar82 вне форума Ответить с цитированием
Старый 26.06.2019, 10:33   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

WideChar не помогло?

Что Вы вообще пытаетесь сделать?
Сагу о X,Y,Z знаете?

Цитата:
Сообщение от restar82 Посмотреть сообщение
как организовать преобразование кода 0154 в 1113 ?
зачем?
это разные коды.
в данном случае это код Unicode 0x0459 (U+0459) https://unicode-table.com/en/#0459

Откройте для себя Unicode:
Абсолютный Минимум, который Каждый Разработчик Программного Обеспечения Обязательно Должен Знать о Unicode и Наборах Символов

Что нужно знать каждому разработчику о кодировках и наборах символов для работы с текстом
часть 1
часть 2

оригиналы:
https://www.joelonsoftware.com/2003/...ts-no-excuses/

http://kunststube.net/encoding/
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.06.2019, 11:17   #9
restar82
Пользователь
 
Регистрация: 15.10.2013
Сообщений: 10
По умолчанию

давайте начну с корня. откуда это все....


есть таблица с логинами и паролями


пароль вида - 11223344 в таблице хранится в следующем виде: "–—™љњќџ "

первая цифра 1, код числа 49, к нему прибавляется порядковый номер(1) и дописывается 01 перед числом в итоге получаем 0150 (дефис)



вторая цифра 1, код числа 49, к нему прибавляется порядковый номер(2) и дописывается 01 перед числом в итоге получаем 0151 (тире)



третья цифра 2, код числа 50, к нему прибавляется порядковый номер(3) и дописывается 01 перед числом в итоге получаем 0153 (™)


четвертая цифра 2, код числа 50, к нему прибавляется порядковый номер(4) и дописывается 01 перед числом в итоге получаем 0154 (љ)


пятая цифра 3, код числа 51, к нему прибавляется порядковый номер(5) и дописывается 01 перед числом в итоге получаем 0156 (њ)


шестая цифра 3, код числа 51, к нему прибавляется порядковый номер(6) и дописывается 01 перед числом в итоге получаем 0157 (ќ)


седьмая цифра 4, код числа 52, к нему прибавляется порядковый номер(7) и дописывается 01 перед числом в итоге получаем 0159 (џ)


восьмая цифра 4, код числа 52, к нему прибавляется порядковый номер(8) и дописывается 01 перед числом в итоге получаем 0160 (неразрывный

пробел)


так во нужно сделать окно авторизации по этому алгоритму....
restar82 вне форума Ответить с цитированием
Старый 26.06.2019, 11:24   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

И как это вообще связано с темой, которая здесь мусолилась? Вам надо ввести строку, преобразовать ее по алгоритму и сравнить две строки (или байтовые последовательности).
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение символа по юникод-коду символа Drekon Win Api 11 17.05.2018 16:05
Вывод символа Антон2121 Фриланс 4 01.06.2017 21:15
вывод символа на экран Palomnik1096 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 29.06.2011 15:16
Вывод символа в консоль по десятичному скан-коду Alex1991 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 14.11.2010 20:37
вывод символа skymaster Общие вопросы Delphi 3 04.06.2009 17:31