Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 62
1

Перевод систем счисления

07.10.2014, 23:01. Показов 1927. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Нужно сделать программу, 3 поля, в одно вводится число, во второе основание текущей системы счисления, в третье основание необходимой сс. По нажатию кнопки происходит перевод. Для переводе использовать любой сайт в интернете. Как реализовать передачу текстовыми полями программы и текстовыми полями конкретного сайта? Желательно для сайта нумсус.ру, (первый результат в гугле по запросу "перевод систем счисления").
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2014, 23:01
Ответы с готовыми решениями:

Перевод систем счисления
Здравствуйте, помогите пожалуйста не могу реализовать перевод из девятнадцатеричной системы в...

Перевод систем счисления мажду 2-ой, 8-ой и 10-ой
Пожалуйста помогите сделать програму чтоб переводила из 10 в 8,из 2 в 8 и обратно на delphi

Перевод из разных систем счисления.
Написал код для программы по переводу из 10-чной системы счисления в 2,8,16-ичные системы. все...

Калькулятор Систем Счисления
Написать программу(калькулятор систем счисления) в Lazarus которая будет переводить число из...

6
726 / 478 / 130
Регистрация: 24.12.2008
Сообщений: 3,924
07.10.2014, 23:24 2
В каком смысле любой сайт в интеренете?
0
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 62
07.10.2014, 23:27  [ТС] 3
Ну я же указал пример.
В интернете есть сайты, которые переводят онлайн все СС.
Вот мне нужно чтобы эти сайты и использовались для перевода.
0
726 / 478 / 130
Регистрация: 24.12.2008
Сообщений: 3,924
07.10.2014, 23:33 4
TIdHTTP и парсер пиши? Отправка POST запросов на сайт
0
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 62
07.10.2014, 23:38  [ТС] 5
Мне эти слова ни о чем не говорят
Можно пример?
0
726 / 478 / 130
Регистрация: 24.12.2008
Сообщений: 3,924
07.10.2014, 23:49 6
TIdHTTP это компонент он на вкладке КлиентIndi с помощью его можно получить содержипое страници сайта и отправить GET и POST запросы.
Парсер это извлечение нужних данных с того что ты получиш с помощью TIdHTTP.
Сдесь на форуме много обсуждений о том как парсить, получать и отправлять команды через post запросы.
0
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
08.10.2014, 16:42 7
Могу предложить решение с использованием TWebBrowser и обработкой DOM модели веб-документа.
Страница http://numsys.ru грузится в WebBrowser с ошибками, поэтому я другой калькулятор взял. Вот этот: http://life-prog.ru/servis.php?id=1. Java-скрипты на этой странице изменяют DOM модель. Чтобы изучить изменение DOM модели, удобно использовать FireFox с доустановленными инструментами разработчика. Далее на картинках показано, как это делалось.
Вот, что получилось.
Упрощённый код - без некоторых проверок:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
//Загрузка HTML документа.
procedure TForm1.Button1Click(Sender: TObject);
begin
  //WebBrowser1.Silent := True; //Отключение режима показа предупреждений.
  WebBrowser1.Navigate(Edit1.Text);
end;
 
//Обработка HTML документа.
procedure TForm1.Button2Click(Sender: TObject);
var
  Doc, Frm, Elem, Arr : OleVariant;
  SNum1, SB1, SB2 : String;
  B1, B2, i : Integer;
