Hoşgeldin, Ziyaretçi
Sitemizden yararlanabilmek için Kayıt olmalısınız.

Kullanıcı Adınız:
  

Şifreniz:
  





Forumda Ara

(Gelişmiş Arama)

Forum İstatistikleri
» Toplam Üyeler: 1.162
» Son Üye: cascaridas
» Toplam Konular: 2.377
» Toplam Yorumlar: 18.887

Detaylı İstatistikler

Son Aktiviteler
Derleyici Direktifleri Ha...
Forum: Genel Programlama
Son Yorum:

ssahinoglu
1 saat önce
» Yorumlar: 7
» Okunma: 3.009
Kimler ne yapıyor?
Forum: Muhabbet Olsun
Son Yorum:

dicle_gsm
Dün, Saat: 12:29
» Yorumlar: 1
» Okunma: 71
Kayan Yazı
Forum: Genel Programlama
Son Yorum:

ssahinoglu
Dün, Saat: 08:49
» Yorumlar: 48
» Okunma: 2.518
Yazarken Dinlediğiniz Müz...
Forum: Muhabbet Olsun
Son Yorum:

dicle_gsm
20-08-2018, Saat: 23:15
» Yorumlar: 50
» Okunma: 18.102
Http post etme
Forum: Genel Programlama
Son Yorum:

arsl01
20-08-2018, Saat: 19:59
» Yorumlar: 0
» Okunma: 39
Iyi bir ide'nin avantajı ...
Forum: Muhabbet Olsun
Son Yorum:

masteryoda
20-08-2018, Saat: 17:17
» Yorumlar: 6
» Okunma: 94
Delphi Udemy Kursu
Forum: Görsel Eğitimler
Son Yorum:

hyperxman
20-08-2018, Saat: 16:16
» Yorumlar: 26
» Okunma: 745
Delphican Ailesinin Kurba...
Forum: Muhabbet Olsun
Son Yorum:

berk06
20-08-2018, Saat: 10:33
» Yorumlar: 12
» Okunma: 157
Mobil platform örnekleri
Forum: e-Kaynak
Son Yorum:

hyperxman
19-08-2018, Saat: 01:28
» Yorumlar: 3
» Okunma: 89
Listview tedit
Forum: Mobil Platform - FireMonkey (FMX)
Son Yorum:

narkotik
17-08-2018, Saat: 20:31
» Yorumlar: 2
» Okunma: 81

 
  Kategori rengi
Yazar: ahmetb - 10-08-2018, Saat: 13:05 - Forum: Mobil Platform - FireMonkey (FMX) - Yorum Yok

Merhaba;

Listviewde istediğim satır rengini değiştiriyorum. 
Kategori diye dbde bir alanım var kullanıcı yeni kategori oluşturduğunda, kategori rengini seçip dbye kaydediyor. 
Bu kategorileri kullanıcı kendi belirliyor. Fakat kullanıcının oluşturduğu kategori isimini ve adetini  bilemediğimden   if OKName.Text = '???' Then nasıl dinamik hale getirebilirim?

procedure TForm1.ListUpdateObjects(const Sender: TObject;
  const AItem: TListViewItem);
var
  OKName: TListItemText;
begin
  OKName := AItem.Objects.FindDrawable('Kategori') As TListItemText;
  try
    if OKName = Nil then
    begin
      OKName := TListItemText.Create(AItem);
      OKName.Name := 'Kategori';
    end;
    if OKName.Text = 'Bakliyat' Then
    begin
      OKName.TextColor := TAlphaColorRec.Blue;
    end;
  except
    // Hata yakala
  end;
end;

Bu konuyu yazdır

  Kayıtlar arasında dolaşırken aldığım hata
Yazar: klavye - 10-08-2018, Saat: 10:57 - Forum: FireBird - Yorumlar (20)

Merhabalar,
Veritanımın birisini ibexpert ile açıyorum. Validation yapıyorum. gfix ile kontrol ediyorum hiç bir hata vermiyor. Fakat ibexpert ile açıp kayıtlar arasında dolaştığımda resimdeki hatayı alıyorum.
Sebebi ne olabilir acaba?

