Hoşgeldin Misafir
Mesaj atabilmek için forumumuza kayıt olmalısınız.

Kullanıcı Adı
  

Şifre
  





Forumlarda Ara

(Gelişmiş Arama)

Forum İstatistikleri
» Üye Sayısı: 149
» En Son Üyemiz: narkotik
» Konu Sayısı: 31
» Mesaj Sayısı: 72

Tam İstatistik

Çevrimiçi Kullanıcılar
Şu anda 4 çevrimiçi kullanıcı var.
» 2 üye | 2 Misafir
Higmadip, vampisee

En Son Konular
Lazreport pdf çıktısında ...
Forum: Raporlama
Son Mesaj: admin
10-11-2017, 07:57 AM
» Cevaplar: 8
» Gösterim: 1,962
sdposerial component kuru...
Forum: Genel
Son Mesaj: run
10-01-2017, 07:42 AM
» Cevaplar: 2
» Gösterim: 1,298
Jalv2 - Dizi Tanımlamalar...
Forum: JalV2
Son Mesaj: SercanTEK
09-29-2017, 10:27 AM
» Cevaplar: 0
» Gösterim: 1,184
Jalv2 - Sabitler
Forum: JalV2
Son Mesaj: SercanTEK
09-29-2017, 10:24 AM
» Cevaplar: 0
» Gösterim: 355
Jalv2 - Değerlerin Göster...
Forum: JalV2
Son Mesaj: SercanTEK
09-28-2017, 06:17 PM
» Cevaplar: 0
» Gösterim: 190
Elera İşletim Sistemi (el...
Forum: İşletim Sistemi
Son Mesaj: SercanTEK
09-27-2017, 09:27 PM
» Cevaplar: 1
» Gösterim: 1,319
F1 Led Stop Çakar Devresi...
Forum: Örnek Uygulamalar
Son Mesaj: SercanTEK
09-27-2017, 09:24 PM
» Cevaplar: 0
» Gösterim: 711
Jalv2 - Değişkenler
Forum: JalV2
Son Mesaj: admin
09-27-2017, 08:53 PM
» Cevaplar: 1
» Gösterim: 262
Zeoslib Kurulumu
Forum: Zeoslib
Son Mesaj: admin
09-25-2017, 07:53 AM
» Cevaplar: 0
» Gösterim: 131
Temel Sorgular
Forum: Veritabanı
Son Mesaj: admin
09-25-2017, 07:51 AM
» Cevaplar: 1
» Gösterim: 985

 
  Pagecontrol içerisine diğer formlar nasıl eklenir?
Gönderen: soncizgi - 08-16-2017, 11:19 AM - Forum: Genel - Cevaplar (2)

Arkadaşlar diyelim 5 adet form oluşturdum. diğer 4 adet formu 1. form üzerindeki pagecontrol nesnesi içerisinde nasıl ekleyebilirim?
Rolleyes


Çözümü buldum. belki başka birininde işine yarar diye burada paylaşıyorum.


Kod:
uses ...unit2,unit3...

procedure TForm1.FormCreate(Sender: TObject);
begin
if not Assigned(Form2) then
  Form2 := TForm2.Create(TabSheet1);
Form2.Align := alClient;
Form2.Parent := TabSheet1;
Form2.BorderStyle := bsNone;
Form2.Show;

if not Assigned(Form3) then
  Form3 := TForm3.Create(TabSheet2);
Form3.Align := alClient;
Form3.Parent := TabSheet2;
Form3.BorderStyle := bsNone;
Form3.Show;
...
end;

Bu öğeyi yazdır

  Rapora dışardan değişken ve değer gönderme
Gönderen: soncizgi - 08-12-2017, 09:08 PM - Forum: Raporlama - Cevap Yok

LazReporta dışardan değişken göndermek için farklı yöntemler mevcut. Sizinle bir tane değişken ve değer gönderme işleminin nasıl yapıldığını paylaşmak istedim. Belki ileride birilerinin işine yarar.

Raporu listelerken kullandığımız kod kısmına şöyle bir ek yapmamız yeterli olacaktır.

Kod:
form1.frReport1.LoadFromFile('r_sadeListe.lrf');
   frVariables['deneme'] := edit1.Text;
   form1.frReport1.ShowReport;  
bu deneme değişkenini raporda göstermek için memo nesnesi ile kutu ekleyip içerisine köşeli parantez içerisinde [deneme] yazmak yeterli olacaktır.
Not: uses kısmında LR_Class kütüphanesinin ekli olduğuna emin olun.

Bu öğeyi yazdır

  Elera İşletim Sistemi (eleraos)
Gönderen: elera - 08-11-2017, 02:48 PM - Forum: İşletim Sistemi - Cevaplar (1)

Uzun zamandan beri geliştirilmesi devam eden, kodlamalarının pascal'da geliştirildiği "Elera İşletim Sistemi"nin (eleraos) çekirdek (kernel) / program / rtl kaynak kodları ve diğer döküman bilgilerini, işletim sistemi tasarımı ile ilgilenen tüm arkadaşlar aşağıdaki bağlantıdan inceleyebilir / katkıda bulunabilirler.

[Resim: mod_gui.png]

https://bitbucket.org/elera0/eleraos/

Fatih KILIÇ (Elera)

Bu öğeyi yazdır

  Ders 2 - Kullanıcı Giriş Ekranı Yapmak
Gönderen: admin - 07-25-2017, 10:17 PM - Forum: Lazarus - Cevap Yok

Ders ile ilgili soru / cevaplarınızı bu konu altında tartışabiliriz.

Bu öğeyi yazdır

  Lazarus'da Z-Order Bug'ı
Gönderen: admin - 07-25-2017, 02:14 PM - Forum: Genel - Cevaplar (1)

Merhaba arkdaşlar, 
Lazarus'da Tlabel bileşenini z-order ile tedit ya da başka bir bileşenin üstüne getirmeye çalışlıyorum ama başarılı olamadım. Anladığım kadarıyla da böyle bir bug varmış. Konu ile ilgili bilgisi olan varmı ?

Bu öğeyi yazdır

  Ders 1 - Kullanıcı Giriş Ekranı Yapmak
Gönderen: admin - 07-19-2017, 11:20 AM - Forum: Lazarus - Cevap Yok

Kullanıcı Giriş Ekranı Yapmak 
Ders ile ilgili soru / cevaplarınızı bu konu altında tartışabiliriz.

Bu öğeyi yazdır

  Bir web sitesinden bilgi çekmek?
Gönderen: soncizgi - 07-12-2017, 09:52 AM - Forum: Genel - Cevaplar (2)

Arkadaşlar bir web sitesinden bilgi nasıl çekilir.
1- Bu bilginin yazı veya resim olması farkeder mi?
2- Birde arkadaşlar şifre ile giriş yapılan bir sitede ki bir resim dosyası nasıl çekilir?

Bu öğeyi yazdır

  Free Pascal/Lazarus ile SDL Grafik OpenGL kullanımı
Gönderen: DuraliKiraz - 07-09-2017, 08:54 PM - Forum: OpenGL - Cevap Yok

Simple DirectMedia Layer (SDL), 1998 yılında Sam Lantinga tarafından geliştirilmeye başlanmış açık kaynak bir grafik kütüphanesidir. Linux ve windows gibi birçok platform için kod geliştirebilme yeteneğine sahiptir. Üstelik bir değişiklikte yapmanız gerekmiyor. Bu kütüphane ilk olarak C dili için geliştirilmiş olup daha sonraları C++, Perl, Python ve Pascal için uyarlamaları yapılmıştır. Bizdeş şu anda Free Pascal da kullanımını dilimiz döndüğünce giriş niteliğinde anlatmaya çalışacağız.


Ben ubuntu-linux kullandığım için ubuntu üzerinde anlatımını yapacağım. Ancak windows üzerinde kullanımı hemen hemen aynıdır. Sonuçta indirdiğiniz başlık dosyalarını aynı şekilde fp ide yada lazarus ide ye referans gösteriyorsunuz. Ve kullanıyorsunuz.


1- Lazarus kurulumu:


https://www.lazarus-ide.org/ adresinden 3 adet deb uzantılı dosya indirilir. Sırayla “fpc_*”, “fpc-src-*” ve “lazarus-*” ile başlayan deb dosyaları terminal penceresinde kurulur.


Kod:
sudo dpkg -i fpc_3.0.2-170225_amd64.deb
sudo dpkg -i fpc-src_3.0.2-170225_amd64.deb
sudo dpkg -i lazarus-project_1.6.4-0_amd64.deb

Bu yukardaki kurulumlarda eğer karşılanamayan bağımlılık hatası verirse hemen aşağıdaki kodu terminalden uygularız.

Kod:
sudo apt-get -f install


Son komut ile kurum tamamlanmış olur.



2- SDL Yüklemesi:


2.1- SDL Başlık dosyalarının Yüklenmesi:


https://github.com/ev1313/Pascal-SDL-2-Headers adresinden free pascal içerisinde sdl2.dll fonksiyonlarının tanımlarının olduğu başlık dosyaları zip olarak indirilir. Bu zip dosyası örneğin /home/durali/Belgeler dizini içine açılır. Lazarus içinden kullanılmak için “proje->proje seçenekleri->Compiler Options->Paths->Other Unit Files” kısmında bu başlık dosylarının yolu eklenir. Artık sdl başvurularını kod içinde hatasız bir şekilde yapabiliriz.


2.2- SDL Kitaplığının işletim sistemine (Ubuntuya) yüklenmesi:


SDL kitaplığı dediğimiz windows sistemlerinde dll uzantılı dosyaların linuxteki karşılığı olan so uzantılı “dinamik bağlantı kitaplık” dosyalarıdır. Zaten başlık dosyalarımızda bu kitaplık dosyaları ile bir nevi köprü oluşturur. Yüklemesi için terminal penceresi açılarak aşağıdaki satırdaki kodlar uygulanır.


Kod:
sudo apt-get install libsdl2*



SDL ile ilgili ne kadar geliştirme dosyaları varsa bu komut ile yüklenecektir.




3- SDL ile ilgili kodların lazarusta test edilmesi.


Bunun için aşağıdaki kodu boş bir proje yada pas dosyası içine yapıştırıp derlemeyi yapınız. Eğer düzgün derlendiği mesajını görüyorsanız kod doğru çalışıyor demektir.

Kod:
program project1;
uses
 SDL2;


begin

 //initilization of video subsystem
 if SDL_Init( SDL_INIT_VIDEO ) < 0 then HALT;

 //your SDL2 application/game


 //shutting down video subsystem
 SDL_Quit;

end.
 

Bu aşamalardan sonra hatasız bir şekilde SDL kitaplığı ile grafik yapmaya başlayabilirsiniz. Grafik programlama ne işimize yarar sorusuna en iyi cevap oyun programcılığı olacaktır. OpenGL in gücünü donanım aygıtlarınıza (grafik, ses, joystick vs.) doğrudan erişim sağlayarak hissetmenizi sağlayacaktır. Hatta diyebilirimki ufaktan oyun programcılığına merakınız varsa bunu SDL kitaplığı iyi bir şekilde sağlayacaktır. Şu da unutulmamalıdır ki bu bahsedilenler küçün oyun programcıkları için geçerlidir. Daha büyük oyunları da SDL ile yapabilirsiniz elbette. Ancak bu işler için oyun motoru dediğimiz devasa ide yapıları mevcuttur. Kısaca benim söyleyebileceklerim bunlardır. Zaten amacımda free pascal da bunun nasıl yapılabildiğiniz başlangıç düzeyinde anlatmaktı.


Size daha anlam ifade etmesi için aşağıdaki mini projeyide sunuyorum.


Bir dizin oluşturun. Misal oyun1 diye. İçine bir adet adı “fpsdl.bmp” olan bir bitmap dosyasını bir resim programıyla(pinta gibi) oluşturun. Lazarusta yeni bir konsol projesi yada boş bir dosya içine şu kodları yapıştırın.


Kod:
program project1;


uses SDL2, SDL2_image;


var
 sdlWindow1 : PSDL_Window;
 sdlRenderer : PSDL_Renderer;
 sdlTexture1 : PSDL_Texture;


begin

 //initilization of video subsystem
 if SDL_Init( SDL_INIT_VIDEO ) < 0 then HALT;


 sdlWindow1 := SDL_CreateWindow( 'Window1', 50, 50, 500, 500, SDL_WINDOW_SHOWN );
 if sdlWindow1 = nil then HALT;


 sdlRenderer := SDL_CreateRenderer( sdlWindow1, -1, 0 );
 if sdlRenderer = nil then HALT;


 sdlTexture1 := IMG_LoadTexture( sdlRenderer, 'fpsdl.bmp' );
 if sdlTexture1 = nil then HALT;
 SDL_RenderCopy( sdlRenderer, sdlTexture1, nil, nil );
 SDL_RenderPresent (sdlRenderer);
 SDL_Delay( 2000 );


 SDL_DestroyTexture( sdlTexture1 );
 SDL_DestroyRenderer( sdlRenderer );
 SDL_DestroyWindow ( sdlWindow1 );


 //shutting down video subsystem
 SDL_Quit;

end.


Bu kod ile oluşturulan bir pencere içersinde resim dosyamızın doğrudan grafik donanımına erişerek gösterilmesi hedeflenmiştir. Oluşturulan bu pencere 2 sn kadar gösterildikten sonra kapatılmaktadır. Bmp uzantılı dosyanız ile kod dosyasının aynı dizin içinde olmasına dikkat edin. Eğer herşeyi doğru yaptıysanız resim dosyanızı 2 sn görebiliyor olmalısınız.


Son olarak bu konuda en baba çalışmayı yapmış youtube rumuzu “badsectoracula” olan kişi tarafından çekilmiş 5 saatlik hızlandırılmış bir video var. Bu video free pascal da bir oyun nasıl yazılır sdl kullanarak anlatmış.


https://www.youtube.com/watch?v=hPmJB0mS-GA&t=5534s


Benden bu kadar. Aşağıdaki kaynaklara göz atmayı unutmayınız. Allah a emanet olunuz..


Muvaffakiyet Allahtandır.”

Kaynaklar:
* https://sourceforge.net/projects/lazarus...s%201.6.4/
* duralikiraz.blogspot.com

Bu öğeyi yazdır

  Lazreport pdf çıktısında türkçe karakter sorunu
Gönderen: soncizgi - 07-08-2017, 07:07 AM - Forum: Raporlama - Cevaplar (8)

Arkadaşlar lazreport ile veriler düzgün görünürüken, raporu pdf çıktısı olarak almak istediğimde türkçe karakterler düzgün çıkmıyor. Bu sorunu nasıl çözebilirim?
[Resim: ERRJLZ.png]

Bu öğeyi yazdır

  Lazarusta kaynak(resource) dosya kullanımı
Gönderen: DuraliKiraz - 07-06-2017, 09:19 AM - Forum: Genel - Cevap Yok

Lazarusta da delphi de olduğu gibi kaynak dosya kullanımı vardır. Sıkıntı çıkaran kısımlar windows kaynak dosyalarının linux tarafında ufak tefekte olsa uyumsuzluğunun olabilmesidir. Ancak lazarusun kendi kaynak dosya kullanım sistemini kullanırsanız hem windows hemde linux tarafında (osx tarafında da) çapraz platform uyumluluğu içinde rahatlıkla kullanabilirsiniz. Bu yazımızda lazarus-->tools dizini altındaki “lazres” uygulaması ile birden fazla raw dosyayı kaynağa gömüp kullanımını anlatmaya çalışacağız. Anlatacaklarımız hem windows hemde linux tarafında benzer şekilde uygulanabilir işlemlerdir.


İlk olarak iki tane örnek olması açısından gömeceğimiz dosyaları seçelim. Biz burada “kitap1.xlsx” çalışma kitabı ile “Dokuman1.odt” dosyasını seçtik. Bu dosyaların “lrs” uzantılı dosyasını oluşturalım. Biz bu dosyayı programımızın derlemesinde kaynak dosya olarak kullanacağız.


Linux için terminal penceresinde


Kod:
/usr/share/lazarus/1.6.4/tools$ ./lazres /home/kaynakproje/resourcedosyam.lrs /home/kaynakproje/Kitap1.xlsx /home/kaynakproje/Dokuman1.odt



windows için komut satırında

Kod:
c:\lazarus\tools\lazres.exe c:\kaynakproje\resourcedosyam.lrs c:\kaynakproje\kitap1.xlsx c:\kaynakproje\Dokuman1.odt



yazıp enterlıyoruz. Karşımıza aşağıdaki gibi bir pencere gelecek. (linux dosya sistemindeki görüntüsü aşağıdaki gibidir)

Kod:
/home/ResourceProjesi/Kitap1.xlsx ResourceName='Kitap1' Type='XLSX'
/home/ResourceProjesi/Dokuman1.odt ResourceName='Dokuman1' Type='ODT'


windows kullanıyorsanız sonuç görüntüsü şu şekilde olur;

Kod:
c:\ResourceProjesi\Kitap1.xlsx ResourceName='Kitap1' Type='XLSX'
c:\ResourceProjesi\Dokuman1.odt ResourceName='Dokuman1' Type='ODT'

Böylece nihayet iki dosyayı da içinde barındıran “resourcedosyam.lrs” kaynak dosyamızı oluşturmuş olduk.


Yukardaki işlemlerde iki dosyayı ayrı ayrı yazıp göstermek yerine dosyaların listesinin olduğu bir text dosyasını bunların yerine yazmış olsaydık yine aynı işi yapmış olurduk. Hatta bu liste gösterme şekli çok sayıda dosya olduğunda mantıklı bir işlem olacaktır.


Kod:
Lazres resourcedosyam.lrs dosyalistesi.txt



Bundan sonraki aşamada programımız içinden bilgisayarımızda istediğimiz herhangi bir yere bu iki kitap1.xlsx ve Dokuman1.odt dosyalarımızı oluşturalım.


* Lazarusu açıyoruz
* Yeni bir boş proje oluşturuyoruz.
* unit1.pas dosyasının uses kısmına “Lresources” ifadesini ekliyoruz.
* unit1.pas dosyasının en altındaki “end.” ifadesinden önce

Kod:
initialization
  {$I resourcedosyam.lrs}


ifadesini ekliyoruz.


* formun üzerine bir buton atalım ve onclick olayına aşağıdaki ifadeleri yazalım.

Kod:
procedure TForm1.Button1Click(Sender: TObject);
var
 SList: TStringList;
 Res: TLResource;
 Veri: String;
begin
  Slist:= TStringList.Create;

  Res:= LazarusResources.Find('Kitap1');
  if Res= nil then Raise Exception.Create('Kitap1 kaynakta yok');
  Slist.Add(Res.Value);
  Slist.SaveToFile('Kitap1.xlsx');

  Res:= LazarusResources.Find('Dokuman1');
  if Res= nil then Raise Exception.Create('Dokuman1 kaynakta yok');
  Slist.Add(Res.Value);
  Slist.SaveToFile('Dokuman1.odt');


  Slist.Free;
end;


Bu kod çalıştırıldığında exenin içine gömülü durumdaki 2 adet kaynak dosyasını exenin bulunduğu yere müstakil olarak oluşturur. Bunun yanında resource deki image dosyalarına erişim ve işlem yapmak daha pratiktir. Aşağıdaki kaynakta bu işlem güzel bir şekilde anlatılmıştır.

Durali Kiraz
duralikiraz.blogspot.com
06.07.2017




Kaynak:
* http://wiki.freepascal.org/Lazarus_Resources
duralikiraz.blogspot.com

Bu öğeyi yazdır