1 / 1 / 1
Регистрация: 06.10.2009
Сообщений: 18

StringGrid и шифрование...

03.12.2009, 23:37. Показов 1025. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер. Нужно зашифровать сетку. Ниже приведён код. Есть кнопка. По нажатии данные стригнггрида записываются в файл. Используется разделитель запятой. Всё работает. Как осущесвить шифрование... Из мемо, ричь едита ит.д. шифрование у меня замечательно получается, а вот из стрингрида некак... Как поймать этот поток перед записью в тестовик??? Как осуществить шифрование?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Баттнклиск:
{
   sdialogexe = 3 ;
 
  for(int i = 0 ; i<StringGrid1->RowCount ; i++)
   {
    Table1->Strings[i] = StringGrid1->Rows[i]->DelimitedText  ;
   }
    Table1->Strings = Memo1->Lines ->DelimitedText  ;
 
 if(SaveDialog1->Execute())
  {
   SAVE = SaveDialog1->FileName ;
   Table1->SaveToFile(SAVE + ".txt") ;
  }
 
 
}
выше код кнопки.

Решил пользоваться самым простым методом шифра:

C++
1
2
3
4
5
6
7
8
9
AnsiString XOR_Crypt(AnsiString in, AnsiString pass)
{
AnsiString out;
for (int x=1;x<in.Length()+1;x++)
        {
        out += (char)(in[x] ^ pass[x%pass.Length()+1]);
        }
return out;
}

С мемо всё просто например: Memo1->Text = XOR_Crypt("VVV\x0FRNTSBDR\x0FST","!"); - всё работает.

Или другой вариант:
{
AnsiString e=Memo1->Text, t="",m;
int d=e.Length();
char s;
int i=1, ascii, diff;
while (i<=d)
{
s=e[i];
ascii = s;
diff=Edit1->Text.ToInt()-ascii; // В эдите цифрвы в качестве пароля.
m = (char)diff;
t+=m;
i++;
}
Тут тоже всё работает безупречно...
А со стринггридом некак неразберуся...

Думал создать на форме мемо невидимую и в неё из стрингрида перепесывать данные а потом это мемо шифровать. Тоже не получилось. Поможете? (В стрингриде колитчесво строк неизвестно каждый раз новое.. столбцов 10 всегда....) Был ещё также вариант уже сохранённый файл открывать и шифровать но неудобно получается..

Приму любые коды, советы, выходы из ситуации...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.12.2009, 23:37
Ответы с готовыми решениями:

stringgrid & шифрование
Вопрос в следующем, как сделать присваевание ячейки к другой, с вводом и выводом в мемо полученного результата. Например, как на...

Delphi 7 Stringgrid Нужно сделать цикл для заполнения Stringgrid данными из другого Stringgrid
Нужно чтобы из Stringgrid1 данные переносились в Stringgrid2 Но ТОЛЬКО ПО УСЛОВИЮ Таблицы Stringgrid2 На рис всё показано. За работающий...

Шифрование с помощью матрицы и вектора (шифрование методом аналитических преобразований)
Программисты Здравствуйте! Не могу сделать этот метод,не понимаю и все тут), хорошо бы если объясняли еще....(сам сайт готов, надо только...

3
 Аватар для radiohobbyt
192 / 190 / 15
Регистрация: 27.01.2009
Сообщений: 548
05.12.2009, 09:44
так...AnsiString XOR_Crypt(...) можешь наткнуться на то, что (char)(in[x] ^ pass[x%pass.Length()+1]); окажется нулем и тогда потеряешь один символ. в общем не используй AnsiString. используй массив char и передавай функции размер массива и пароля.
а про стринггрид.
C
1
2
3
for(unsigned int i=0; i<StringGrid->ColCount; i++)
for(unsigned int j=0; j<StringGrid->RowCount; j++)
StringGrid->Cells[i][j]=XOR_Crypt(StringGrid->Cells[i][j], "йа_паролько");
чтонибудь в таком районе?
1
1 / 1 / 1
Регистрация: 06.10.2009
Сообщений: 18
05.12.2009, 14:18  [ТС]
Цитата Сообщение от radiohobbyt Посмотреть сообщение
так...AnsiString XOR_Crypt(...) можешь наткнуться на то, что (char)(in[x] ^ pass[x%pass.Length()+1]); окажется нулем и тогда потеряешь один символ. в общем не используй AnsiString. используй массив char и передавай функции размер массива и пароля.
а про стринггрид.
C
1
2
3
for(unsigned int i=0; i<StringGrid->ColCount; i++)
for(unsigned int j=0; j<StringGrid->RowCount; j++)
StringGrid->Cells[i][j]=XOR_Crypt(StringGrid->Cells[i][j], "йа_паролько");
чтонибудь в таком районе?
Пишет, что i j неизвестны...
0
 Аватар для radiohobbyt
192 / 190 / 15
Регистрация: 27.01.2009
Сообщений: 548
05.12.2009, 15:22
ну.... что сказать?
в цикле ж i и j объявлены. так что ошибка где-то в другом месте.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.12.2009, 15:22
Помогаю со студенческими работами здесь

Как поменять результат шифрование \ Метод шифрование RSA
Здравствуйте! Прошу помощи! В просторах интернета нашла одну статью в которой реализован метод шифрования RSA. Решила его опробовать, но...

StringGrid: проверить, имеется ли строка с ключевым полем во втором StringGrid-е
Имеются два StringGrid'a, у каждого есть ключевое поле. В первом sg значения ключевого поля могут повторятся, во втором нет. Нужно...

Содержимое выделенной строки из первого StringGrid-а перенести во второй StringGrid
Нужно написать программу которая выполняет следующие действия. Есть два StringGrid. По нажатия на кнопку, Содержимое выделенной строки из...

Необходимо сложить ячейки в столбце Stringgrid и вывести в другой Stringgrid
Необходимо сложить ячейки в столбце Stringgrid и вывести в другой Stringgrid Количество столбцов и строк задается пользователем

Вывести данные из StringGrid-ов на двух формах в StringGrid на третьей форме
Помогите,не разбираюсь,только учусь:(:wall:...Вообщем,имеется программа с 3 формами. На первой из них находится вводный StringGrid с...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru