İçeriğe geç →

Aylar: Ekim 2017

SQL Server veritabanını Suspect & Emergency modundan kurtarmak

Elektrik kesintisi veya donanım arızalarından kaynaklanan bazı problemler ister istemez çalışan sistemlere zarar verebiliyor. Sadece bilgisayar dosyaları ve işletim sistemi dosyaları değil, veritabanı üzerindeki MDF ve LDF dosyaları da nasibini alıyor.

Bu iki dosyanın birbirleriyle uyumsuz olmaları çeşitli uyarılar ve hatalar döndürüyor veya masterdb üzerinde bozulmalar yaşanabiliyor. Harddisk üzerine veri okuma yazma işlemlerini gerçekleştirememesi de bu sebeplerden birisidir. Bu gibi durumlarda veritabanınız SUSPECT moduna geçebiliyor.

Çözüm:

  1. Sql Management Studio’yu çalıştırın ve master db seçiliyken new query’e basın.
  2. Veritabanı üzerinde el ile ayarlar yapmanız için durum bilgisini sıfırlamanız gerekiyor. >>> EXEC sp_resetstatus ‘DATABASEADI_2017’
  3. Şimdi veritabanı dosyalarını emergency moduna çekelim. >>> alter database DATABASEADI_2017 set emergency
  4. Veri bozukluklarını tespit edelim. (bu işlem 15gb boyutundaki db için 5~10dk civarında sürüyor) >>> dbcc checkdb (‘DATABASEADI_2017’)
  5. Veritabanı üzerinde düzenlemeleri aktif edebilmemiz için emergency modundan çıkartıp bir tek bizim erişeceğimiz hale getiriyoruz. >>> ALTER DATABASE DATABASEADI_2017 SET SINGLE_USER WITH ROLLBACK IMMEDIATE
  6. Şimdi yarım oluşan veya oluşamayan log ve veri dosyalarını kaldırıyoruz. >>> DBCC CHECKDB (‘DATABASEADI_2017’, REPAIR_ALLOW_DATA_LOSS)
  7. Artık normal moda döndürebilir ve kullanıcıların erişimine açabiliriz. >>> ALTER DATABASE DATABASEADI_2017 SET MULTI_USER

FireMonkey projesinde TListViewItem arkaplanı nasıl değiştirilir?

FireMonkey projelerinizde TListView üzerinde çeşitli bilgileri göstermeyi, listelemeyi, aramayı yapmak için kullanıyoruz. Bu yazımızda TListView içindeki TListViewItem nesnelerini arkaplan rengini kolay bir şekilde nasıl değiştireceğimizi anlatacağım.

  • Öncelikle 1 adet FMX form oluşturun.
  • Şimdi içerisine 1 adet TListView ekleyin.
  • Eğer çift renk olarak kullanacaksanız form üzerine eklediğiniz ListView1’in Properties kısmına gelin ve AlternatingColors parametresini True yapın.

[Image: o6kgbR.png]

  • Şimdi form üzerindeki ListView1’e sağ tuş yapın
  • Edit Custom Style… ‘a tıklayın.

