Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 1
Регистрация: 06.10.2009
Сообщений: 18

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

03.12.2009, 23:37. Показов 1018. Ответов 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-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru