Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ] > Код на шару!
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.09.2014, 23:14
MrZerO MrZerO вне форума
Прохожий
 
Регистрация: 18.04.2014
Сообщения: 20
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Delphi 7 калькулятор

Доброго времени суток, как можно реализовать DecToBin калькулятор на delphi? в интернете искал, не нашел. Обьясню: есть 2 edit'та и кнопка допустим вводим число 37 в первый, и надо чтоб во 2 edit'е появлялся ответ
в 2 системе (10 0101), и на оборот.
Заранее спасибо)
Желательно код)))
Ответить с цитированием
  #2  
Старый 07.09.2014, 00:22
Аватар для min@y™
min@y™ min@y™ вне форума
Заблокирован
 
Регистрация: 29.08.2014
Адрес: Рязань
Сообщения: 26
Версия Delphi: D7, CB6, etc
Репутация: 10
По умолчанию

В старой доброй RxLib есть модуль rxStrUtils.pas. В этом модуле среди кучи полезных функций есть вот такие:
Код:
function Dec2Numb(N: Longint; A, B: Byte): string;
{ Dec2Numb converts the given value to a string representation with the
  base equal to B and with the minimum number of digits (A) specified. }

function Numb2Dec(S: string; B: Byte): Longint;
{ Numb2Dec converts the given B-based numeric string to the corresponding
  integer value. }

function IntToBin(Value: Longint; Digits, Spaces: Integer): string;
{ IntToBin converts the given value to a binary string representation
  with the minimum number of digits specified. }
У меня есть и свои юношеские наработки по этому поводу. Могу прислать. Например:
Код:
{ Пpеобpазует целое число N в число по основанию B,
  дополняя слева нулями до длины A и вставляя пробелы
  через каждые С символов (0 - не вставляет).}
function AdvancedDec2Numb(const N: Integer; const A, B, C: Byte): string;
var
  i, Len: Integer;
  S: string;
begin
  Result:= '';
  S:= Dec2Numb(N, A, B);
  Len:= Length(S);

  if C > 0
    then begin
           for i:= Len downto 1 do
             begin
               Result:= S[i] + Result;
               if (Len - i + 1) mod C = 0
                 then Result:= ' ' + Result;
             end;
           Result:= Trim(Result);
         end
    else Result:= S;
end;
Ответить с цитированием
  #3  
Старый 07.09.2014, 10:02
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
function DecToBin(Value: Integer): String;
var
  i: Integer;
begin
  Result:='';
  for i:=0 to 31 do
  begin
    Result:=IntToStr(Value and 1)+Result;
    Value:=Value shr 1;
  end;
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:27.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter