Форум: "Прочее";
Текущий архив: 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