Форум: "Потрепаться";
Текущий архив: 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)
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c