Cad Konvert 2009 ve kaynak kodu

Başlatan ahmet2004, 31 Mart 2009, 05:09:06

ahmet2004

PCB ve diğer çizim programlarında birim çevrimi yapmak için kullanılır.
Klavye ile girişlerde ( '0'..'9',#8,',',#13 ) sadece sayı enter ve , girişine izin verir örnek uygulamadır.

unit UnitCAD;
//ahmet2004
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    Edit_GIRIS: TEdit;
    Label_INCH: TLabel;
    Label_MIL: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    INCH: TButton;
    MIL: TButton;
    MM: TButton;
    Label3: TLabel;
    Label_MM: TLabel;
    procedure MMClick(Sender: TObject);
    procedure MILClick(Sender: TObject);
    procedure INCHClick(Sender: TObject);
    procedure Buton_CEVIRClick(Sender: TObject);
    procedure Buton_MILClick(Sender: TObject);
    procedure Buton_INCHClick(Sender: TObject);
    procedure Edit_GIRISKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  giris: Real;

implementation

{$R *.dfm}

procedure TForm1.Buton_INCHClick(Sender: TObject);
begin
  giris := StrToFloat(Edit_GIRIS.Text) * 2.54;
  Label_INCH.Caption := FloatToStr(giris) ;
end;

procedure TForm1.Buton_MILClick(Sender: TObject);
begin
  giris := StrToFloat(Edit_GIRIS.Text) * 0.0254;
  Label_MIL.Caption := FloatToStr(giris) ;
end;



procedure TForm1.Buton_CEVIRClick(Sender: TObject);
begin
    giris := StrToFloat(Edit_GIRIS.Text) * 2.54;
  Label_INCH.Caption := FloatToStr(giris)+' mm ';
    giris := StrToFloat(Edit_GIRIS.Text) * 0.0254;
  Label_MIL.Caption := FloatToStr(giris)+' mm ';

end;

procedure TForm1.Edit_GIRISKeyPress(Sender: TObject; var Key: Char);
begin
  if not(Key in['0'..'9',#8,',',#13]) then
  begin
    Key:=#0;
    Beep;
  end;

  if(Key = #13) then
  begin
    Key := #0;
  end;

  If (Key = ',') then
  begin
    If (Pos(',',Edit_GIRIS.Text) > 0) then
    Key := #0;
  end;
end;

procedure TForm1.INCHClick(Sender: TObject);
begin
  Label1.Enabled := false;
  Label2.Enabled := true;
  Label3.Enabled := true;

  Label_INCH.Enabled := false;
  Label_MIL.Enabled := true;
  Label_MM.Enabled := true;

  Label_INCH.Caption := Edit_GIRIS.Text + ' inch. ';

  giris := StrToFloat(Edit_GIRIS.Text) * 1000;
  Label_MIL.Caption := FloatToStr(giris) + ' mil. ';
  giris := StrToFloat(Edit_GIRIS.Text) * 25.4;
  Label_MM.Caption := FloatToStr(giris) + ' mm. ';
end;

procedure TForm1.MILClick(Sender: TObject);
begin
  Label1.Enabled := true;
  Label2.Enabled := false;
  Label3.Enabled := true;

  Label_INCH.Enabled := true;
  Label_MIL.Enabled := false;
  Label_MM.Enabled := true;

  giris := StrToFloat(Edit_GIRIS.Text) / 1000;
  Label_INCH.Caption := FloatToStr(giris) + ' inch. ';
  Label_MIL.Caption := Edit_GIRIS.Text + ' mil. ';

  giris := StrToFloat(Edit_GIRIS.Text) * 0.0254;
  Label_MM.Caption := FloatToStr(giris) + ' mm. ';
end;

procedure TForm1.MMClick(Sender: TObject);
begin

  Label1.Enabled := true;
  Label2.Enabled := true;
  Label3.Enabled := false;

  Label_INCH.Enabled := true;
  Label_MIL.Enabled := true;
  Label_MM.Enabled := false;

  giris := StrToFloat(Edit_GIRIS.Text) / 25.4;
  Label_INCH.Caption := Format('%.5f', [giris]) + ' inch. ';

  giris := StrToFloat(Edit_GIRIS.Text) * 39.37007874015748031496062992126;
  Label_MIL.Caption := Format('%.5f', [giris]) + ' mil. ';

  Label_MM.Caption := Edit_GIRIS.Text + ' mm. ';
end;

end.