DDGrBy.png

Teşekkürler.

Bu konuyu yazdır

  JavaScript dosyaları ve UTF8 ?
Yazar: Gürcan - 09-08-2018, Saat: 13:27 - Forum: Genel Programlama - Yorumlar (2)

Selam arkadaşlar.

Delphi Berlin sürümde, projeye ekli JavaScript dosyalarım var.
Bunları utf-8 formatında kaydetmesini nasıl sağlayabilirim ?

Bu konuyu yazdır

  Delphi 10.3.2 Cominity için Sui Pack ve Rave Report konusu
Yazar: Bafehan - 09-08-2018, Saat: 12:49 - Forum: Genel Programlama - Yorumlar (9)

Delphi 10.3.2 Cominity için Sui Pack ve Rave Report componentlerini nasıl bulabilirim.
Ucretlimidir. Cominity  surumu için bu componentleri ucretsiz olarak edinebilirmiyim.
Bilen var ise yardımcı olursanız.

Bu konuyu yazdır

  Delphi'de Inno Setup | Sorgulu Uninstall İşlemi
Yazar: hyperxman - 09-08-2018, Saat: 01:22 - Forum: Makale - Yorumlar (10)

Herkese hayırlı geceler,


Uzun zamandır bir şeyler yazmıyordum, Inno hakkında geçenlerde birkaç bilgi öğrendim bunları sizinle paylaşmak isterim. Inno setup bildiğiniz üzere bir uygulama paketleme yazılımıdır. Inno setup yazılımı Delphi ile ilişiği(Embarcadero eklentisi ile) ve script yazımında ki Delphi ile hemen hemen aynı diyebiliriz. Inno setup yazılımının bir diğer güzel özelliği script ile setup yazılımınıza istediğiniz özelliği ekleyebiliyorsunuz. Bu yazımda sizlere örnek teşkil etmesi açısından bir senaryo ve çözümünü sunacağım.

Senaryo: Kullanıcı uygulamayı yükledi sonrasında kaldırma işlemi yapmak istedi fakat uygulamamız çalışıyordu ve kaldırma işleminde sadece kurulumda tanımlı olan dosyalar silindi ve uygulama dosyası kaldı. Birde uygulamamızın her bilgisayar açılışında açıldığını düşünürsek; dosya olmayınca otomatikman her açılışta uygulama bazlı hatalar çıkacaktır.

Çözüm Senaryosu: Uygulama kaldırma işlemi yapılmadan önce; uygulamanın açık olup olmadığı kontrol edilir. Açık ise kapatılması istenir. Kullanıcı kapatmadığı sürece kaldırma işlemi engellenir.

Öncellikle gerekli olan bazı kütüphaneler gerekecek. Bu kütüphanemizin ismi psvince.dll. Bu kütüphane dosyamızı ilk olarak setup dosyamızı "load" edeceğiz. Sonrasında ise gerekli çağırım ve kodlar ile işlemlerimizi tamamlayacağız. 


Exclamation Exclamation psvince.dll load edebilmek için ilk önce files bölümüne eklemelisiniz veya normal kurulum wizard penceresinde seçebilirsiniz ama yine de kod ile nasıl eklenir onu anlatayım kısaca;

Inno Setup bölüm algılama syntax biçimi diyeyim "[]" dizi şeklinde gruplandırarak işlemleri gerçekleştirir. Örneğin kod için [Code], uygulama runtime olayı için [Run] veya dosyalar için ise [Files] tümleçlerin altına yazılır. Bizde psvince.dll için script sayesinde direkt ekleme sağlayacağız.

[Files]
Source: psvince.dll; DestDir: {app}
Source: psvince.dll; flags: dontcopy



Idea  İki adet const değeri belirterek işlemlerimize başlıyoruz: 

const

ProgramName = 'UygulamaAdi';
ProgramExeName = 'UygulamaAdi.exe';

