Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Kod Bankası

Konu, 'Pascal / Delphi / Delphi.NET' kısmında cemaliozan tarafından paylaşıldı.

  1. Caylaq

    Caylaq Daimi Üye

    Kayıt:
    11 Aralık 2007
    Mesajlar:
    1,145
    Beğenilen Mesajlar:
    0
    Meslek:
    Product Development Specialist
    Şehir:
    DELPHI LAND
    Dosya Arama Üzerine Alternatif Bir Yol

    Faydalı olması dileğiyle


    Kod:
     
    var
      dosya:TSearchRec;
      i: Integer;
    begin
        SolGridTemizle;
        if FindFirst('W:\Xmller\*.xml', faAnyFile, dosya) = 0 then
        begin
        repeat
              Showmessage( Dosya.Name );
        until FindNext(dosya) <> 0;//varsa sonrakini bul
         FindClose(dosya); //Kapat
        end;
    
     
  2. Caylaq

    Caylaq Daimi Üye

    Kayıt:
    11 Aralık 2007
    Mesajlar:
    1,145
    Beğenilen Mesajlar:
    0
    Meslek:
    Product Development Specialist
    Şehir:
    DELPHI LAND
    2 Tane Listboxta Seçili Olanlar Üzerinde İşlem Yapma - Döngü Kurma

    2 Listboxta seçili olanlar üzerinde döngü kurmam gerekmişti. Hazır yapmışken paylaşayım istedim ;)





    Kod:
    procedure TForm1.btn1Click(Sender: TObject);
    var
      c:integer;
      a:integer;  
    begin
          for c:=0 to Jvlistbox1.count-1 do
          begin
              if (Jvlistbox1.Items.Strings[c] <> '') and (Jvlistbox1.Selected[c]) then
              begin
                   Showmessage(Jvlistbox1.Items.Strings[c] );
                         for a:=0 to Jvlistbox2.count-1 do
                         begin
                                if (Jvlistbox2.Items.Strings[a] <> '') and (Jvlistbox2.Selected[a]) then
                                begin
                                     //Showmessage(Jvlistbox1.Items.Strings[c] +Jvlistbox2.Items.Strings[a]);
                                     Showmessage(Jvlistbox2.Items.Strings[a]);                                 
                                end;
                         end;
              end;
          end;
    end;
     
  3. Caylaq

    Caylaq Daimi Üye

    Kayıt:
    11 Aralık 2007
    Mesajlar:
    1,145
    Beğenilen Mesajlar:
    0
    Meslek:
    Product Development Specialist
    Şehir:
    DELPHI LAND
    Listboxı Küçükten büyüğe sıralamak

    Listboxı Küçükten büyüğe sıralamak

    Kod:
    fora a:=deger-1 downto 0 do
    LBox1.Items.Add(IntToStr(dizi[a]));
    ..
     
  4. Caylaq

    Caylaq Daimi Üye

    Kayıt:
    11 Aralık 2007
    Mesajlar:
    1,145
    Beğenilen Mesajlar:
    0
    Meslek:
    Product Development Specialist
    Şehir:
    DELPHI LAND
    Geri Dönüşüm Kutusunu Boşaltmak

    ...
     
  5. Caylaq

    Caylaq Daimi Üye

    Kayıt:
    11 Aralık 2007
    Mesajlar:
    1,145
    Beğenilen Mesajlar:
    0
    Meslek:
    Product Development Specialist
    Şehir:
    DELPHI LAND
    CPU Bilgisi

    NOTE:
    Bu fonksiyonun orjinalini yazan kişi bilinmemektedir.
    This function was originally written by someone whom I don't know!



     
  6. Caylaq

    Caylaq Daimi Üye

    Kayıt:
    11 Aralık 2007
    Mesajlar:
    1,145
    Beğenilen Mesajlar:
    0
    Meslek:
    Product Development Specialist
    Şehir:
    DELPHI LAND
    Windows Yüklü Servis Listesi

    Windows Yüklü Servis Listesi


     
  7. Caylaq

    Caylaq Daimi Üye

    Kayıt:
    11 Aralık 2007
    Mesajlar:
    1,145
    Beğenilen Mesajlar:
    0
    Meslek:
    Product Development Specialist
    Şehir:
    DELPHI LAND
    Program Ekle/Kaldır Listesi

    Yüklü Programlar

     
  8. Caylaq

    Caylaq Daimi Üye

    Kayıt:
    11 Aralık 2007
    Mesajlar:
    1,145
    Beğenilen Mesajlar:
    0
    Meslek:
    Product Development Specialist
    Şehir:
    DELPHI LAND
    Geri Dönüşüm Kutusuna Gönder

    Kod:
    function Gonder(sFileName : string ) : boolean;
    var
      fos : TSHFileOpStruct;
    begin
      FillChar( fos, SizeOf( fos ), 0 );
      with fos do
      begin
        Wnd := application.handle;
        wFunc  := FO_DELETE;
        pFrom  := PChar( sFileName );
        fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION or FOF_SILENT;
      end;
      Result := ( 0 = ShFileOperation( fos ) );
    end;
    Kullanımı
    Kod:
    Gonder(Dosya.pdf);
     
  9. mfberkdemir

    mfberkdemir Yeni Üye

    Kayıt:
    7 Nisan 2011
    Mesajlar:
    7
    Beğenilen Mesajlar:
    0
    lazarus indy kompanenti kurulumu

    sonuda başardım..belki birilerinin işine yarar..
    lazarus kurulduktan sonra indy kompanenti indirilir.

    1) lazarus dizinine (C:\lazarus\components) kopyalanır.
    2) indirilen paket içindeki lazarus klasörünün içindeki dosyalar C:\lazarus\ide içine kopyalanır
    3) gene indirilen klasör içindeki fpc klasörü C:\lazarus\fpc\2.4.2\units\i386-win32 içine kopyalanır..
    4) lazarus açılıp package/open package (.lpk) tıklanıp açılan pencereden C:\lazarus\components\indy\lazarus\indylaz.lpk seçilir install yapılır lazarus tekrar derlenir

    notlar:dizinler farklı olabilir dikkat ediniz. Ayrıca dosyaları klasörler içine kopyalarken indy diye bir klasör açıp dosyaları onun içine atarsanız daha derli toplu olur ve son olarak bir kaç hata alınabilir tekrar tekrar deneyiniz.kurulum windows 7,lazarus v0.9.30 ve alt sürümlerinde indy v10 ile denenmiştir.
     
  10. Caylaq

    Caylaq Daimi Üye

    Kayıt:
    11 Aralık 2007
    Mesajlar:
    1,145
    Beğenilen Mesajlar:
    0
    Meslek:
    Product Development Specialist
    Şehir:
    DELPHI LAND
    FORMU TASSKBARDA GÖSTERME

    PHP:
      procedure TForm1.CreateParams(var ParamsTCreateParams);   
      
    begin
      inherited CreateParams
    (Params);
      
    Params.WndParent := GetDesktopWindow();     
    end;
     
  11. cemaliozan

    cemaliozan Daimi Üye

    Kayıt:
    17 Mayıs 2005
    Mesajlar:
    1,849
    Beğenilen Mesajlar:
    1
    Meslek:
    Boşta gezenlerin yewmiye defterini tutarım...
    Şehir:
    » Burası «
    ANSI Türkçe Büyük Harf Çevrimi

    # Key Parametresiyle gönderileni ANSI Türkçe büyük harfe çevirir. UTF-8 içinde Key değerleri uyarlanabilir.

    PHP:
    Function BuyukHarf(Const KeyChar):Char;
    begin
       
    Case Ord(Keyof
        231 
    Result := char(199);
        
    105 Result := Char(221);
        
    240 Result := Char(208);
        
    253 Result := Char(73);
        
    246 Result := Char(214);
        
    254 Result := Char(222);
        
    252 Result := Char(220);
        
    199 Result := 'Ç';
        
    221 Result := 'İ';
        
    208 Result := 'Ğ';
        
    214 Result := 'Ö';
        
    222 Result := 'Ş';
        
    220 Result := 'Ü';
      else
        
    Result := UpCase(Key);
      
    end;
    end;
    PHP:
    procedure TForm_Test.TextEditKeyPress(SenderTObject; var KeyChar);
    begin
      Key 
    := BuyukHarf(Key);
    end;
     
  12. cemaliozan

    cemaliozan Daimi Üye

    Kayıt:
    17 Mayıs 2005
    Mesajlar:
    1,849
    Beğenilen Mesajlar:
    1
    Meslek:
    Boşta gezenlerin yewmiye defterini tutarım...
    Şehir:
    » Burası «
    Runtime Birden Çok Form Yaratıp Ekranda Sıralı Gösterme

    # Tasarladığımız projede arka arkaya formlar (pencereler) oluşturup aynı anda hepsini birden sıralı olarak göstermek istersek aşağıdaki kod örneğini kullanabiliriz. Bu kodda ekranda aynı anda gösterilen pencere sayısı 4. 4 ncü pencereden sonra konumlama başlangıç pozisyonuna ayarlanıyor. Kodun en önemli bölümü CheckAlarmFormLocation yöntemi. Bu yöntem bir sonraki formun konumunu hesaplıyor.


    PHP:
    Const
       
    AlarmFormStartLeft Integer 50;
       
    AlarmFormStartTop  Integer 50;
       
    AlarmFormWidth     Integer 575;
       
    AlarmFormHeight    Integer 300;

    .....
    private
        
    FFormWidth          Integer;
        
    FFormHeight         Integer;
    protected
        
    FAlarmForm          TForm_Alarm;
        
    FAlarmFormCounter   Integer;
        
    FAlarmFormLastLeft  Integer;
        
    FAlarmFormLastTop   Integer;
    .....
        
    procedure TFormMain.CheckAlarmFormLocation;
    Begin
      
    {
        
    Left ve top başlangıç değerlerindeyse :
        
    Left artartop değişmez
      
    }
      if (
    FAlarmFormLastLeft AlarmFormStartLeft) and (FAlarmFormLastTop AlarmFormStartTopthen
      begin
        FAlarmFormLastLeft  
    := FAlarmFormLastLeft AlarmFormWidth;
        Exit;
      
    end;

    {
         
    Left ve top sınır dahilindeyse :
         - 
    Left artırılır ve taşma kontrolu yapılır
           
    left taşma varsa Left başlangıç değerine ayarlanır
           
    left taşma varsa Top artırılırtop taşması kontrol edilir
             
    top taşma varsa top başlangıç değerine ayarlanır 
      
    }

      if ((
    FAlarmFormLastLeft + (AlarmFormWidth div 2)) < FFormWidth) and ((FAlarmFormLastTop + (AlarmFormHeight div 2)) < FFormHeightthen
      begin
        FAlarmFormLastLeft  
    := FAlarmFormLastLeft AlarmFormWidth;
        if ((
    FAlarmFormLastLeft + (AlarmFormWidth div 2)) > FFormWidththen
        begin
          FAlarmFormLastLeft  
    := AlarmFormStartLeft;
          
    FAlarmFormLastTop   := FAlarmFormLastTop AlarmFormHeight;
          if ((
    FAlarmFormLastTop + (AlarmFormHeight div 2)) > FFormHeightthen FAlarmFormLastTop := AlarmFormStartTop;
        
    end;
        Exit;
      
    end;

      {
        
    Top sınır dahilileft sınır taşması ise :
        - 
    Left başlangıç değerine ayarlanır
        
    Top artırılırtaşma kontrolu yapılır
          
    Top taşması varsa top başlangıç değerine ayarlanır
      
    }

      if ((
    FAlarmFormLastTop + (AlarmFormHeight  div 2)) < FFormHeight) and ((FAlarmFormLastLeft + (AlarmFormWidth  div 2)) > FFormWidththen
      begin
        FAlarmFormLastLeft   
    := AlarmFormStartLeft;
        
    FAlarmFormLastTop    := FAlarmFormLastTop AlarmFormHeight;
        if ((
    FAlarmFormLastTop + (AlarmFormHeight  div 2)) > FFormHeightthen FAlarmFormLastTop := AlarmFormStartTop;
        Exit;
      
    end;

      {
         
    Left sınır dahilitop sınır taşması ise :
         - 
    Top başlangıç değerine ayarlanır
         
    Left artırılır ve taşma kontrolu yapılır
           
    Left taşması varsa Left başlangıç değerine ayarlanır
      
    }

      if ((
    FAlarmFormLastLeft + (AlarmFormWidth  div 2)) < FFormWidth) and ((FAlarmFormLastTop + (AlarmFormHeight  div 2)) > FFormHeightthen
      begin
        FAlarmFormLastTop   
    := AlarmFormStartTop;
        
    FAlarmFormLastLeft  := FAlarmFormLastLeft AlarmFormWidth;
        if ((
    FAlarmFormLastLeft + (AlarmFormWidth  div 2)) > FFormWidththen FAlarmFormLastLeft := AlarmFormStartLeft;
        Exit;
      
    end;

      {
        
    Left ve top sınır taşması ise :
        - 
    Left ve Top başlangıç değerlerine ayarlanır
      
    }

      if ((
    FAlarmFormLastLeft + (AlarmFormWidth div 2)) > FFormWidth) and ((FAlarmFormLastTop + (AlarmFormHeight div 2)) > FFormHeightthen
      begin
        FAlarmFormLastLeft   
    := AlarmFormStartLeft;
        
    FAlarmFormLastTop    := AlarmFormStartTop;
      
    end;
      
    End;

    procedure TFormMain.FormShow(SenderTObject);
    begin
      FFormWidth  
    := FormMain.Width// max genişlik
      
    FFormHeight := FormMain.Height// max yükseklik
    end;

    procedure TFormMain.FormYarat;
    Begin
      Inc
    (FAlarmFormCounter);

      
    FAlarmForm    := TForm_Alarm.Create(Self);
      
    With FAlarmForm do
      
    begin
        Name                
    := 'Alarm'+IntToStr(FAlarmFormCounter);
        
    Left                := FAlarmFormLastLeft;
        
    Top                 := FAlarmFormLastTop;
        
    Show;
      
    end;
      
    CheckAlarmFormLocation// Sonraki pencere için konum ayarla
    End;  
      


     
    Son düzenleme yönetici tarafından yapıldı: 15 Mayıs 2012
  13. cemaliozan

    cemaliozan Daimi Üye

    Kayıt:
    17 Mayıs 2005
    Mesajlar:
    1,849
    Beğenilen Mesajlar:
    1
    Meslek:
    Boşta gezenlerin yewmiye defterini tutarım...
    Şehir:
    » Burası «
    Delphi 2010 ve üzeri sürümlerde exe dosya boyutunu küçültme

    # Delphi 2010 ve üzeri sürümlerde exe dosyarının boyutunun artma nedenlerinden biri genişletilmiş RTTI desteğidir.
    Eğer RTTI kullanılmayacaksa exe dosya boyutunu küçültmek için proje dosyasının kaynak koduna aşağıdaki deklarasyonları ekleyebiliriz.
    Internet üzerinden dağıtılan EXE dosyalarının boyutlarını küçültmek için http://upx.sourceforge.net/ kullanılabilinir.

    PHP:
    program Project1;

    {
    $WEAKLINKRTTI ON}
    {
    $RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
     
  14. oto

    oto Yeni Üye

    Kayıt:
    19 Eylül 2014
    Mesajlar:
    5
    Beğenilen Mesajlar:
    0
    çok işime yaradı teşekkür ederim ..