Усі ми стикаємось з різними повідомленнями. Деякі з них важливі, а деякі можна хоч на цілий світ показати. Наша мета полягає у тому, щоб розробити програму, яка буде зашифровувати повідомлення і відображати їх в текстовий документ...
Ця програма матиме ось такий вигляд:
Почнемо!!!
Запускаємо Visual Studio, налаштовуємо. Після чого заходимо через Solution Explorer у ProgramDlg.h. В кінці коду пишемо:
Додаємо в Static Text (control) "Е".
Додаємо в Edit Control (value) "Z".
Вписуємо в блок DoDataExchange
E.SetWindowTextW(L"Введите фразу и нажмите <Зашифровать>:");
SetWindowTextW(L"Программа шифрования"); в блок DoDataExchange.
Через налаштування клавіш (Button) натискаємо Add Event Handler
В коді для клавіші "Зашифровать" вписуємо:
В коді для клавіші "Выход" вписуємо:
OnOK();
Запустивши програму ми зможемо писати будь - які зашифровані повідомлення.
Дякую за увагу!!!
Ця програма матиме ось такий вигляд:
Почнемо!!!
Запускаємо Visual Studio, налаштовуємо. Після чого заходимо через Solution Explorer у ProgramDlg.h. В кінці коду пишемо:
private:
HPEN hPenOxy, hOldPen; HFONT hold, hNew, hbk; HBRUSH m, oldm; COLORREF cf, ck, c[25];
CPen d, oldd; CBitmap pic; CRect rc, w, kw[12];
CString ms, t, z;
int x1, y1, x2, y2, x3, y3, x4, y4;
int Matrix[50][50];
int RH, RW, k, i, j, cx, cy, dx, dy;
bool fg;
HPEN hPenOxy, hOldPen; HFONT hold, hNew, hbk; HBRUSH m, oldm; COLORREF cf, ck, c[25];
CPen d, oldd; CBitmap pic; CRect rc, w, kw[12];
CString ms, t, z;
int x1, y1, x2, y2, x3, y3, x4, y4;
int Matrix[50][50];
int RH, RW, k, i, j, cx, cy, dx, dy;
bool fg;
Потім через ResoursView відкриваємо діалогову планшетку натискаємо на Toggle Grid і вставляємо на ній Toolbox, Static Text, Edit Control, Button (пишемо на ньому "Зашифровать"), Button(пишемо на ньому "Выход")
Додаємо в Static Text (control) "Е".
E.SetWindowTextW(L"Введите фразу и нажмите <Зашифровать>:");
SetWindowTextW(L"Программа шифрования"); в блок DoDataExchange.
Через налаштування клавіш (Button) натискаємо Add Event Handler
В коді для клавіші "Зашифровать" вписуємо:
UpdateData(true); ms = Z; UpdateData(false); //переносим данные из планшетки в переменую shf = "\tТаблица кодирования:\n\n\t"; //записываем в переменную слова n = ms.GetLength(); //считаем количество символов в переменной ms t.Empty(); //опусташаем переменную "т" A[0] = ' '; B[0] = 0; A[65] = '.'; B[65] = 65; //запысываем в переменные числа и знаки for (k = 1; k < 65; k++) { A[k] = wchar_t(k + 1039); B[k] = k; } //создаём счетчик и записываем для каждой переменной букву j = 0; for (k = 0; k < 8; k++) { for (i = 0; i < 8; i++) { shf += "\""; shf += A[j]; shf += "\"="; t.Format(L"%i\t", B[j]); if ((B[j] >= 0) && (B[j] < 10)) { t.Format(L"0%i\t", B[j]); } shf += t; j++; } shf += "\n\t"; } //блок по написанию нуля перед х; 0<=x<10 shf += "\""; shf += A[64]; shf += "\"="; t.Format(L"%i\t", B[j]); shf += t; j++; shf += "\""; shf += A[65]; shf += "\"="; t.Format(L"%i\n\n\t", B[j]); shf += t;
shf += "Результат шифрования: \n\t";
CString shf1; shf1.Empty();
for (k = 0; k <n; k++) { for (i = 0; i < 66; i++) { if (ms[k] == A[i]) { t.Format(L"%i", B[i]); if ((B[i] >= 0)&&(B[i]<10)) { t.Format(L"0%i", B[i]); } shf += t; shf1 += t;
} } }
E.SetWindowTextW(shf); //выводит на экран шифр setlocale(LC_ALL, "Russian"); CStdioFile inf(L"D:\\TEMP\\data.txt", CFile::modeCreate | CFile::modeWrite); inf.WriteString(shf1); // записать в файл inf.Flush(); inf.Close(); //процедура, записывающая результат в data.txt
shf += "Результат шифрования: \n\t";
CString shf1; shf1.Empty();
for (k = 0; k <n; k++) { for (i = 0; i < 66; i++) { if (ms[k] == A[i]) { t.Format(L"%i", B[i]); if ((B[i] >= 0)&&(B[i]<10)) { t.Format(L"0%i", B[i]); } shf += t; shf1 += t;
} } }
E.SetWindowTextW(shf); //выводит на экран шифр setlocale(LC_ALL, "Russian"); CStdioFile inf(L"D:\\TEMP\\data.txt", CFile::modeCreate | CFile::modeWrite); inf.WriteString(shf1); // записать в файл inf.Flush(); inf.Close(); //процедура, записывающая результат в data.txt
OnOK();
Дякую за увагу!!!
Немає коментарів:
Дописати коментар