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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2009, 19:03   #1
Noname.pas
Новичок
Джуниор
 
Регистрация: 09.09.2009
Сообщений: 1
Радость Системы счисления в Делфи.

Пожалуста, кто знает помогите переделать программу-конвертер систем счисления, она работает только для целых чисел, а нужно, что бы она работала с любыми вещественными числами, очень прошу!! Вот код программы для целых чисел:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, MConnect, ObjBrkr, HTTPApp, HTTPProd;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    ComboBox1: TComboBox;
    Button1: TButton;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  x,p,num:integer;
implementation

{$R *.dfm}

procedure check;
begin
case x of
 10: Form1.Edit2.text:='A'+Form1.edit2.text;
 11: Form1.Edit2.text:='B'+Form1.edit2.text;
 12: Form1.Edit2.text:='C'+Form1.edit2.text;
 13: Form1.Edit2.text:='D'+Form1.edit2.text;
 14: Form1.Edit2.text:='E'+Form1.edit2.text;
 15: Form1.Edit2.text:='F'+Form1.edit2.text;
 else form1.Edit2.text:=inttostr(x)+form1.edit2.text;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Edit2.Clear;
 p:=strtoint(combobox1.items[combobox1.itemindex]);
 num:=strtoint(edit1.Text);
 x:=0;
 repeat
  x:=num mod p;
  check;
  num:=num div p;
 until num<p;
 x:=num;
 if x<>0 then check;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 Close;
end;

Последний раз редактировалось Stilet; 15.09.2009 в 09:41.
Noname.pas вне форума Ответить с цитированием
Старый 15.09.2009, 09:29   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Автору темы:

В приведенном тексте кода найдите 7 синтаксических ошибок, из-за которых программа не будет скомпилирована. Поэтому утверждение, что "она работает" не корректно.

Никто не сможет догадаться что прячется в ComboBox1 без файла с расширением dfm. А что там находится достаточно важно чтобы разобраться в проблеме.

Публикуя свои проблемы надо учитывать такие "мелочи".
Скандербег вне форума Ответить с цитированием
Старый 15.09.2009, 09:48   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Предлагаю альтернативу:
Код:
var e,d:integer;  s:string;k:integer;
begin
 s:='25.63';
 k:=pos('.',s);
 e:=StrToInt(copy(s,1,k-1));
 d:=StrToInt(copy(s,k+1,length(s)-k));
caption:=format('%x %x',[e,d]);
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Системы счисления glupayastudentka Помощь студентам 3 28.06.2009 21:13
Системы счисления. glupayastudentka Помощь студентам 1 23.06.2009 22:00
Системы счисления бедный_студент Помощь студентам 8 18.02.2009 23:25
Системы счисления vdv08 Паскаль, Turbo Pascal, PascalABC.NET 1 08.05.2008 17:32