Idea  Sonra belirli prosedürler ile uninstall.exe için geçerli olan mesaj yapımızı hazırlıyoruz:

  ProgramRunningOnUninstallMessage = ProgramName + '  adlı uygulama şu anda çalışıyor. ' + #13 + #13 +
     'Lütfen uygulamayı kapatın ve "Yeniden Dene" butonuna basınız.';

 UninstallationCanceledMessage = 'Kaldırılma işlemi iptal edildi.';

Exclamation Sonraki işlem önemli hem setup.exe hemde uninstall.exe için "load" işlemi gerçekleştireceğiz çünkü setup.exe ile paketlenip uygulama yüklendikten sonra sanırsam uninstall.exe psvinvce.dll
ihtiyaç durumunda uygulama klasöründe referans edinebilsin. Zaten script üzerinden bu durumu kolayca görebiliyoruz.

function IsModuleLoadedI(modulename: String ):  Boolean;
external 'IsModuleLoaded@files:psvince.dll stdcall setuponly';

function IsModuleLoadedU(modulename: String ):  Boolean;
external 'IsModuleLoaded@{app}\psvince.dll stdcall uninstallonly' ;
 
Exclamation Tabi IsModuleLoaded fonksiyonu önceden tanımlı. Daha doğrusu bu fonksiyonun Install için mi Uninstall için mi geçerli olduğu bu fonksiyon ile belirtilmesi kolaylaştırlımış ve işlem devamlılığı sağlanmış.

function IsModuleLoaded( modulename: String; isUninstallation: Boolean ): Boolean;
begin
 if isUninstallation then
   Result := IsModuleLoadedU( modulename )
 else
   Result := IsModuleLoadedI( modulename );
end;

Idea Şimdi aşağıdaki fonksiyon ile mesaj buttonları, mesaj türü ayarlanıyor. Tabi bundan önce while ile modül load ediliyor. Fonksiyonun result değerine baktığımızda ise zaten eğer "false" değeri ile birazdan vereceğim  InitializeSetup fonksiyonuyla - yani bir nevi benzetecek olursak Delphi'de create olayı gibi. -  aşağıdaki kodu tetikleyeceğiz.  

function UygulamaKaldirmaIptal( 
             message: String; 
             isUninstallation: Boolean ): Boolean;
var
 ButtonPressed : Integer;
begin
 ButtonPressed := IDRETRY;

 while IsModuleLoaded( ProgramExeName, isUninstallation ) and ( ButtonPressed <> IDCANCEL ) do
 begin
   ButtonPressed := MsgBox( message , mbError, MB_RETRYCANCEL );    
 end;

 Result := Not IsModuleLoaded( ProgramExeName, isUninstallation );
end;

Idea Bundan sonra artık "Initialize" fonksiyonuna gerekli tanımları yapıp işlemlerimizi tamamlamak.

function InitializeUninstall(): Boolean;
begin
 Result := UygulamaKaldirmaIptal( ProgramRunningOnUninstallMessage, True );

 UnloadDLL(ExpandConstant('{app}\psvince.dll'));

 if not Result then
 begin
   MsgBox( UninstallationCanceledMessage, mbInformation, MB_OK );
 end;  
end;

Bu şekilde uygulama kaldırılmadan önce size sorgulama yaptıracaktır.

qvyMXZ.png

Exclamation Bu şekilde uygulama kapatılmadığı sürece bu mesaj "yeniden dene" butonuna bassa bile tekrarlayacaktır. 


Idea Scriptin bütün hali aşağıda yer almaktadır:

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "UygulamaAdi"
#define MyAppVersion "BETA"
#define MyAppPublisher "Halil Han Badem, Developer"
#define MyAppExeName "UygulamaAdi.exe"
#define MyAppCopyright "Developer by Halil Han Badem"

