Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => Delphi => Konuyu başlatan: ahmet2004 - 31 Mart 2009, 05:09:06

Başlık: Cad Konvert 2009 ve kaynak kodu
Gönderen: ahmet2004 - 31 Mart 2009, 05:09:06
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.



(http://img27.imageshack.us/img27/5411/3103.png) (http://img27.imageshack.us/my.php?image=3103.png)