Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.04.15;
Скачать: CL | DM;

Вниз

помогите разобраться с StringList и memo   Найти похожие ветки 

 
tj.nelson   (2011-12-11 16:49) [0]

Ребят, помогите разобраться. Пишу функцию шифрации по ключевому слову. Шифрует норм, но постоянно после каждого символа идет переход на новую строку. И в Memo каждый символ идет с новой строки...

Помогите пожалуйста, а то у меня уже мозги закипают....
Вот код функции:
function Shifrator(slovo, file1: string): string;
var  otv,ras:TStrings;
   a,b,c,h:integer;
   slovo2, txt:string;

begin
ras:= TStringList.Create();
otv:= TStringList.Create();
otv.Text:="";
if FileExists(file1) then
 ras.LoadFromFile(file1)
else
 Result:="No File";
txt:= ras.Text;
a:= Length(txt);
b:= Length(slovo);
h:= round(a/b);
slovo2:= "";
 for c:=1 to h do
  slovo2:= slovo2 + slovo;
  slovo2:= copy(slovo2, 1, a);
  slovo:= slovo2;
    for c:= 1 to a do
     begin
      if (ord(txt[c])+ ord(slovo[c]))> 255 then
        otv.Text:= otv.text+ chr(ord(txt[c]) + ord(slovo[c])-255)
      else
        otv.Text:= otv.text+ chr(ord(txt[c]) + ord(slovo[c])) ;
     end;
Result:= otv.Text;
end;

Вот ее вызов:
memo1.Text:=Shifrator("P", edit1.Text);


 
Anatoly Podgoretsky ©   (2011-12-11 17:11) [1]

> tj.nelson  (11.12.2011 16:49:00)  [0]

Почему ты думаешь, что после шифровации строка останется строкой. Конечно
если это не код Цезаря или подобный.


 
tj.nelson   (2011-12-11 17:17) [2]


> Почему ты думаешь, что после шифровации строка останется
> строкой. Конечно
> если это не код Цезаря или подобный.

Извиняюсь, но почему-то после КАЖДОГО символа идет переход на следующую строку. Если я использую вместо StringList"а Memo1 и Memo2(в процедуре, а не в функции) то таких проблем нет. Но меня не устраивает постоянное использование одного и того же кода, по 10 раз в программе.....
Надо именно функцию, а следовательно StringList...


 
tj.nelson   (2011-12-11 17:25) [3]

При дешифрации, после каждого нужного(правильного) символа, идут 2 символа(конец строки и перевод каретки)....помогите определить ошибку в написанной выше функции.....


 
Dennis I. Komarov ©   (2011-12-11 17:28) [4]

Где такой чудо алгоритм выискал? И зачем?
По-XOR-ь байты и хорош...


 
Anatoly Podgoretsky ©   (2011-12-11 18:10) [5]

> tj.nelson  (11.12.2011 17:25:03)  [3]

Пока это твои фантазии ничем не подкрепленые.


 
tj.nelson   (2011-12-11 18:24) [6]


> Пока это твои фантазии ничем не подкрепленые.

а что тебе мешает проверить эту функцию у себя? Правильно, ничего...

А оказалось все дело в otv.Text.
Попробовал вместо  otv.Text поставить result функции, все нормально работает...


 
Anatoly Podgoretsky ©   (2011-12-11 18:26) [7]

> tj.nelson  (11.12.2011 18:24:06)  [6]

Зачем мне это делать?


 
tj.nelson   (2011-12-11 18:48) [8]


> Зачем мне это делать?

Чтобы убедится.... Я предоставил саму функцию и вызов ее, а также описал ее неправильные выводы...
И вместо помощи, мне говорят, что это мои фантазии, и функция работает нормально...интересно..

Вот поэтому, если тебе не достаточно того что я здесь написал, или не веришь мне то попробуй ее сам испробовать....


 
Inovet ©   (2011-12-11 19:17) [9]

> [6] tj.nelson   (11.12.11 18:24)
> А оказалось все дело в otv.Text.
> Попробовал вместо  otv.Text поставить result функции, все
> нормально работает...

> [0] tj.nelson   (11.12.11 16:49)
> otv.Text:= otv.text+

TStrings.Text
Lists the strings in the TStrings object as a single string with the individual strings delimited by carriage returns and line feeds.



Страницы: 1 вся ветка

Текущий архив: 2012.04.15;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
2-1324499887
Антоха_М
2011-12-22 00:38
2012.04.15
Как видоизменить StringGrid?


15-1323919290
Я
2011-12-15 07:21
2012.04.15
на чем делать гуи


15-1323808202
Юрий
2011-12-14 00:30
2012.04.15
С днем рождения ! 14 декабря 2011 среда


2-1324469524
Шел мимо решил зайти
2011-12-21 16:12
2012.04.15
Button.Caption и цикл


15-1322937752
Андрей Билан
2011-12-03 22:42
2012.04.15
Перевод проекта с Delphi 5 на Delphi XE