[Setup]
AppId={{A3D45299-0E0E-4E4C-8482-54E88F52B7B0}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
DefaultDirName={pf}\{#MyAppName}
DisableProgramGroupPage=yes
LicenseFile=C:\Users\Windows_User\Desktop\Licen.txt
InfoBeforeFile=C:\Users\Windows_User\Desktop\Info.txt
OutputDir=C:\Users\Windows_User\Desktop
OutputBaseFilename=UygulamaAdi_beta_setup
SetupIconFile=C:\Users\Windows_User\Desktop\UygulamaKlasoru\img\icon.ico
Compression=lzma
SolidCompression=yes

[Languages]
Name: "english"; MessagesFile: "compiler: Default.isl"
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1

[Files]
Source: "C:\Users\Windows_User\Desktop\UygulamaKlasoru\UygulamaAdi.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: psvince.dll; DestDir: {app}
Source: psvince.dll; flags: dontcopy

[Icons]
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon



[UninstallDelete]
Type: filesandordirs; Name: "{app}"


[Code]

const

ProgramName = 'UygulamaAdi';
ProgramExeName = 'UygulamaAdi.exe';

 ProgramRunningOnUninstallMessage = ProgramName + '  adlı uygulama şu anda çalışıyor. ' + #13 + #13 +
     'Lütfen uygulamayı kapatın ve "Yeniden Dene" butonuna basınız.';
 UninstallationCanceledMessage = 'Kaldırılma işlemi iptal edildi.';


function IsModuleLoadedI(modulename: String ):  Boolean;
external 'IsModuleLoaded@files:psvince.dll stdcall setuponly';

function IsModuleLoadedU(modulename: String ):  Boolean;
external 'IsModuleLoaded@{app}\psvince.dll stdcall uninstallonly' ;


function IsModuleLoaded( modulename: String; isUninstallation: Boolean ): Boolean;
begin
 if isUninstallation then
   Result := IsModuleLoadedU( modulename )
 else
   Result := IsModuleLoadedI( modulename );
end;


function PromptUntilProgramClosedOrInstallationCanceled( 
             message: String; 
             isUninstallation: Boolean ): Boolean;
var
 ButtonPressed : Integer;
begin
 ButtonPressed := IDRETRY;

 while IsModuleLoaded( ProgramExeName, isUninstallation ) and ( ButtonPressed <> IDCANCEL ) do
 begin
   ButtonPressed := MsgBox( message , mbError, MB_RETRYCANCEL );    
 end;

 Result := Not IsModuleLoaded( ProgramExeName, isUninstallation );
end;


function InitializeSetup(): Boolean;
begin
 Result := PromptUntilProgramClosedOrInstallationCanceled( ProgramRunningOnInstallMessage, False );

 if Not Result then
 begin
   MsgBox( InstallationCanceledMessage, mbInformation, MB_OK );
 end;
end;


function InitializeUninstall(): Boolean;
begin
 Result := PromptUntilProgramClosedOrInstallationCanceled( ProgramRunningOnUninstallMessage, True );

 UnloadDLL(ExpandConstant('{app}\psvince.dll'));

 if not Result then
 begin
   MsgBox( UninstallationCanceledMessage, mbInformation, MB_OK );
 end;  
end;



[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: runascurrentuser nowait postinstall skipifsilent


Referans Linkler:
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol 
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol


Umarım bu makale işinize yarar niteliğinde olur. 

Saygılarımla,
İyi çalışmalar.

Bu konuyu yazdır

  Style
Yazar: ahmetb - 08-08-2018, Saat: 16:11 - Forum: Mobil Platform - FireMonkey (FMX) - Yorumlar (2)

Merhaba,


VCL tarafında Project, Options, Apperrance altında style seçenekleri var. 
FMX tarafında nasıl yapabilirim? FMX Style ilgili bir şey bulamadım. Huh

Bu konuyu yazdır

  EFatura xml oluşturma ile ilgili kütüphane bilen?
Yazar: witalihakko - 08-08-2018, Saat: 14:35 - Forum: Genel Programlama - Yorumlar (8)

Herkese merhaba,

Yakın zamanda bir entegratör firma ile birlikle mevcut bir uygulamaya Efatura entegrasyonu yapma ile ilgili bir işe girişeceğim. Daha önce Efatura ile ilgili uğraştım fakat xml oluşturma kısmı ile ilgili bir şey yapmamıştım. Daha çok entegratörün servislerinin programa entegresi üzerine çalıştım. 

Bu işe başlamadan önce efatura bilgilerimi gib üzerinden tekrar gözden geçirdim. İlgili kılavuzları ve mevzuatları indirip inceledim. 

Konu şu ki xml oluşturma işlemini kendim yazmadan önce açık kaynak xml oluşturma ile ilgili bir kaynak varmı diye biraz araştırdım ve pek bir sonuca ulaşamadım. Bazı entegratör firmaların github üzerinden örneklerine baktım herhangi bir efatura xmli üretme ile ilgili örnek bulamadım(Belki benim yeteneksizliğim bilmiyorum). Bazı entegratör firmalar örnek xml içindeki verileri replace ile değiştirerek xml üretme gibi şeyler paylaşmış ama ben bu şekilde yapmak istemiyorum.

Sizin bildiğiniz bir model class mantığı çerçevesinde örnek bir efatura xmli üreten ve şematron kontrolü yapan kütüphane varmı. C# yada Delphi olursa iyi olur.

Bu konuyu yazdır

  İngilizce Eğitimi
Yazar: quake16 - 08-08-2018, Saat: 12:32 - Forum: Muhabbet Olsun - Yorumlar (1)

Merhaba

Youtube de denk geldiğim ve eğitim içeriğine göz attığım başarılı bir eğitim seti ile karşılaştım. Yabancı dil bilgisi yazılım konusunda her zaman lazım olmakta. Forumda İngilizce konusunda kendini geliştirmek ve ileri seviyeye taşımak isteyenlerin ulaşmasının faydalı olacağı kanısındayım. Şimdiden başarılar.


Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Bu konuyu yazdır

  İdeal Eğitim Süreleri Hk.
Yazar: Abdullah ILGAZ - 08-08-2018, Saat: 11:35 - Forum: Muhabbet Olsun - Yorumlar (6)

Merhaba,

Devam etmekte olduğum ve DelphiCan'a Değerli @SimaWBnin ilgili konusunda gündeme gelen Linkleri Görebilmeniz İçin Giriş yap veya Üye Olmin ilerleyişi ve geri dönüşleri oldukça memnun edici. Destek veren herkese teşekkürlerimi sunuyorum.

Arrow Kısa Bilgilendirme

7 video sonrasında çeşitli sebeplerle geçici süre ile ara verdiğim eğitim serisini tamamlamak için kolları tekrar sıvadım. Süreler açısından en ideal süreyi tespit etmek adına sizlerin görüşlerini merak ediyorum. Anket sonucuna göre eğitim videolarının süreleri hesaplanarak kısaltma-uzatma yapılacak ve kayıt sürecine tekrar başlamış olacağım.

Arrow Eğitim İçeriği

Delphi ile Programlamayı Öğren Video Eğitim Serisi - Abdullah ILGAZ

  1. Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
  2. Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
  3. Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
  4. Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
  5. Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
  6. Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
  7. Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
  8. Veri Tipleri
  9. Setler ve Türler (Sets & Types)
  10. Diziler (Arrays)
  11. Kayıtlar (Records)
  12. Basit Veri Gösterimi (Basic Data)
  13. Sınıf Yapısı (Basic Class)
  14. Fonksiyonlar & Prosedürler (Functions & Procedures)
  15. Birimler (Unit)
  16. Kalıtım (Inheritance)
  17. Çok Biçimlilik (Polymorphism)
  18. Neden OOP?
  19. Özellikler (Properties)
  20. Erişim Belirleyiciler (Access Modifiers)
  21. Yapıcı & Yıkıcı (Constructors & Destructors)

Bu konuyu yazdır

Question Hangi dilleri kullanıyorsunuz
Yazar: SimaWB - 08-08-2018, Saat: 11:25 - Forum: Anketler - Yorumlar (3)

Ticari olarak para kazandığınız uygulamaları yazmak için hangi programlama dil(ler)ini kullanıyorsunuz?

Bu konuyu yazdır