Форум: "Основная";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];
ВнизКак текст из Edit перевести в цифры? Найти похожие ветки
← →
Intell (2003-05-26 17:43) [0]Как текст из Edit перевести в цифры? Т.е. вместо букв будут цифры.
← →
Skier (2003-05-26 17:44) [1]>Intell © (26.05.03 17:43)
Ну и зачем сие ?
← →
Intell (2003-05-26 17:46) [2]А вот тебе ... я ... не скажу. Шутка. Надо осуществить кодирование информации и декодирование обратно. Слова>цифры, цифры>слова.
← →
Skier (2003-05-26 17:49) [3]>Intell © (26.05.03 17:46)
Ord(...) & Chr(...) ?
← →
Intell (2003-05-26 17:50) [4]Skier, попробую. Если чё, то скажу.
← →
Palladin (2003-05-26 17:53) [5]
> Skier © (26.05.03 17:49)
ентож не та схема :)
← →
Intell (2003-05-26 18:05) [6]Skier, не получается, либо я глючу, либо пример не подходит. Мне надо из Edit1 текст перекодировать в цифры (символы) и занести их в Edit2.text. Получаетя: Edit1.text="Ля-ля-ля", Edit2.text="Какие-то символы или цифры"
← →
Skier (2003-05-26 18:12) [7]>Intell © (26.05.03 18:05)
Это нужно для ввода пароля ? Или какая-то другая цель ?
← →
pasha676 (2003-05-26 18:25) [8]Кодирование и декодирование может осуществяться мульоном количество разных вариантов. Skier абсолютно прав. Совершенно не понятно что тебе надо.
Надо делать посимвольно (это простой случай). Берешь первую букву строки, преобразовываешь в число, кодируешь, ложишь на первое место в нужной строке. Какие проблеммы?
← →
NickBat (2003-05-26 18:33) [9]Попробуй так:
if Edit1.text="Ля-ля-ля"
then Edit2.text:="Какие-то символы или цифры";
:))
← →
Palladin (2003-05-26 18:44) [10]
var
s:string;
begin
s:="";
for i:=1 to Length(Edit1.Text) do s:=s+Char(65+(Random(Byte(Edit1.Text[i]))+Random(Byte(Edit1.Text[i])))/2);
Edit1.text:=s;
end;
← →
Intell (2003-05-26 20:47) [11]Как тут меня критикуют... Зачем вам надо знать, что я собираюсь делать? И так я сно - просто перевести в цифры и всё. Зачем делать из мухи слона.
← →
old_monkey (2003-05-26 21:00) [12]Так от этого все и зависит.
В простейшем случае каждой букве присваиваешь соответствие из 1-2 цифры. Проще, если всегда 2. Если длина зависит от частоты, то получится компактнее и непонятнее.
Читай К.Шеннона "Энтропия английского текста" - лекция, прочитанная в 1944 году дешифровальщикам американского генштаба. У нас издавалась примерно в 1965 в толстом сборнике К.Шеннон "Теория информации". В русском переводе приведены частоты употребления символов и для русского текста тоже (правда художественного :)).
Вообще-то, это в институте 3 или 4 курс.
← →
Intell (2003-05-26 21:09) [13]old_monkey, мне можно и в двоичной системе счисления. Без разницы. Нужен любой рабочий пример кодировки текста в шифр (цифры) и обратно.
Palladin, что-то не пошло, по какой-то причине не хочет воспринимать i:=1.
← →
Palladin (2003-05-26 22:15) [14]да действительно,
исправь
var
s:string;
на
var
i:integer;
s:string;
← →
Intell (2003-05-27 09:11) [15]Palladin, слышь, до того как я писал сообщение о ошибке я исправлял на I:integer, почему-то не хочет работать. Может я чего-то лишнего где-то прописал в программе?
← →
Palladin (2003-05-27 09:46) [16]а вот так?
var
s:string;
i:integer;
begin
s:="";
for i:=1 to Length(Edit1.Text) do s:=s+inttostr(byte(Edit1.Text[i]));
Edit1.text:=s;
end;
← →
Intell (2003-05-27 09:56) [17]Попробую.
← →
Intell (2003-05-27 14:33) [18]Palladin, работает. А как теперь сделать обратный процесс - из цифр в буквы, или в данном примере это не возможно?
← →
Skier (2003-05-27 14:38) [19]const
YOUR_KEY = "A";
туда : (Ord(Src[Index]) + Ord(YOUR_KEY)) mod 256
обратно : (Ord(Src[Index]) - Ord(YOUR_KEY)) mod 256
← →
Intell (2003-05-27 14:41) [20]Skier, попробую.
← →
Palladin (2003-05-27 14:57) [21]:)а обратно никак, надо выравнивать каждый переделаный символ до 3 символов слева нулями, тогда можно будет вернуть обратно
← →
Intell (2003-05-27 15:04) [22]Skier, либо ты многого не дописал, либо пример совершенно не рабочий.
Palladin, спасибо. Буду всё же пытаться.
← →
Skier (2003-05-27 15:07) [23]>Intell © (27.05.03 15:04)
Ну, знаешь ли, писать за тебя я не буду...Palladin напишет, если
ты ему ещё не надоел...
← →
MBo (2003-05-27 15:10) [24];)
Прошли приступы немотивированного альтруизма?
← →
Intell (2003-05-27 15:13) [25]Skier, коли дело так обстоит, тогда зачем отвечал - мог бы сразу сказать "писать за тебя я не буду..." и всё.
← →
Skier (2003-05-27 15:13) [26]>MBo © (27.05.03 15:10)
Касаемого этого случая - да. :) Уж очень всё это похоже на блуждание в 3-х соснах. :)
← →
Intell (2003-05-27 15:19) [27]Зря... Очень, на мой взгляд, интересный вопрос.
← →
Palladin (2003-05-27 15:21) [28]:)
да вы не понимаете человеку надо буквы в цифры...
обратно ему не надо было...
сначала...
это туда
function CharsToNums(s:string):string;
function _CharToNum(c:char):string;
var
i:integer;
begin
result:=inttostr(byte(c));
for i:=2 downto length(result) do result:="0"+result;
end;
var
i:integer;
begin
result:="";
for i:=1 to length(s) do result:=_CharToNum(s[i]);
end;
это обратно
function NumsToChars(s:string):string;
var
i:integer;
begin
result:="";
for i:=1 to length(s) div 3 do result:=strtoint(copy(s,(i-1)*3,3));
end;
а вообще это прикольно... :)
← →
Palladin (2003-05-27 15:22) [29]ой, ошибки, две :)
найди с третьего раза называется...
это уж тебе предоставлю
← →
borg (2003-05-27 15:22) [30]var i,a,s,uncode:integer;
z,x,c,glob,itog:string;
st:=edit1.Text;
for i:=length(st) downto 1 do
begin
a:=inttostr(ord(st[i]));
if length(a)=2 then a[3]:="%";
glob:=glob+a[3]+a[2]+a[1];
end;//зашифровать
a:=length(glob) div 3;
for i:=a downto 1 do
begin
s:=strtoint(glob[i*3]+glob[i*3-1]+glob[i*3-2]);
c:=c+chr(s);
end;
edit1.Text:=c; //расшифровать
попробуй всё работает фишрует туда и обратно
← →
Intell (2003-05-27 15:23) [31]Сначала было не надо... Но резко ..., короче опомнился.
← →
Skier (2003-05-27 15:23) [32]>Intell © (27.05.03 15:19)
Не интересный...
Всё это "кодирование" было разобрано Марко Кэнту, ещё
во времена D3. Кроме того ты так и не сказал (внятно) зачем
всё это тебе нужно...
← →
Intell (2003-05-27 15:25) [33]Skier, а зачем тебе всё это нужно? Может тебе ещё исходный текст моей программы предоставиь? Енто ведь секр...
← →
Intell (2003-05-27 15:27) [34]Попёрло... То затишье, то куча помощников. Спасибо, посмотрим.
← →
Skier (2003-05-27 15:27) [35]just another flame...
← →
Intell (2003-05-27 16:08) [36]borg, твой пример был немого с ошибками, но я их исправил. НО... Дело в том, что не всегда удаётся расшифровать код. Дело в том, что твой код не читает "%", а часто шифрует буквы в него.
Palladin, пока в твоём последнем примере не разобрался, но буду продолжать.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.114 c