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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2011, 23:09   #1
Artur1992
Пользователь
 
Регистрация: 22.09.2010
Сообщений: 37
По умолчанию Delphi ( перевод из рим. в араб. систему счисления)

Код:
...
var
  Form1: TForm1;
  k:1..9;
  RomeNum : array[1..9] of string[4] =('I' ,'II','III','IV','V','VI','VII','VIII','IX');
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
k:=StrToInt(Edit1.Text);
Edit1.Text:=RomeNum[k];
end;
...
Как мне сделать так, чтобы переводило нетолько из арабской в римскую, но и наоборот, в компонент Edit1.
Заранее спасибо.
Artur1992 вне форума Ответить с цитированием
Старый 04.04.2011, 00:35   #2
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

а вам что надо, перевод одной цифры в римскую и наоборот? или перевод числа в римскую систему счисления?
суде по этой строке
RomeNum : array[1..9] of string[4] =('I' ,'II','III','IV','V','VI','VII','VI II','IX');
вы хотите переводить лишь одну цифру.
ICQ: 593-013-807
Don Karleone вне форума Ответить с цитированием
Старый 04.04.2011, 00:40   #3
Artur1992
Пользователь
 
Регистрация: 22.09.2010
Сообщений: 37
По умолчанию

Одной цифры
Artur1992 вне форума Ответить с цитированием
Старый 04.04.2011, 00:48   #4
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

Код:
st:=Edit2.Text;
for i:=1 to 9 do
  if st = RomeNum[i] then n:=i;
Edit1.Text:=IntToStr(n);
ICQ: 593-013-807

Последний раз редактировалось Don Karleone; 04.04.2011 в 00:54. Причина: тупанул немного. :)
Don Karleone вне форума Ответить с цитированием
Старый 04.04.2011, 00:57   #5
Artur1992
Пользователь
 
Регистрация: 22.09.2010
Сообщений: 37
По умолчанию

Да, спасибо.
Но мне надо, чтоб я ввёл в edit1 "1", потом после нажатия кнопки, в edit1 появляется "I", а после второго нажатия снова должна появиться "1".
Artur1992 вне форума Ответить с цитированием
Старый 04.04.2011, 01:47   #6
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

используйте глобальную переменную.
Код:
var
  FLAG: boolean;

...

procedure TForm1.Button1Click(Sender: TObject);
var
  st: string;
begin
  if not FLAG
    then
        begin
           k:=StrToInt(Edit1.Text);
           Edit1.Text:=RomeNum[k];
        end
    else
       begin
           st:=Edit1.Text;
           for i:=1 to 9 do
             if st = RomeNum[i] then k:=i;
           Edit1.Text:=IntToStr(k);
       end;
  FLAG:=not FLAG;
end;
ICQ: 593-013-807
Don Karleone вне форума Ответить с цитированием
Старый 04.04.2011, 16:44   #7
Artur1992
Пользователь
 
Регистрация: 22.09.2010
Сообщений: 37
По умолчанию

Большое спасибо!
Artur1992 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод числа в семеричную систему счисления PastoriXx Общие вопросы .NET 5 14.05.2010 12:58
перевод из 10-тичной в 11-ричную систему счисления metallldoctor Помощь студентам 0 11.03.2010 13:51
Перевод вещественного числа из 10 в 2 Систему счисления. [С++] Veselyn Помощь студентам 9 17.01.2010 00:39
перевод из 4-ной в 3-ную систему счисления Mike07 Помощь студентам 1 07.10.2007 18:53