Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi ile Android programı yapma üzerine bir sorum olacak. Üstadlardan rica..
#1
Arkadaşlar konuyla ilgili birkaç sorum olacak. Cahilliğimi mazur görün, gülmeyin lütfen.
Delphi4-Delphi 7 arası sürümlerini kullandım. RAD Studyoya geçmedim. Fırsatım olmadı. Sonra tayin atama falan derken delphiden uzak kaldım. En son da 6 yıldır mecburi uzak kalmanın ardından şimdi birşeyler yazmam gerekti.

RAD Studyoyu kurup extradan hiçbir farklı kod yazmadan projeyi Androidde çalıştırabiliyor muyuz?
RAD Studyodaki komponentler ile Android için yazacağımız projede kullanacağımız komponentler aynı mı?
Android için ayrı komponent mi kullanılıyor?
Database'e bağlantı farklılık gösteriyor mu? Özel birşey kullanmak gerekir mi? 
Android için hazırlanan özel komponentler veya paketleri var mı?


Şimdilik aklıma gelen bunlar. Konuyla ilgili uzun uzun yazmak istemezseniz, internet linkini yazabilirsiniz. Şimdiden teşekkürler.
Cevapla
#2
Özet bilgi :

Delphi 4 - 7 arası çalıştım demiştiniz. Sadece Windows Platformuna yazıyorduk 

Şimdiki RAD Studio Delphi kurduğunuzda ve tam karşılığı olarak "VCL Application" geçiyor olacak VCL serisi unitler kullanılır.
örnek boş bir proje açınca UNIT isimleri
uses
 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

Diğer seçeneklerden birisi de "MultiDevice Application" olarak geçer FMX serisi unitler kullanılır. Sadece Android sanmayın, yine Windows uygulaması yazabiliyoruz. Varsayılanı Windows ama yoğurt yeyişi farklı bir yapı. Windows, Android, MacOS veya Linux yazmak için kullanıyoruz.
 
örnek boş bir proje açınca UNIT isimleri
uses
 System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
 FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs;

Bu durumda size kavramsal olarak VCL serisi bileşenler veya FMX serisi bileşenler arasındaki farkı anlatmak için en temel karşılaştırma (benim için);

VCL (hali hazırda kullandıklarınız) için bir bileşenin form üzerindeki yerini LEFT / TOP gibi ifadelerle bildirebilirsiniz.
FMX ( multi device ) olursa bir bileşenin form üzerindeki yerini Position.X / Position.Y gibi ifadelerle bildirebilirsiniz.

VCL'de   
Edit1.Left := 100; 
diyorken   
FMX'de 
Edit1.Position.X := 100; 
diyeceksiniz.


Basit manada kod kuralları açısından bildirebileceklerim bunlar. Umarım faydalı olur.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#3
Teşekkürler üstad. Peki aynı komponetlerle hem windows hem de androidde program yazabiliyor muyuz? Yoksa android icin özel komponent mi kullanıyoruz?Şimdiden iyi bayramlar dilerim.
Cevapla
#4
Delphi fmx mimarisini seçip proje oluşturduğunuzda hali hazırda obje listesindeki aktif componentleri kullanarak hem ios hem android de çalışacak şekilde derleyebilirsiniz, seçtiğiniz componentler için uses e fmx unitleri platforma göre eklenir.
halı hazırdaki componentler ve delphi ile gelen fmx unitlerinde ilgili platformun os api leri için bir miktar hazır fonksiyonlarda bulunur bunu componentlerin yetmediği yerde os fonksiyonlarına erişim için kullanacağınız için belirttim,
onun haricinde yetersiz kaldığında siz kendiniz ilgili platformlar için manuel kod yazmalısınız.
(ilgili platformların ios android vs api leri inceleyerek veya java kod derleyip bridge hazırlayarak, windows da dll çağırmak gibi düşünebilirsiniz)

haliyle delphi objeleri ve unitleri yetersiz kaldığında rapid app development mottosu ile ya component set satın almalı yada ilgili paltformlar için (örneğin android:java) bilgisine haiz olmanız gerekir, hal böyle oluncada neden java ile yazmıyayımki diyebilirsiniz.
Cevapla
#5
Bir ilave yapayım,

Sadece FMX veya VCL olarak iki kampa ayrılmış gibi anlaşılabilir, bir de her iki platformun ortak kullandığı unit'ler var tabii ki.

Buradaki ayrımı oluşturan şey görsel olan bileşenler yani son kullanıcının ekranında görünenlerdir.

Yoksa string fonksşyonları, matematik fonksiyonları, windows mesaj sistemi (eğer windows uygulamasıysa) vs

bunlar ortak çalışıyor.

Farz edelim hem android ortamda hem de windows ortamında çalışmak için ortak bir sınıf yazacaksınız. Bu mümkün. Sadece ekranda görünecek kısımları {ifdef {endif gibi conditional ifadeler ile IDE seviyesinde dallandırmanız gerekiyor normal if ile değil.

Başarılar
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  15 sene sonra delphi aşerdim ama lisans anahtarı kodmanyagha 9 509 24-12-2024, Saat: 00:22
Son Yorum: mcuyan
  Delphi 12.2 Yayınlandı Mr.X 8 984 18-09-2024, Saat: 18:04
Son Yorum: engerex
  Delphi 12 Community Edition jedi kurulum sorunu mersoy 5 597 04-08-2024, Saat: 22:12
Son Yorum: mersoy
  Delphi 12 Community Edition nguzeller 8 937 02-08-2024, Saat: 09:11
Son Yorum: RAD Coder
  Delphi Sürümleri hakkında yardım edebilir misiniz? mxpain 10 910 29-07-2024, Saat: 09:38
Son Yorum: RAD Coder



Konuyu Okuyanlar: 1 Ziyaretçi