Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Вниз

никто не делал лабу 


Nest   (2002-02-08 11:27) [0]

Всё нетак сложно, даже просто, но времени совсем нет - на работе сижу, надо отчёт сёдня сдавать , а в обед оттащить лабу на учёбу.
Готовое решение стрёмно просить, но может кто поделится опытом?



anod   (2002-02-08 11:34) [1]

В смысле со сдвигом по ASCII на 1 символ?



wicked   (2002-02-08 11:37) [2]

2 Nest ©
имеются модуля шифрования по гост"у delphi+assembler собсного приготовления.... закинуть?...



gek   (2002-02-08 11:39) [3]

Ну наверное так примерно
var
ch:char;
str_in,str_out:string;
begin
str_out:="";
for i:=1 to length(str_in) do
begin
ch:=str_in[i];
if ord(ch) = 256 then
ch:=char(ord(1))
else
ch:=char(ord(ch)+1);
str_out:=str_out + ch;
end;
end;



Nest   (2002-02-08 11:43) [4]

wicked ©
anod ©
Кароче надо:
1)загружаешь в мемо1 файл c текстом "abc"
2)Жмём "кодировать" получаешь в мемо2 текст "bcd"
3)Жмём "раскодировать" получаем в мемо3 "abc"

Пытался так:
procedure TForm1.Button1Click(Sender: TObject);
begin
src:=memo1.text;
coded:="";
for i:=0 to length(src) do
coded:=coded+chr(ord(src[i])+1);
memo2.text:=coded;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
encoded:="";
for i:=0 to length(coded) do
encoded:=encoded+chr(ord(coded[i])-1);
memo3.text:=encoded;
end;

Но получается такая бодяга:
Исходный текст: abc
Закодированный текст: bcd
Разкодированный: я


Как сделать?
(С одним символом получается вроде)



gek   (2002-02-08 11:52) [5]

for i:=1 to length(src) do



Nest   (2002-02-08 12:07) [6]

2gek
Да эту бугу поправил, но всёравно не катит - даже явно пытался указать -
for i:=1 to 5 do

ГоРЮ !...



wicked   (2002-02-08 12:08) [7]

2 Nest ©
навскидку первый баг - строки индексируются с 1.... только что проверил....



wicked   (2002-02-08 12:11) [8]

2 Nest ©
странно.... у меня работает....
procedure TForm1.Button1Click(Sender: TObject);
var s, d: string;
i, n: integer;
begin
s := edit1.Text;
d := "";
n := length(s);
for i := 1 to n do
d := d + chr(ord(s[i]) + 1);
Edit2.Text := d;
end;

procedure TForm1.Button2Click(Sender: TObject);
var s, d: string;
i, n: integer;
begin
s := edit2.Text;
d := "";
n := length(s);
for i := 1 to n do
d := d + chr(ord(s[i]) - 1);
Edit1.Text := d;
end;



Nest   (2002-02-08 12:12) [9]

2wicked ©
ВСЁ!
В этом и было дело!!!!
Теперь работает!
Царапал на скорую руку... Кучу мелких ерроров наделал!
Спасибо!



Anatoly Podgoretsky   (2002-02-09 00:47) [10]

wicked © (08.02.02 12:11)

а ты попробуй для "эюя"



wicked   (2002-02-09 13:45) [11]

2 Anatoly Podgoretsky ©
ну не работает.... :) а так как не работает из-за "я" -> #0, то алгоритм имеет только педагогическую ценность... а для того, чтобы реально что-то шифровать - надо хотя бы использовать массив, а не строки....



Anatoly Podgoretsky   (2002-02-09 18:17) [12]

так я надо превращать в пробел и обратно, идея продемонстрирована в сообщение gek (08.02.02 11:39)




Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.016 c
3-66751           Igor_                 2002-02-21 09:54  2002.03.21  
Композитнычй отчет


1-66909           DPro                  2002-03-06 13:40  2002.03.21  
День добрый колеги!


1-66892           Oak                   2002-03-05 20:31  2002.03.21  
Проблема с JPEG


3-66730           alexts                2002-02-20 16:37  2002.03.21  
Как отчеты QReporta нарисованных в Builder C++ подключить к Делфям


6-66948           Snake                 2002-01-05 13:23  2002.03.21  
Имена пользователей в локалке?