Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C++ Builder > Реверсия Не хочет работать буква "Я" |
Автор: Syltan 25.9.2009, 18:28 | ||||
Вот, написал небольшую программку реверсирования. На форме находится Edit1,Edit2,Button1. В Эдит1 я ввожу русские символы. Если я ввёл букву с большой буквы, тогда при нажатии на батон1, в поле Эдит2,должна появится маленькая буква, если в Эдит1 ввёл маленькую букву, при нажатии на кнопку, в поле Эдит2, должна появится Большая буква. В обработчик события Button1, вставляю такой код:
Вроде так как я хотел, но дело в том,что программа компилится, но при вводе "Я", в маленькую "я", не преобразует. Может подскажите,преобразователь в unsigned char? Вот консольный вариант, он работает, я хочу с объектами,чтоб был точно такой:
Подскажите пожалуйста, существует ли преобразователь в unsigned char он мне нужен для первого кода на форме,тоесть вместо этого c_str() |
Автор: 586 25.9.2009, 22:17 | ||
Используй класс String вместо char*.
|
Автор: Syltan 25.9.2009, 23:30 |
Неа, не помогло, выдаёт также само, при вводе большого Я, маленький в результате не получается. Не знаю что делать. |
Автор: Anikmar 26.9.2009, 09:59 |
Если так нужно - напишите свою функцию toupper/tolower |
Автор: Syltan 26.9.2009, 12:49 | ||
Понимаете, в консоли работает, вот этот код:
Как сделать чтоб с объектами этот же код работал? |
Автор: Syltan 26.9.2009, 13:24 | ||
НЕ помогает. Ещё увидел одну проблемму. Программа работает только один раз, при вводе 2-ой раз в Эдит, слова, и нажатии кнопки батон, программа просто выводит всё то,что я ввёл в Эдит1, то и выводит в Эдит2 без изменения. По поводу буквы"Я",чтоб заработало,нужно чтоб был unsigned char,как его сюда применить? Вот код:
|
Автор: 586 26.9.2009, 13:32 | ||
Ну и чего по прежнему char* пишешь? Или нужен именно char* ?
|
Автор: Syltan 26.9.2009, 13:37 |
Мне нужен unsigned char ,если написать его программа не скомпилится, а только компилится с чаром. |
Автор: 586 26.9.2009, 13:39 | ||
Мой код компилируется? |
Автор: Syltan 26.9.2009, 13:47 |
,Ваш код вроде работает, осталась небольшая проблема. Нужно,чтоб когда я ввёл один раз слово, и нажимал на кнопку батон несколько раз, и эти несколько раз менялось значение в Эдит 2. Например,я ввёл слово - "Янтарь" в Эдит1, нажал на кнопку, в Эдит 2 отобразилось: яНТАРЬ, потом, ничего не ввожу, а снова нажал на Батон1, в Эдит2, отобразилось Янтарь. |
Автор: 586 26.9.2009, 13:53 |
Удали Edit2 и выводи результат в Edit1. |
Автор: Syltan 26.9.2009, 14:10 |
Мне нужно,чтоб именно в Эдит2 выводился,что делать? |
Автор: 586 26.9.2009, 14:15 | ||
|
Автор: YanTsys 26.9.2009, 14:17 |
Добавь проверку условия, если Edit2 пустой брать текст для преобразования из Edit1 иначе из Edit2 Добавлено через 1 минуту и 2 секунды Опссс... влез не вовремя |
Автор: Syltan 26.9.2009, 14:25 | ||||
Спасибо 586,самое странное,это то,что если не поставить вот эту строку:
Ваш код не будет работать. Спасибо. Вы можете подсказать, что означает:
|
Автор: 586 26.9.2009, 14:45 | ||||
Не только мой код, но и ваш консольный вариант. При изменении Эдит'а, свойство Modified становится true. Чтобы код работал правильно, свойство Modified сбрасывается. |
Автор: Syltan 26.9.2009, 14:56 | ||
Прошу прощения,как понимать это условие,очень нужно понять.
|
Автор: 586 26.9.2009, 15:26 |
Если Edit1 изменён, то в переменную s заносится значение из Edit1 и Edit1 помечается как неизменённый. |