Авторизация



Счетчики

Обмен ссылками

Блог программиста
 Форум
Добро пожаловать Гость   [Зарегистрироваться]  Войти
Ответить
 Тема :Код Цезаря.. 06-12-2009 16:06:32 
AieR
Hello, world!
Онлайн с: 06-12-2009 12:43:41
Сообщения: 2
Среда обитания
Здравствуйте. У меня появилась проблема. Учили программировать на С++ Builder 6.0, но только в концольке. В этом году нам с 5 курса спустили предмет на 3 курс, но там уже надо делать на формах, но при этом никто не знает как, а на все вопросы говорят, что это наши проблемы, а задали одноалфавитный и многоалфавитный код цезаря. Я нашла пример кода здесь, но он только на стандартном с++ (ведь это консолька там?). Ммм.. не могли бы вы рассказать, как это делается на формах?
Я просто в тупике...( :blue:
IP сохранен
Цитировать
 Тема :Re:Код Цезаря.. 07-12-2009 23:18:42 
Captain
int main()
Онлайн с: 28-03-2009 11:37:34
Сообщения: 39
Среда обитания
AieR, на самом деле изменения в программе Кода Цезаря будут не очень значительными. Функция шифрования не претерпит практически никаких изменений, за исключением того, что вместо строки стандартной библиотеки std::string будут использоваться строки String или AnsiString (в ANSI-версии программы они являются синонимами). Эти строки предоставляют во многом схожий набор функций, поэтому существенных различий между их использованием не будет (подробнее по этим строкам вы можете посмотреть в справке C++ Builder'а).
Главные изменения будут касаться способа ввода и вывода информации. Для данной программы вам понадобятся компоненты Edit и Button из палитры компонентов (она расположена прямо над формой приложения и текстовым редактором), вкладка Standart, открытая по умолчанию. Выбираете нужный компонент, затем щелкаете на форме, он появляется в нужном месте. Таким образом помещаете три компонента Edit и один Button. Выбираете Button1 в окне Object TreeView (слева), в находящемся под ним окне Object Inspector меняете значение поля Caption (надпись на кнопке) на "Шифровать". Затем в том же окне Object Inspector переключаетесь со вкладки Properties на вкладку Events. В пустом поле OnClick дважды щелкаете мышью. Теперь при событии OnClick компонента Button1 (т.е. когда пользователь нажмет эту кнопку) будет вызываться функция Button1Click, код которой вы можете изменять. В данном случае код будет очень прост - мы вызываем функцию cipher с аргументами: строка, введенная в компоненте Edit1 (свойство Text) и строка, введенная в компоненте Edit2, интерпретированная как число (свойство Text имеет тип String, которое имеет метод ToInt(), преобразующее строку в число типа int). При этом результат функции присваивается свойству Text компонента Edit3
Code:
Edit3 -> Text = cipher(Edit1 -> Text, Edit2 -> Text.ToInt());

Дешифрация в общем-то будет происходить тем же способом, только надо будет вручную перебрать несколько вариантов сдвига. Впрочем, можно и ввести глобальную переменную i типа int и создать еще одну кнопку (изменив надпись на ней на "Дешифровать") и при нажатии на нее выполнять функцию с таким кодом:
Code:
Edit3 -> Text = cipher(Edit1 -> Text, i++);

Вот как будто бы и все, что надо сделать для модификации кода при использовании форм. Если я что-то еще забыл рассказать - спрашивайте!
IP сохранен
Цитировать
 Тема :Re:Код Цезаря.. 10-12-2009 21:06:37 
AieR
Hello, world!
Онлайн с: 06-12-2009 12:43:41
Сообщения: 2
Среда обитания
8) Спасибо большое. Вроди даже понятно стало. Буду реализовывать ^_^
IP сохранен
Цитировать
 Тема :Re:Код Цезаря.. 10-12-2009 23:45:33 
Captain
int main()
Онлайн с: 28-03-2009 11:37:34
Сообщения: 39
Среда обитания
Не за что!:-D Если еще какие-то проблемы возникнут - пишите, постараюсь помочь!;)
IP сохранен
Цитировать
Ответить
Страница # 


Powered by ccBoard