Şimdi Ara

delphi soruları ve cevapları

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
1.917
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • alıntıdır fakat delphiyle ilgilenenler için iyi uygulamalar var, neyse fazla lafa gerek yok buyrun bakalım




    Herhangi bir anda exe1'den bir tane ama exe2'den maximum n tane calisabilir oldugunu kabul edersek, (n>1)

    exe1'deki bir butona tiklayinca exe2'lerden birincisinin

    1. o anda calismiyor ise calistirilmasini ;
    2. calismakta ve minimize ise maximize olmasini;
    3. acik ve maximize ise ama aktif degilse aktif olmasini;

    nasil saglayabilirim????????????????


    unit Unit1;

    interface

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

    type
    TForm1 = class(TForm)
    procedure FormClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;
    say : integer = 1;

    implementation

    {$R *.dfm}

    procedure TForm1.FormClick(Sender: TObject);
    begin
    WinExec('c:\windows\calc.exe',SW_SHOWMAXIMIZED);
    // kodu yazarken sw_ yazdıkdan sonra CTRL+SPACE 'e basarsan programı Maxmı Minimize mi, Hide mı artık naapcaksan seçebilirsin
    // CTRL+SPACE ve CTRL+J işi kolaylaştırıyor // mailleşebilirizde ayrıca...
    ShowMessage('Program'+#32+inttostr(say)+#32+'defa çalıştırılmıştır...'+chr(13)+'www.ceviz.net');
    say:=say+1;
    end;

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    with form1 do
    begin
    width:=270;
    Height:=100;
    Caption:='>>> Form üstüne 1er kez tıkla <<<';
    end;

    end;







  • WinExec('c:\windows\calc.exe',SW_SHOWMAXIMIZED); --->
    WinExec(Pchar('c:\windows\calc.exe'),SW_SHOWMAXIMIZED);
    böyle daha iyi olur
  • Combobox&Listbox'a icon ekleme
    ________________________________________
    basit oldu ama, bunu fark etmemiş olan arkadaşlara yardımcı olabileceğini düşündüm.

    Bir konuda kaynak isterseniz, elimden gelirse eklerim....

    Kolay gelsin


    procedure TForm1.Button1Click(Sender: TSender);
    var
    Icon: TIcon;
    begin
    Icon := TIcon.Create;
    Icon.LoadFromFile('icon.ICO');
    ListBox1.Items.AddObject('icon', Icon);
    end;




    Delphi ile Sayıyı Metine Çevirme
    ________________________________________
    Bu fonksiyonu Copy/Paste yaparak kullanabilirsiniz. Fonksiyon geriye String çeviriyor dikkat.

    function Cevir(Val : extended) : String;
    const
    hanex : array[0..2, '0'..'9'] of String = (
    ('', 'Bir ', 'İki ', 'Üç ', 'Dört ', 'Beş ', 'Altı ', 'Yedi ', 'Sekiz ', 'Dokuz '),
    ('', 'On ', 'Yirmi ', 'Otuz ', 'Kırk ', 'Elli ', 'Atmış ', 'Yetmiş ', 'Seksen ', 'Doksan '),
    ('', 'Yüz ', 'İki Yüz ', 'Üç Yüz ', 'Dört Yüz ', 'Beş Yüz ', 'Altı Yüz ', 'Yedi Yüz ', 'Sekiz Yüz ', 'Dokuz Yüz '));
    katx : array[0..5] of String = ('', 'Bin ', 'Milyon ', 'Milyar ', 'Trilyon ', 'Katrilyon ');
    var
    Kat : Integer;
    function _Cevir(sy : String) : String;
    var
    lsy, hn : Integer;
    begin
    Result := ''; if sy = '' then Exit;
    if (sy = '1') and (kat = 1) then begin Result := 'Bin'; Exit; end;
    hn := 0; lsy := length(sy);
    while (hn < 3) and (hn < lsy)
    do
    begin
    Result := hanex[hn, sy[lsy - hn]] + Result;
    Inc(hn);
    end;
    Result := Result + katx[kat];
    Inc(kat);
    if lsy > 3 then Result := _Cevir(copy(sy, 1, lsy - 3)) + Result;
    end;
    begin
    Result := ''; kat := 0;
    Result := _Cevir(formatFloat('##0', int(Val)));
    end;



    Hint'in fontunu değiştirmek
    ________________________________________




    implementation
    {$R *.DFM}
    Type
    THintConFont = Class (THintWindow)
    Constructor Create (AOwner: TComponent); override;
    end;

    Constructor THintConFont.Create (AOwner: TComponent);
    begin
    Inherited
    Create (Aowner);
    Canvas.Font.Name := 'Times New Roman';
    Canvas.Font.Size := 18;
    end;


    HOOK çalışan programlar
    ________________________________________
    Program systemtray'e yerleşiyor. Ve arka planda çalışıyor. Yani HOOK dediğimiz olayı yapıyor. Çok farklı (?!), faydalı amaçlar için kullanılabilir...




    //***************************
    // Unit1.dfm; dosyasının içeriği
    //***************************

    unit Unit1;

    interface

    uses
    SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
    Forms, Dialogs, ExtCtrls, ShellAPI, Menus;

    const WM_MINIMALIZE = WM_USER + 1
    type
    TForm1 = class(TForm)
    PopupMenu1: TPopupMenu;
    Show1: TMenuItem;
    Hide1: TMenuItem;
    Quit1: TMenuItem;

    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Show1Click(Sender: TObject);
    procedure Hide1Click(Sender: TObject);
    procedure Quit1Click(Sender: TObject);
    private
    FIconData : TNotifyIconData;
    public
    procedure WMMinimalize(var Message : TMessage); message WM_MINIMALIZE;
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.DFM}

    procedure TForm1.FormCreate(Sender: TObject);
    var i : Integer;
    begin
    with FIconData do
    begin
    cbSize := SizeOf(FIconData);
    Wnd := Self.Handle;
    uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
    hIcon := Application.Icon.Handle;
    uCallbackMessage := WM_MINIMALIZE; szTip := 'Hakan MÜŞTAK';
    end;
    Shell_NotifyIcon(NIM_ADD, @FIconData);
    end;

    procedure TForm1.FormDestroy(Sender: TObject);
    begin
    Shell_NotifyIcon(NIM_DELETE, @FIconData);
    end;

    procedure TForm1.WMMinimalize(var Message : TMessage);
    var p : TPoint;
    begin
    case Message.LParam of
    WM_RBUTTONUP: begin
    GetCursorPos(p);
    PopupMenu1.Popup(p.x, p.y);
    end;
    end;
    end;

    procedure TForm1.Show1Click(Sender: TObject);
    begin
    Form1.Visible := TRUE;
    ShowWindow(Application.Handle, SW_HIDE);
    end;

    procedure TForm1.Hide1Click(Sender: TObject);
    begin
    Self.Visible := FALSE;
    end;

    procedure TForm1.Quit1Click(Sender: TObject);
    begin
    Application.Terminate;
    end;

    end.


    //***************************
    // Project1.dpr; dosyasının içeriği
    //***************************

    program Project1;

    uses
    Forms,
    Unit1 in 'Unit1.pas' {Form1};

    {$R *.RES}

    begin
    Application.Initialize;
    Application.CreateForm(TForm1, Form1);
    Application.ShowMainForm := FALSE;
    Application.Run;
    end.




    Delphi Prog.'a Popup reklamla açılış
    ________________________________________
    Delphi için güzel kısayol teknikleri yazıyoruz ama inşallah işinize yarıyordur :=)

    Program açılmadan tasarladığınız bir formun ilk olarak görünmesini isterseniz (Bu form Unit dosyasıdır - html diildir), önce
    File/ New Form
    seçeneği ile Projeye bir form ekleriz. Daha sonra eklediğimiz formu (ben form2 diyeceğim),
    Project / Options dan Forms sekmesi altında Available kısmına tutup sürükleyeceğiz.
    Project / View source kaynağımız şöyle olacak ;



    program cevizornek7;

    uses
    windows, Forms,
    Unit1 in 'Unit1.pas' {Form1},
    Unit2 in 'Unit2.pas' {Form2},

    {$R *.RES}


    begin
    form2:=TForm2.Create(nil);
    form2.show;
    Application.ProcessMessages;

    Application.Initialize;
    Application.CreateForm(TForm1, Form1);
    Application.CreateForm(TForm3, Form3);
    sleep(4500); {beklemeyi sağlayacak olan kod...}
    form2.Hide;
    form2.Release;

    Application.Run;
    end.




    unutmadan... Resimle filan açılış yapacaksanız tasarlanan formunda formunda onShow event kısmına

    form2.Brush.Style:=bsClear;
    Form8.BorderStyle:=bsNone;

    eklerseniz resmin(veya nesnenim) dışında kalan herşey transparent olur. Görünmez. Bu metodlar açısından kolaylık sağlayacak bi ipucu daha vereyim, CTRL + SPACE tuşları ile form nesne ve metodlarınıza ulaşabilir, CTRL + J ile ise sistem metod ve yapılarına ulaşabilirsiniz. Tabi bunlara kendiniz de ek yapabilirsiniz...

    Offf yoruldum... Eee ben bu kadar yazdım, birilerinin işine yara umarım, şimdi yorumları bekliyorum :=))))))

    th4nx -je -jne




  • hocam bunları üst konuya eklesen daha iyi olur. çünkü bu topic bir iki gün sonra arka sayfalara düşer kaybolur gider.
    http://forum.donanimhaber.com/m_2804547/tm.htm
  • tamam bu günki soru ve cevapları öyle ekleyim saol
  • Yapay Zeka’dan İlgili Konular
    GSÜ Genel Sorular ve Cevapları
    4 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.