Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2012.04.15;
Скачать: [xml.tar.bz2];

Вниз

помогите разобраться с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
2-1324722795
3asys
2011-12-24 14:33
2012.04.15
Получение звука с TSampleGrabber


1-1291776597
TPAW
2010-12-08 05:49
2012.04.15
TEdit с картинкой


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


15-1323686319
alexdn
2011-12-12 14:38
2012.04.15
Настройка Outlook express


15-1323894603
Юрий
2011-12-15 00:30
2012.04.15
С днем рождения ! 15 декабря 2011 четверг





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский