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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2013, 16:03   #1
новеньк
Новичок
Джуниор
 
Регистрация: 06.02.2013
Сообщений: 4
По умолчанию Задать код символам

Помогите новичку. Использую Pascal ABC.
Как сделать так чтобы вместо символов которые я ввожу выдавало их код, только чтобы код символов был задан мной.
Например ввожу: абв
A выводит: 050912
новеньк вне форума Ответить с цитированием
Старый 06.02.2013, 16:13   #2
MisterDie
1100001001
Пользователь
 
Аватар для MisterDie
 
Регистрация: 25.01.2013
Сообщений: 49
По умолчанию

Т.е. для определённой буквы определённая(ые) цифра(ы)? Тогда для каждой буквы придётся задать отдельную переменную (если вы хотите присвоить им каждый раз новое значение).
МаГиЯ
мАгИя
МаГиЯ
MisterDie вне форума Ответить с цитированием
Старый 06.02.2013, 16:29   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,292
По умолчанию

Код:
const
  alp = 'abcd';
  enc = #5#7#8#10;

var
  c: char;
  p: integer;

begin
  repeat
    read(c);
    p := pos(c, alp);
    if p > 0 then
      write(ord(enc[p]), ' ')
    else
      write(c, ' ');
  until c = #13;
  readln;
  readln;
end.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 06.02.2013 в 16:32.
BDA вне форума Ответить с цитированием
Старый 06.02.2013, 17:25   #4
MisterDie
1100001001
Пользователь
 
Аватар для MisterDie
 
Регистрация: 25.01.2013
Сообщений: 49
Хорошо

Цитата:
Сообщение от BDA Посмотреть сообщение
Код:
const
  alp = 'abcd';
  enc = #5#7#8#10;
...
  until c = #13;
  readln;
  readln;
end.
Not Bad.

"Набранное вами сообщение слишком короткое. Увеличьте ваше сообщение до 10 символов." - что за бред?
МаГиЯ
мАгИя
МаГиЯ
MisterDie вне форума Ответить с цитированием
Старый 06.02.2013, 17:35   #5
новеньк
Новичок
Джуниор
 
Регистрация: 06.02.2013
Сообщений: 4
По умолчанию

То что предложил BDA мне подходит. На первый взгляд всё работает.
новеньк вне форума Ответить с цитированием
Старый 06.02.2013, 18:51   #6
новеньк
Новичок
Джуниор
 
Регистрация: 06.02.2013
Сообщений: 4
По умолчанию

Забыл сказать, в некоторых случаях мне нужно буквы заменить не только на цифры но и на буквы с цифрой и на две буквы. По способу BDA так не получается.
Заранее спасибо.
новеньк вне форума Ответить с цитированием
Старый 06.02.2013, 19:02   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,292
По умолчанию

Код:
const
  alp = 'abcd';
  enc: array [1 .. 4] of string[2] = ('05', '07', 'ab', '10');

var
  p, i: integer;
  s: string;

begin
  readln(s);
  for i := 1 to length(s) do
  begin
    p := pos(s[i], alp);
    if p > 0 then
      write(enc[p], ' ')
    else
      write(s[i], ' ');
  end;
  readln;
end.
Если символов всегда два:
Код:
const
  alp = 'abcd';
  enc = '0507ab10';

var
  p, i: integer;
  s: string;

begin
  readln(s);
  for i := 1 to length(s) do
  begin
    p := pos(s[i], alp);
    if p > 0 then
      write(enc[2 * p - 1], enc[2 * p], ' ')
    else
      write(s[i], ' ');
  end;
  readln;
end.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 06.02.2013 в 19:05.
BDA вне форума Ответить с цитированием
Старый 06.02.2013, 22:21   #8
новеньк
Новичок
Джуниор
 
Регистрация: 06.02.2013
Сообщений: 4
По умолчанию

Спасибо, всё работает.
новеньк вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
цикл по символам kta87 Общие вопросы Delphi 5 17.03.2012 13:39
Объденить ячейки по символам Guldana Microsoft Office Excel 4 26.08.2011 10:16
Как задать код чтобы пользователь сам определял ширину линии ЛиКЁР C++ Builder 7 28.06.2011 16:01
VBA удалить столбцы, задать фикс. ширину столбца и задать перенос по словам johny_03 Microsoft Office Excel 1 14.04.2011 20:53
Какой код надо прописать в Delphi (задать таймер на 30 дней (системное время,год,м) программа закрывается mnbvcxz11 Общие вопросы Delphi 3 22.08.2009 11:29