İnput Box'ı özelleştirme

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2953
Kayıt: 25 Haz 2003 01:14
Konum: İstanbul
İletişim:

İnput Box'ı özelleştirme

Mesaj gönderen husonet » 18 Tem 2004 10:55

Arkadaşlar bu örneğimizde InputBox'ı Password girişleri için özelleştireceğiz ayrıca Button larını Türkçe'leştireceğiz.

Öncelikle Form'un uses kısmına StdCtrls unitini ekleyelim.

KarakterSize Fonkisiyonu

Kod: Tümünü seç

function KarakterSize(Canvas: TCanvas): TPoint;
var
  I: Integer;
  Buffer: array[0..51] of Char;
Const
  SMsgDlgOK = 'OK';
begin
  for I := 0 to 25 do Buffer[I] := Chr(I + Ord('A'));
  for I := 0 to 25 do Buffer[I + 26] := Chr(I + Ord('a'));
  GetTextExtentPoint(Canvas.Handle, Buffer, 52, TSize(Result));
  Result.X := Result.X div 52;
end;

HUSOINPUT Fonksiyonu

Kod: Tümünü seç

function HusoInput(const ACaption, APrompt: string;
  var Value: string): Boolean;
var
  Form: TForm;
  Prompt: TLabel;
  Edit: TEdit;
  DialogUnits: TPoint;
  ButtonTop, ButtonWidth, ButtonHeight: Integer;
begin
  Result := False;
  Form := TForm.Create(Application);
  with Form do
    try
      Canvas.Font := Font;
      DialogUnits := KarakterSize(Canvas);
      BorderStyle := bsDialog;
      Caption := ACaption;
      ClientWidth := MulDiv(180, DialogUnits.X, 4);
      Position := poScreenCenter;
      Prompt := TLabel.Create(Form);
      with Prompt do
      begin
        Parent := Form;
        Caption := APrompt;
        Left := MulDiv(8, DialogUnits.X, 4);
        Top := MulDiv(8, DialogUnits.Y, 8);
        Constraints.MaxWidth := MulDiv(164, DialogUnits.X, 4);
        WordWrap := True;
      end;
      Edit := TEdit.Create(Form);
      with Edit do
      begin
        Parent := Form;
        Left := Prompt.Left;
        Top := Prompt.Top + Prompt.Height + 5;
        Width := MulDiv(164, DialogUnits.X, 4);
        MaxLength := 255;
        Text := Value;
        PasswordChar := '*';
        SelectAll;
      end;
      ButtonTop := Edit.Top + Edit.Height + 15;
      ButtonWidth := MulDiv(50, DialogUnits.X, 4);
      ButtonHeight := MulDiv(14, DialogUnits.Y, 8);
      with TButton.Create(Form) do
      begin
        Parent := Form;
        Caption := 'Tamam';
        ModalResult := mrOk;
        Default := True;
        SetBounds(MulDiv(38, DialogUnits.X, 4), ButtonTop, ButtonWidth,
          ButtonHeight);
      end;
      with TButton.Create(Form) do
      begin
        Parent := Form;
        Caption := 'İptal';
        ModalResult := mrCancel;
        Cancel := True;
        SetBounds(MulDiv(92, DialogUnits.X, 4), Edit.Top + Edit.Height + 15,
          ButtonWidth, ButtonHeight);
        Form.ClientHeight := Top + Height + 13;
      end;
      if ShowModal = mrOk then
      begin
        Value := Edit.Text;
        Result := True;
      end;
    finally
      Form.Free;
    end;
end;
HUSOINPUTBOX Fonksiyonu

Kod: Tümünü seç

function HusoInputBox(const ACaption, APrompt, ADefault: string): string;
begin
  Result := ADefault;
  HusoInput(ACaption, APrompt, Result);
end;

Kullanımı

Kod: Tümünü seç

   HusoInputBox('HUSONET','Password','');
Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.

sirvankarahan
Üye
Mesajlar: 1
Kayıt: 26 Eyl 2016 08:21

Re: İnput Box'ı özelleştirme

Mesaj gönderen sirvankarahan » 26 Eyl 2016 08:23

Merhabalar,
Ben okulda kullanılmak üzere inputbox sistemiyle bir kayıt sistemi oluşturmak istiyorum ama yapamadım. bu mümkün müdür?
Atıyorum; Öğrenci adı, Numarası, Sınıfı vs vs diye excel de başlıklarım mevcut. ActiveX denetimlerinden eklediğim bir buton da mevcut. Bu butona tıkladığımda sırasıyla Öğrenci adı? Sınıfı, Numarası vs diye sorsa ve girdiğim veriyi düzenli olarak kayıt yapsa güzel olurdu. İlk veriden sonra otomatik olarak diğer satıra da geçmeli.
Ve tekrar soruyorum. Bu mümkün müdür kardeşlerim. Uzmanlar sizsiniz? :?: :?:

Cevapla