Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2009, 18:15   #1
DefenderDf
 
Регистрация: 14.02.2009
Сообщений: 3
Восклицание Программа для шифрования текста

Ребята наткнулся на такую проблему во время написании программы, при расшифровке объёмного текста(несколько строк) расшифровывается только часть текста. Возможно тип переменной где то не тот указал не пойму. Помогите кто чем может.Да и ещё не поддерживает кириллицу (юникод я думаю), выводит кракозябры при вставке в текстовый редактор. Ну это уже не столь важно
Исходный код:
Код:
unit lab2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus;

type
  TForm2 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Button3: TButton;
    Memo2: TMemo;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
     Form2: TForm2;
     id:    boolean;
    { result:  string;   }

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
 if Memo1.Lines.Count=0 then begin Memo1.Lines.Add('Текст для примера'); end
 else
   begin
    Memo1.Lines.Clear();
    Memo1.Lines.Add('Текст для примера');
   end;
end;

procedure TForm2.Button3Click(Sender: TObject);
begin
  //Memo2.lines.Text:=result;
  Button4.enabled:=True;
  //Button3.enabled:=False;
end;

procedure TForm2.Button4Click(Sender: TObject);
var
  key, longkey : string;
  i : integer;
  toto: char;


begin
  Memo2.Lines.Clear();
{  result:='';  }
  key := 'f sdbhdlvnjzj32h3';
  for i := 0 to (Length(Memo1.Lines.text) div length(key)) do
    longkey := longkey + key;

  for i := 1 to Length(Memo1.Lines.Text) do
  begin
    toto := chr((ord(Memo1.Lines.Text[i]) xor ord(longkey[i])));
    Memo2.Lines.Text := Memo2.Lines.Text + toto;
  end;
  Button3.enabled:=True;
 { Button4.enabled:=False; }
end;

end.
За ранее всем большое спасибо

Последний раз редактировалось DefenderDf; 15.10.2009 в 18:18.
DefenderDf вне форума Ответить с цитированием
Старый 15.10.2009, 18:17   #2
DefenderDf
 
Регистрация: 14.02.2009
Сообщений: 3
По умолчанию

это моя вторая программа на делфи поэтому не судите строго
DefenderDf вне форума Ответить с цитированием
Старый 15.10.2009, 19:57   #3
DefenderDf
 
Регистрация: 14.02.2009
Сообщений: 3
По умолчанию

ну пробел из ключа убрал вроде заработало . Ещё такой вапрос в чём различие между Memo1.text и Memo1.Lines.text?

Последний раз редактировалось DefenderDf; 15.10.2009 в 20:11.
DefenderDf вне форума Ответить с цитированием
Старый 15.10.2009, 20:30   #4
NeshSoft
Максим Николаев
Форумчанин
 
Аватар для NeshSoft
 
Регистрация: 15.02.2009
Сообщений: 170
По умолчанию

когда текст в несколько строк то, строка от строки отделяется служебными символами #10#13, при шифровании скорее всего шифруются и эти символы, а потом, когда они попадают в блокнот - они превращаются в кракозябы... а потом из блокнота они уже не превращаются назад в #10#13...

ps сам сталкивался с такой проблемой, когда писал прогу для шифрования...

Цитата:
Ещё такой вапрос в чём различие между Memo1.text и Memo1.Lines.text?
а ни в чем это ООП, привыкай
NeshSoft. Программирование на заказ для студентов. Delphi/Pascal. Подробнее на сайте neshsoft.narod.ru
NeshSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пожалуйста, помогите доделать программу по C++ kmail Помощь студентам 0 22.08.2009 19:26
Пожалуйста помогите доделать программу Kaddafi Паскаль, Turbo Pascal, PascalABC.NET 2 14.05.2009 21:08
Помогите пожалуйста Написать программу Шифрования по методу гомирования anton_m207 Помощь студентам 1 16.04.2009 10:23
помогите доделать рекурсивную программу ELdarr Общие вопросы C/C++ 0 23.01.2009 23:14