begin
  //Ссылка на интерфейс документа.
  Doc := WebBrowser1.OleObject.document;
  if VarIsClear(Doc) then begin
    MessageBox(Handle, 'Объект документа не создан. Действие отменено.',
      'Внимание!', MB_OK + MB_ICONWARNING + MB_APPLMODAL);
    Exit;
  end;
 
  //Исходные данные.
  SNum1 := Edit2.Text; //Запись числа в системе счисления по основанию B1.
  SB1 := Edit3.Text;
  if not TryStrToInt(SB1, B1) and not (B1 in [2..36]) then //Основание B1.
  begin
    MessageBox(Handle, 'Основание должно быть целым числом из диапазона 2..36. Исправьте ввод.',
      'Основание задано неверно!', MB_OK + MB_ICONEXCLAMATION + MB_APPLMODAL);
    Exit;
  end;
  SB2 := Edit4.Text;
  if not TryStrToInt(SB2, B2) and not (B2 in [2..36]) then //Основание B2.
  begin
    MessageBox(Handle, 'Основание должно быть целым числом из диапазона 2..36. Исправьте ввод.',
      'Основание задано неверно!', MB_OK + MB_ICONEXCLAMATION + MB_APPLMODAL);
    Exit;
  end;
 
  //Обработка DOM модели HTML документа.
 
  //1. Ищем HTML форму.
  //<form name="f1">
  //Массив всех HTML форм в документе.
  Arr := Doc.getElementsByTagName('form');
  //В полученном массиве ищем элемент с name="f1".
  VarClear(Elem);
  for i := 0 to Arr.length - 1 do
    if Arr.item(i).name = 'f1' then
    begin
      Frm := Arr.item(i);
      Break;
    end;
 
  //2. В пределах формы ищем элементы, предназначенные для ввода исходных данных.
 
  //Представление исходного числа.
  //<input type="text" name="number" maxlength="40" size="40" value="">
  //В пределах формы: коллекция элементов с name="number".
  Arr := Frm.getElementsByTagName('input');
  //В коллекции ищем элемент с name="number".
  VarClear(Elem);
  for i := 0 to Arr.length - 1 do
    if Arr.item(i).name = 'number' then
    begin
      Arr.item(i).value := SNum1; //Записываем значение в найденный элемент.
      Break;
    end;
 
  //Основание исходной СС.
  //<select name="r1">
  //  <option value="2">2</option>
  //  <option value="3">3</option>
  //  ...
  //  <option value="36">36</option>
  //</select>
  //В пределах формы: коллекция элементов с тегом <select>.
  Arr := Frm.getElementsByTagName('select');
  //В коллекции ищем элемент с name="r1".
  VarClear(Elem);
  for i := 0 to Arr.length - 1 do
    if Arr.item(i).name = 'r1' then
    begin
      Elem := Arr.item(i);
      Break;
    end;
  //Выбираем нужный элемент <option>.
  for i := 0 to Elem.options.length - 1 do
    if Elem.options.item(i).value = SB1 then
    begin
      Elem.selectedIndex := i;
      Break;
    end;
 
  //Основание целевой СС.
  //<select name="r2">
  //  <option value="2">2</option>
  //  <option value="3">3</option>
  //  ...
  //  <option value="36">36</option>
  //</select>
  //В пределах формы: коллекция элементов с тегом <select>.
  Arr := Frm.getElementsByTagName('select');
  //В коллекции ищем элемент с name="r2".
  VarClear(Elem);
  for i := 0 to Arr.length - 1 do
    if Arr.item(i).name = 'r2' then
    begin
      Elem := Arr.item(i);
      Break;
    end;
  //Выбираем нужный элемент <option>.
  for i := 0 to Elem.options.length - 1 do
    if Elem.options.item(i).value = SB2 then
    begin
      Elem.selectedIndex := i;
      Break;
    end;
 
  //3. В пределах формы находим кнопку, по которой запускается расчёт и щёлкаем по ней.
 
  //Кнопка, по которой запускается расчёт.
  //<input value="Выполнить" onclick="go();" type="button">
  Arr := Frm.getElementsByTagName('input');
  for i := 0 to Arr.length - 1 do
    if Arr.item(i).type = 'button' then
    begin
      Arr.item(i).click; //Выполняем щелчок на кнопке - для запуска расчёта.
      Break;
    end;
 
  //Ожидаем, пока на странице происходят изменения.
  while WebBrowser1.ReadyState <> READYSTATE_COMPLETE do
    Application.ProcessMessages;
 
  //4. Читаем результат расчёта.
 
  //Ищем элемент, который содержит результат расчёта и читаем его содержимое.
  //<div id="result">
  Edit5.Text := Doc.getElementById('result').innerHTML;
 
  //ShowMessage('Расчёт выполнен.');
end;
Исследование DOM модели веб-документа
Перевод систем счисления

Перевод систем счисления

Перевод систем счисления

Перевод систем счисления

Перевод систем счисления

Перевод систем счисления

Перевод систем счисления

Перевод систем счисления
Вложения
Тип файла: rar HTML DOM. Преобразование СС-01.rar (195.2 Кб, 22 просмотров)
0
08.10.2014, 16:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2014, 16:42
Помогаю со студенческими работами здесь

Преобразование систем счисления
Помогите написать программу в Delphi Перевод числа из 2сс в 10сс,8сс и 16сс

Калькулятор систем счисления
Люди, помогите пожалуйста, нужны коды на калькулятор для разных систем счисления, как делать...

Преобразование из систем счисления
Преобразование из систем счисления: 16-тиричной, 8-ричной, 3-ичной, 2-ичной

Калькулятор с переводом систем счисления
Напишите, пожалуйста, калькулятор с переводом счисления как в Windows во вкладке Калькулятор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru