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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2009, 22:50   #11
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Цитата:
Сообщение от kykysya Посмотреть сообщение
Посмотрите код но думаю, хорошего мало я только недавно стал изучать Delphi.
var s:string;
K:STRING;
i:integer;
begin
s:=edit1.Text;
for i:=1 to length(s) do
if s[i]='А' then s[i]:='02';
for i:=1 to length(s) do
if s[i]='Б' then s[i]:='03';
for i:=1 to length(s) do
if s[i]='В' then s[i]:='04';
for i:=1 to length(s) do
if s[i]='Г' then s[i]:='05';
form1.Label1.Caption:=s;
Как по мне то всё то можна одним циклом фор забахать и потом смотреть чё получиться но поидеи должно работать?!
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 06.05.2009, 22:52   #12
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

kykysya, естественно, у вас будет возникать ошибка.
Вот вместо этого:
Код:
for i:=1 to length(s) do
if s[i]='А' then s[i]:='02';
Напишите:
Код:
while pos('А',s)<>0 do
 begin 
 i := pos('А',s);
 delete(s,i,1);
 insert('02',s,i);
 end;
С остальными по аналогии.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 06.05.2009, 22:55   #13
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Цитата:
Сообщение от kykysya Посмотреть сообщение
Посмотрите код но думаю, хорошего мало я только недавно стал изучать Delphi.
var s:string;
K:STRING;
i:integer;
begin
s:=edit1.Text;
for i:=1 to length(s) do
if s[i]='À' then s[i]:='02';
for i:=1 to length(s) do
if s[i]='Á' then s[i]:='03';
for i:=1 to length(s) do
if s[i]='Â' then s[i]:='04';
for i:=1 to length(s) do
if s[i]='Ã' then s[i]:='05';
form1.Label1.Caption:=s;
Как по мне то всё то можна одним циклом фор забахать и потом смотреть чё получиться но поидеи должно работать?!
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 06.05.2009, 23:05   #14
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию

Наверное автор, имеет ввиду примерно следующий "алфавит":
Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства.

Код:
сonst
alfavit:='АБВГ'
...
var
temp:string;str:string; code:integer;
...
begin
   temp:='';
   for i:=1 to length(edit1.text) do 
      begin 
        if pos(edit1.text[i],alfavit)<>0 then  begin
        //узнаем собственно код соот-щий букве 
        code:=pos(edit1.text[i],alfavit);
        str:=inttostr(code);
        //Добавляем "лидирующие" нули, если '7' то '07'
        for j:=1 to 2-length(code) do 
        str:='0'+str;
        //Добавляем тек символ в общую строку
        temp:=temp+str;
        end;
      end;
Edit1.Text:=temp;
end;

Последний раз редактировалось nusik; 06.05.2009 в 23:10.
nusik вне форума Ответить с цитированием
Старый 06.05.2009, 23:25   #15
Ky3Heu,
Пользователь
 
Регистрация: 01.04.2009
Сообщений: 94
По умолчанию

Все правильно пишешь. Тока числа тут должны быть от 0 до 9 иначе срабатывает переопределение кода клавиш, отсуда и несоответствие типов. Поищи в нете алгоритмы перевода систем исчисления....
По ракетам и хоккею - Россияне всех сильней!
Ky3Heu, вне форума Ответить с цитированием
Старый 07.05.2009, 00:30   #16
ArtInt
Форумчанин
 
Аватар для ArtInt
 
Регистрация: 06.03.2009
Сообщений: 583
По умолчанию

Если это коды клавиш, то используются функции ord и chr
Противоположные друг другу.
Может пересмотреть алгоритм и загонять в один файл (или Memo) символы через запятую, а другой файл (или Memo) коды этих символов.
А потом создать две переменные TStringList и загрузить в них.
При этом указав StringList.Delimiter:=','; (разделитель запятая),
потом StringList.DelimitedText:=Memo1.Tex t;
И потом уже будет понятно что совподает строчка(индекс) и легче будет искать.
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
ArtInt вне форума Ответить с цитированием
Старый 07.05.2009, 17:06   #17
kykysya
Пользователь
 
Регистрация: 16.11.2008
Сообщений: 32
По умолчанию

Cпасибо за помощь, буду пробовать!
kykysya вне форума Ответить с цитированием
Старый 18.10.2010, 21:17   #18
Msn.Arm
Новичок
Джуниор
 
Регистрация: 18.10.2010
Сообщений: 1
По умолчанию

вообще то есть оператор ord который возвращает код символа из таблицы .
Msn.Arm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
замена знаков и букв memka PHP 8 19.04.2009 18:51
Замена кода программы с Delhi5 на Delhi7 либо замена базы данных с Acessa на MySQL DorianLeroy Фриланс 8 18.02.2009 18:52
Количество букв! Marsik Помощь студентам 2 27.03.2008 19:18
Замена маленьких букв на большие. DELPHI Absent Помощь студентам 2 23.03.2008 17:19