Я занялся вопросом перевода из шестнадцатиричной системы исчисления в десьтичную. Вроде прога готова. Я не буду выкладывать ленивым прогу, поэтому покажу код:
Код:
unit wdc;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, ExtCtrls, Buttons;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label4: TLabel;
TenEdit: TEdit;
Label5: TLabel;
HEXEdit: TEdit;
HexEdit1: TEdit;
TenEdit1: TEdit;
Label6: TLabel;
Button3: TButton;
Button4: TButton;
GroupBox2: TGroupBox;
Label7: TLabel;
Label8: TLabel;
WindowsEdit: TEdit;
Button6: TButton;
Button7: TButton;
DosEdit: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Bevel1: TBevel;
Bevel2: TBevel;
Bevel3: TBevel;
Bevel4: TBevel;
procedure N1Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses awdc;
{$R *.dfm}
procedure TForm1.N1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button6Click(Sender: TObject);
var
s: array[0..255] of char;
begin
CharToOem(PChar(WindowsEdit.Text), s);
DOSEdit.Text:=s;
end;
procedure TForm1.Button7Click(Sender: TObject);
var
s: array [0..255] of char;
begin
OemToChar(PChar(DOSEdit.Text), s);
WindowsEdit.Text:=s;
end;
procedure TForm1.Button4Click(Sender: TObject);
var
index:Integer;
begin
index:=StrToInt('$'+HEXEdit.Text);
TenEdit.Text:=IntToStr(index);
end;
procedure TForm1.Button3Click(Sender: TObject);
var
index:Integer;
begin
index:=StrToInt(TenEdit1.Text);
HexEdit1.Text:=IntToHex(index, 2);
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Form2.ShowModal;
end;
end.
У меня эта програ переводит из 10-й в 16-ю и обратно, текст(русский) из Windiws B DOS и обратно.