[Image: lbW7Mg.png]

  • Yan sekmede sizin için oluşturulan StyleBook1 nesnesini yönetmeniz için Style Designer açılmış olacak.
  • Structure bölümünden ListView1Style1’in kırılımlarını açarak itembackground ve alternatingitembackground parametrelerine tıklayarak aktif hale getirin.
  • Object Inspector bölümünden Color değerini değiştirerek istediğiniz renkleri belirleyebilirsiniz. (Hex kod değeri kullanmak için #FF{6 haneli HEXCODE} yazın.)

CodeRage XII

[Image: Code-Rage_800x600_2.png]

Kayıt olmak için buraya tıklayınız

7-9 Kasım 2017 tarihleri arasında gerçekleşecek olan CodeRage 12 için hazır olun!

Yılın en verimli geçen online konferansı CodeRage bu yıl dolu dolu geliyor. Talep edilen konular ve istenilenler doğrultusunda revize edilen içeriği ile CodeRage önceki yılların tecrübesini bu yıla yansıtmış gibi gözüküyor.

  • Platforms:
    • Linux
    • Windows 10
    • Android
    • iOS
    • macOS
    • Web
  • RAD Technologies:
    • FireDAC
    • FireMonkey
    • FireUI
    • VCL
    • DataSnap
    • RAD Server
    • REST Clients
    • InterBase
    • Enterprise Connectors
  • Best Practices:
    • Unit Testing
    • Writing SOLID Code
    • Dependency Injection
    • Clean Code
    • Exception Handling
    • Multithreading
    • Patterns and Practices
    • Refactoring
    • Tools and Tips
  • Languages:
    • Delphi / Object Pascal
    • C/C++
    • SQL
    • JavaScript
    • HTML / CSS
  • Emerging Technologies:
    • Working in the Cloud
    • REST Services
    • Microservices
    • Blockchain
    • Cryptography
    • Clustering
    • Artificial Intelligence / Neural Networks / Deep Learning
    • Internet of Things (IoT)
    • Single Board Computers (SBC)
    • Wearables
    • Embedded systems
    • Automation
    • Sensors
    • Robotics
  • Industry Trends and More:
    • Software as a Service
    • Working with Audio and Video
    • Business Side of Software
    • Technical Partners
    • Component Libraries
    • Latest Open Source
    • MVP Projects
    • Cool Apps
    • Case Studies

!!! Gerçekleştirilecek oturumların tamamı (sesli ve yazılı olarak) İngilizce olacaktır. Oturum süresi boyunca soru cevap kısımları yer alacağı için daha önceden sormayı planladığınız soruları iletme şansınız olacaktır. Kapsamlı olarak takvim şu şekilde;

  • Standard session: 45 + 15 minutes Q&A
  • Double Session: 100 + 20 minutes Q&A
  • Lightning Talk: 10 minutes, no Q&A
  • Quick Idea: 5 minutes, no Q&A
  • Clip or Custom: any length, no Q&A
  • Non-video content: code, library, slides, paper, etc.

Kayıt olmak için buraya tıklayınız

Android projelerinizin launcher görsellerini otomatik oluşturun

FireMonkey platformunun bizlere getirdiği kolaylıklar olduğu kadar, bu getirdiği imkanlardan doğan yeni ihtiyaçlar oluyor. Android ve iOS uygulamalarımızın uygulama marketlerinde ve mobil cihazlarda nasıl görüneceği kadar, ikon olarak platformun içine uyumlu olması da çok önemlidir.

Launcher ikonlarının ebatlarının hem varsayılan ölçeklerde olmaması, hem de her ölçeğe özel olarak tekrar boyutlandırılmasından kaynaklanan bazı “kodcu işi olmayan işler” ortaya çıkmış.

Bu işi en hızlı şekilde çözmek için çeşitli ikon düzenleme araçları ve kalıpları oluşturulmuş. İkonların nasıl değiştirilmesi gerektiği konusunda DelphiCan’a yapılan talep doğrultusunda sizlerle kendi kullandığım template’i paylaşıyorum.

Nasıl kullanılır?
Bu template’in içerisinde yer alan psd dosyasına ikonunuzun en büyük halini yerleştiriyorsunuz ve aksiyon işlemini tetikliyorsunuz. Sizden hedef klasör istenildiğinde bütün ikonları nereye depolamak istiyorsanız orayı seçin. Ardından tamam’a bastığınızda belirttiğiniz hedefte tüm ihtiyaç duyduğunuz ebatlarda kendi ikonunuzu göreceksiniz.

Nasıl indiririm?
Android ve iOS launcher ikon template dosyasını indirmek için buraya tıklayın.

İhtiyaçlar
Adobe Photoshop, yeterli miktarda hafıza alanı

FDQuery Recordcount 50 adet getirme problemi

SQLite ile proje geliştirenlerin başına gelme ihtimali yaygın olan bir problemi ve hızlı çözümünü sizlerle paylaşmak istiyorum.

Soru: SQLite projelerimde 800 satır sonuç var. Ancak Fdquery nesnesinin RecordCount değeri 50 olarak dönüyor. Bunu nasıl çözerim?

Bilgi Notu: FireDAC Query nesnesinin varsayılan gösterim boyutu 50 adettir. 50 veya daha aşağıda değer çekmek ve göstermek için kullanılır. Eğer çekmek istediğiniz veri miktarı 50 adetten fazlaysa aşağıdaki cevabı takip edin.

Cevap: FDQuery’nin Fetch (getirme) ayarlarını değiştirmelisiniz. FdQuery.FetchOptions ayarlarını aşağıdaki şekilde ayarlarsanız sorununuz çözülecektir.

Yöntem-1

FDQuery.FetchOptions içinde;

  1. RecordCountMode özelliğini cmTotal olarak belirleyin.
  2. (Windows için) CursorKind özelliğini ckDefault veya ckForwardOnly olarak belirleyin.
  3. Mode özelliğini fmOnDemand olarak belirleyin.
  4. RowsetSize özelliğini 1000 olarak belirleyin.
  5. Unidirectional özelliğini True olarak belirleyin.
  6. (Opsiyonel) Items özelliğinin içinden fiMeta‘yı çıkarın. Dataset düzenlemelerinde ihtiyaç duymazsınız.

Yöntem-2

Doldurulmuş FDQuery nesnesinin FetchAll metodunu tetikleyin. Sonuç olarak size getireceği tüm recordları gösterecek ve RecordCount özelliğinde getirdiği miktarı listeleyecektir.

FireMonkey (FMX) Uygulaması Google Play’e nasıl yüklenir?

Bu konu, FireMonkey Framework ile oluşturduğunuz Delphi projelerinizin Google Play’e nasıl yükleneceğini açıklamaktadır.

Gereksinimler

Google Play’e uygulamanızı yüklemeden önce yapmanız gereken bazı şeyler bulunuyor.

  • Öncelikle Google Play Geliştirici Hesabı edinmeniz gerekmektedir. Tek sefere mahsus 25$’lık ücreti olan geliştirici hesabını edinmek için buraya tıklayın.
  • Uygulamamızın Deployment* ayarlarını yapalım. (Project > Options > Application / VersionInfo / Uses Permissions / Provisioning)
    *(bu ayarlarınızı doğru şekilde muhafaza etmeniz gerekir)
  • Application sayfası: Bu sayfadan uygulamanın görsellerini ve ikonlar*ını ayarlanır.
    *(market içinde ve android cihazlarda bu görseller görüntülenir)
  • Version Info sayfası: Uygulamanın versiyon kodu* buradan ayarlanır.
    *(uygulamanıza atacağınız yeni versiyonda buradaki kodu arttırmanız gerekir. market aynı kod ile 2 versiyonu muhafaza etmez)
  • Uses Permissions sayfası: Uygulamanın çalışması için ihtiyaç duyduğunuz izinler/yetkiler* buradan ayarlanır.
    *(Eğer telefon modülünü kullanmıyorsanız ve uygulamanızın tabletlerde çalışmasını istiyorsanız telefona has izinleri istememelisiniz. Markette cihazınıza uyumlu değildir hatası alınır)
  • Provisioning sayfası: Markete yükleyeceğiniz uygulama için burada Target kısmını Release olarak belirleyin.
    *(KeyStore dosyası oluşturarak buradan ayarlarını yapın. Bu dosyayı ASLA kaybetmeyin. Şifresini ASLA unutmayın! Geliştirici cihazınız değişse bile aynı keystore ile yükleme yapmak zorundasınız. Aksi halde başka bir ID ile uygulamayı paketleyip yeniden yüklemeniz gerekir.)

Uygulamayı Google Play’e Yükleme

  • Şimdi uygulamayı Google Play’in kabul etmesi için imzalamamız gerekiyor. Oluşturduğumuz KeyStore dosyası ile imzalanmaya hazır hale gelen uygulamamız imzalamak için şu işlemleri yapın;
    1) Project Manager’dan Build Configurations ‘a çift tıklayın. Release olarak belirleyin.
    2) Target Platforms kısmından Android’i seçin. Seçili olanlar kalın yazılır.
    3) Android’e çift tıklayın ve Configuration kısmından Application Store’u seçin.
    4) Proıject > Build <Proje Adı> ile uygulamayı derleyin.
    5) Project > Deployment kısmından Deploy’a basın ve uygulamayı hazır hale getirin.
  • Şimdi Google Play Geliştirici Konsoluna giriş yapın.
  • Add new application butonuna basın.
  • Uygulamanızın varsayılan dilini, başlığını, kısa açıklamasını ve uzun açıklamasını girin.
  • Daha sonra Store Listing kısmından markette görünecek bilgileri ayarlayın.
  • Manage releases kısmından yygulamanızın markette yayınlanacak ilk versiyonunu yükleyin.
  • Pricing & Distribution ve Rating işlemlerini de tamamladıktan sonra Publish this app’e basarak uygulamayı yayınlanmak üzere gönderin. Google Play tarafından yapılacak incelemelerle birlikte ilk yükleme ise 3-8 saat, aynı uygulamaya yeni versiyon ise 1-4 saat içinde yayına alınır.