1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5,00 out of 5)
Loading ... Loading ...

DBX & DataSnap Hakkında Destek Talebi..

Web servisleri hakkında açılan destek talebi ve bu hususa ilgisini eksik etmeyen arkadaşlarımızın varlığı benim de yaşadığım bazı sorunlara istinaden QC’de açtığım başlıklar için sizlerden destek talebinde bulunmama neden oldu.

Bu başlıklar ve linkleri kısaca aşağıdaki gibidir;

TJSONTrue & TJSONFalse Problemi

TJSONTrue ve TJSONFalse sınıfları TJSONValue sınıfından türetilmişlerdir ve TJSONValue sınıfı da TJSONAncestor sınıfından türetilmiştir. TJSONAncestor sınıfı içinde Value isminde virtual olarak tanımlanmış olan bir fonksiyonun; TJSONTrue ve TJSONFalse sınıfları içinde ezilmesi(override) unutulmuştur. Bu bağlamda, TJSONTrue ve TJSONFalse sınıflarından ürettiğiniz nesneler üzerinde Value fonksiyonunu çağırdığınızda maalesef TJSONAncestor sınıfı içinde tanımlı olan Value fonksiyonu çağrılacak ve geri dönüş değeri olarak beklediğiniz “true” yada “false” yerine NullString sabiti yani “” dönecektir.

Raporun linki aşağıdadır:
Görmek için
Oylamak için

TDBXBoolean.SetAsString Problemi

procedure TDBXBooleanValue.SetAsString(const Value : UnicodeString);
begin
SetBoolean(Value <> 'False');
end;

Bu metodun içinde dışarıdan geçilen Value isimli parametrenin karşılaştırılması sırasında bir problem oluşmaktadır. Bu metoda dışarıdan, “false” yada “FALSE” biçiminde geçilen parametreler beklendiği gibi false sonucunu doğurmayıp true ile neticelenmektedir. Metodun doğru implemente edilmiş hali;

procedure TDBXBooleanValue.SetAsString(const Value : UnicodeString);
begin
SetBoolean(UpperCase(Value) <> 'FALSE');
end;

olmalıdır.

Raporun linki aşağıdadır:
Görmek için
Oylamak için

TDBXReader Sınıfı RecordCount Eksikliği

Bilindiği gibi DBX ile veritabanlarından veri çekmek için Command nesnelerinden istifade ediyoruz. Bu Command nesneleride veri setlerini TDBXReader üzerinden bizlere sunuyorlar. Datasnap uygulamaları geliştirirken, uygulamanızın hemen hemen her platformda çalışan bir versiyonunu istiyorsanız muhtemelen JSON sınıfları ile çalışmak isteyeceksiniz. Bu bağlamda metodlarınızın, TDBXReader yerine TJSONObject türevi nesneler döndürmesini isteyeceksiniz. Bu isteğinizi yerine getirmek için muhtemelen TDBXReader’ı bir TJSONObject’e çeviren hazır metodlar kullanacaksınız. Ancak, eğer TDBXReader’ınız içinde hiç bir kayıt yok ise yani boş bir dataset olarak veritabanınızdan döndü ise, bu durumda TDBXReader’ı TJSONObject’e çevirirken bir hata ile karşılaşacaksınız. Bu hatayı bertaraf etmek için TDBXReader’ın içinde kayıt olup olmadığını bilmek isteyeceksiniz. Ancak hepimizin bildiği gibi DBX unidirectional olduğu için böyle bir metodla yada property ile maalesef karşılaşamayacaksınız. TDBXReader üzerinde *while Next* ile dönüp kayıt sayısını bulabilirsiniz ancak bu durumda da TDBXReader’ın son kaydına erişmiş olacak ve başka problemlerle karşılaşacaksınız. Bu bağlamda, TDBXReader üzerinde RecordCount gibi bir property yada fonksiyonun programcılara sunulması son derece faydalı olacaktır.

Raporun linki aşağıdadır:
Görmek için
Oylamak için

Native DBX SQL Server Driver’ı “Application Name” Özelliğini Desteklemiyor Problemi

Bazen SQL Server tarafında uygulamamıza bağlanan kullanıcının kim olduğu bilgisine ulaşmak isteriz. Örneğin pek çoğumuz, veritabanı sunucusunun sunduğu kullanıcı, login imkanlarını kullanıp; GRANT , REVOKE ile o kullanıcıları nesneler üzerinde haklar vermek yerine; Users gibi bir tablo oluşturup kullanıcılarımızı oraya girer ve UserRights gibi tablolarda da hakları belirleriz. Uygulamalarımızda ise programa girerken kullanıcıdan isim ve şifre girmesini bekler, doğruluğunu yine Users tablosunu sorgulayarak yaparız. Durum bu ahvalde iken, SQL Server içinde T-SQL dilini kullanırken, veritabanına hangi kullanıcı ile bağlandığımızı göremeyiz. Dolayısı ile kullanıcı işlemlerini loglamak istediğimizde bunu başaramayız. Ancak; eğer veritabanı sunucusuna bağlanırken connection nesnemiz üzerindeki Connection String’de “Application Name” özelliğine kullanıcı adını yazarsak, SQL Server’da istediğimiz her yerde APP_NAME() T-SQL metodu ile bağlı olan kullanının isim bilgisine erişebiliriz. İşte ADO’da mevcut olan bu fonksiyonalite maalesef native DBX SQL Server driver’ında bulunmuyor.
Not: DevArt’ın driver’ında bu özellik sunuluyor.

Raporun linki aşağıdadır:
Görmek için
Oylamak için

Otomatik Parametre Oluşturma Problemi

Veritabanı tarafında eğer sizde benim gibi sık sık stored procedure kullanıyorsanız ve bu stored procedure’lerinizde birden çok parametreniz var ise TDBXCommand ile bu parametreleri sürekli oluşturmaktan bıkmış olmalısınız. Muhtemelen ADO’daki gibi Parameters.Refresh isimli bir metod neden yok diye içinizi geçirmişsinizdir. Benim buna bulduğum geçici çözümü raporun linkinden takip edebilirsiniz.

Raporun linki aşağıdadır:
Görmek için
Oylamak için

TDBXParameterList & ParamByName Problemi

Pek çoğumuz DBX ile programlamaya başlamadan önce muhtemeldir ki ADO kullanıyorduk. Dolayısı ile alışılagelmiş bazı kullanımlarımız var. Örneğin, ADO üzerinden bir stored procedure’nin parametresine ulaşmak için hepimiz genelde ParamByName fonksiyonunu kullanırız. Maalesef DBX’de bu fonksiyonda yok, onun yerine GetParameterByName isimli bir metod sunulmuş. Evet bu metod istediğimizi yerine getiriyor ama alışkanlıklarımıza pek de uygun olmuyor. Ben bu sorunu bertaraf edebilmek adına geçici bir çözüm olarak helper sınıflardan istifade ettim.

Raporun linki aşağıdadır:
Görmek için
Oylamak için

TDBXParameter.Value & Set.. Metodları Problemi

Yine bir stored procedure’nin parametrelerine değer atamak istediğin,zde muhtemelen Value property’sine başvuracaksınız. TDBXParameter sınıfın Value property’si TDBXWritableValue türünde tanımlanmıştır ve TDBXWritableValue sınıfının birden fazla Set ile başlayan ve nerede ise her veri türü için metodu vardır. Integer tipli bir parametre için SetAsInteger, Double için SetAsDouble, String için SetAsString ve buna benzer metodları çağırmanız gerekir. Bunun yerine TDBXWritableValue sınıfının TValue tipinde bir değişkeni parametre olarak kabul eden bir Set.. metodu olsa idi işimiz ne kadar kolay olurdu değil mi ? Artık SetAsString, SetAsDouble, SetAsInteger metodlarını çağırmak yerine her veri türünü tutabilen SetAsValue metodunu çağırabilirdik. Bu sorunu aşmak için uyguladığım yöntemi raporun linkinden takip edebilirsiniz.

Raporun linki aşağıdadır:
Görmek için
Oylamak için

Burada sizinle paylaştığım sorunları ben bir şekilde aştım sizlerinde linklerden görebileceği gibi. Ancak bu sorunların Delphi içinde düzeltilmesi hepimiz için daha yararlı olacaktır. Bazı raporlarımı sorun olarak adletmeyip belki de istek olarak görebilirsiniz, bu konuda haklı da olabilirsiniz ama bence sorun olabilme ihtimali onlar için bile yüksektir.

Sizlerden ricam sunduğum raporlara oylarınız ile destek vermeniz. Kimbilir belki de önümüzdeki update’de sorunları aşmış olabiliriz sizlerin sayesinde.


Continue Reading...
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5,00 out of 5)
Loading ... Loading ...

Destek Talebi

Delphinin web servis konusunda WS-Security 1.1 , WS-Trust 1.3 , WS-SecurityPolicy 1.2 standartlarina destek vermesi icin asagidaki linkten destek oylarinizi bekliyoruz. (max 10 puan verebiliyorsunuz)

http://qc.embarcadero.com/wc/qcmain.aspx?d=104755


Continue Reading...
1 Star2 Stars3 Stars4 Stars5 Stars (7 votes, average: 4,71 out of 5)
Loading ... Loading ...

XE2 Ile Gerceklesecek Evrime Hazir Misiniz?

Delphi cross platforma destek verecegini soylediginde acikcasi bunu vcl ile yapacagini dusunmustum. mevcut vcl uygulamalarini az bir gayretle cross platforma uygun olacak hale getirip baska platformlar icin derlemek guzel olurdu ama biraz mantikli dusundugumde windowsla bu kadar icice olan bir kutuphanenin bu hale gelmesi pekte mumkun gozukmuyordu. Simdi cross platform icin firemonkey kutuphanesi olusturuldu vcl olmasada delphinin rtl gibi vcl harici kutuphaneleri de cross platformu destekler hale getirildi. Ilk basta pek icacici gibi gorunmesede uzun vadede delphi ile yazilim gelistiren programcilara gercek manada yazilim gelistirmeyi ogretecek bir zorunluluk meydana gelmesi benim acimdan cok sevindirici bir olay oldu.


Continue Reading...
1 Star2 Stars3 Stars4 Stars5 Stars (5 votes, average: 4,00 out of 5)
Loading ... Loading ...

Statik ve dinamik metodlarin garip dunyasi

Uzun zamandir Delphi ile ilgili bir makale , yazi vs. yazmadim. Birkac kere elim gider gibi oldu ama nedense sonunu getiremedim. Delphi ile ilgili yazilar yazdigim blogu kapattim , kisisel blogumda oylesine duruyor cok ellemiyorum. Biryerlerde insanin login olabilecegi baska wordpressler olmasi guzel sey :)

Evet yine belki bir makale yazmadim ama guldururken dusunduren 10 tane soru hazirladim. Sorular statik ve dinamik metodlarin calisma mantiklarini birebir gormenizi saglayan cinsten sorular. Gercekten sorulari teker teker programa koyup calistirip ciktilarina baktiginizda insana cok seyler ogretebiliyor. Hatta sorulardan bir tanesini Access Violatin verecegini dusunurek hazirlamistim , calisitirinca Access violation hatasi vermeyince bir kac saniyeligine sok olmustum :)

Once sorulari bir calistiralim , ciktilara bakalim , sonrasin da ise ciktilarin nasil olupta boyle sonuclar urettigi ile ilgili hep beraber burda kafa patlatalim :)


Continue Reading...
1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 3,33 out of 5)
Loading ... Loading ...

Yazılım Uzmanı Arayışı Hk.

Market sektörüne hitap eden firmamız bünyesinde geliştirilmekte olan projelerimizde yardımcı olabilecek, mevcut projelerimiz üzerinde çeşitli modifikasyonlar yapabilecek takım arkadaşları aramaktayız.

Aranan Nitelikler
—————
* Üniversitelerin Bilgisayar Mühendisliği yada Bilgisayar Programcılığı bölümlerinden mezun.
* İlişkisel veritabanı kavramına aşina, Stored Procedure, Trigger, User Defined Function & T-SQL konusunda bilgi sahibi.
* Delphi programlama dilinde en az 2 yıl tecrübe sahibi, OOP terminolojisine hakim.
* İstanbul’da ikamet eden.

Yukarıdaki nitelikleri taşıdığına inanan arkadaşlarımızın ozen@sekompos.com mail adresine CV’lerini göndermeleri rica olunur.


Continue Reading...
1 Star2 Stars3 Stars4 Stars5 Stars (31 votes, average: 3,32 out of 5)
Loading ... Loading ...

Yeni Veri Tipleri ve Operator Overloading

Bir önceki makalemizde Interface’ler ile ilgili bilgi vermiş ve Operator Overloading namı diğer operatör aşırı yükleme hususuna değineceğimizden bahis açmıştık. Bu makalemizde; Operator Overloading hakkında yazacağız ve .Net framework’te olduğu gibi çalışan yeni bir String ve DateTime veri türü oluşturacağız. Ancak öncelikle, aslında hepimizin bildiği operatör kavramına bir göz gezdirmekte fayda var sanırım.

Operatörler; belirli veri türleri arasında ilişki kuran, onları bir sonuca ulaştıran yapılardır. Hemen hemen hergün kullandığımız aritmetik işlemlerdeki toplama(+), çıkartma(-), çarpma(*) ve bölme(/) işlemlerini ifade ettiğimiz simgeler; yada mantıksal işlemlerde kullandığımız or(veya), and(ve), not(değil) vb. gibi simgesel ifadelere operatörler denilebilir. Bildiğiniz gibi; operatörler veri türleri üzerinde üstlerine düşen mantıksal yada matematiksel işlemleri yaparak bir sonucun üretilmesini sağlarlar. Operatörlerin bu vazifelerini, gerek günlük yaşantımızda; gerekse de programlama hayatımızda sıklıkla kullanırız. Programlama ortamlarında yaşadığımız tecrübeler gereği operatörlerimizi düzgün veritipleri ile kullanırız. Örneğin toplama operatörü; sağındaki ve solundaki verilerin toplanması amacına hizmet eder. Ancak; toplama operatörünün sol ve sağındaki değerlerin sayısal olması yada alfasayısal olması durumlarında toplamanın neticesi farklılık arzeder. Basit bir örnek verelim;

var
  iLeft, iRight, iTotal : Integer;
  sLeft, sRight, sTotal : String;
begin
  iLeft := 10;
  iRight := 20;
  iTotal := iLeft + iRight;

  sLeft := 'Operator ';
  sRight := 'Overloading';
  sTotal := sLeft + sRight;
end;

Yukarıda gördüğünüz basit örnekte, aynı operatör(+) farklı sonuçlara hizmet etmektedir. Birinci durumda sonucumuz “30″ olurken; ikinci durumda sonuç “Operator Overloading” olmaktadır. Hemen hemen hiçbirimiz; iki farklı veri türünü aynı operatöre vermeyiz. Örneğin hiçbirimiz; bir sayı ile bir string ifadeyi toplamayız. Ancak bazı durumlarda, bir veri türü ile bir başka veri türünü herhangi bir operatöre vererek işlemek isteyebiliriz. Bu gibi durumlarda, genellikle derleyicimiz bizleri uyaracak bir warning vermekle yetinir. Ancak bazı durumlarda yaptığımız işlemlerde beklediğimizin dışında sonuçlar gördüğümüz de olur. Örneğin;

var
  bLeft, bRight, bTotal : Byte;
  wLeft,wRight,wTotal : Word;
begin
  bLeft := High(Byte); // 255
  bRight:= High(Byte); // 255
  bTotal:= bLeft + bRight; // ??

  wLeft := High(Word); // 65.535
  wRight:= High(Word); // 65.535
  wTotal:= wLeft + wRight; // ??
end;

Continue Reading...
1 Star2 Stars3 Stars4 Stars5 Stars (5 votes, average: 2,80 out of 5)
Loading ... Loading ...

Interface Nedir, Nerelerde ve Neden Kullanırız ?

Şu son bir kaç gündür, Delphi 2010 ve getirdiği yenilikler ile ilgileniyorum. Bu bağlamda; Generic Liste sınıfları ve bu liste sınıflarının özelleştirilmesi ve çeşitli yeteneklerle zenginleştirilmesi üzerine geliştirmeler yapıyorum. Sizlerle bu yaptıklarımı paylaşabilmem için öncelikle bazı temel hususları izah etmek gerektiğini düşündüm. Bu bağlamda; ilk olarak Interface’ler hakkında bir makale, ardından operator overloading konusu ve nihayet generic’ler ve kendi kendini yoketme becerisine sahip bazı özel mekanizmaları işleyeceğiz. Aslında tüm bu hususlara girmeden, özetle nelerin yapılabileceğini paylaşıp örneğimi verebilir ve geçebilirdim. Ancak bu yaklaşım tarzı; benim programlamaya bakış açıma aykırı olduğu ve sizlere pek bir şey kazandıracağına inanmadığım için kendi adıma zor olanı seçip, mümkün mertebe en derinlere kadar inmeye gayret edeceğim.

Hedefimize ilerlerken ilk durağımız olan Interface’lerde biraz durup soluklanalım ve bu kavramın ne olduğu yada ne olmadığı; neleri başarıp neleri başaramayacağı; neden var olduğu ve nerelerde kullanabileceğimiz hakkında nacizane bilgilerimiz ile konunun karanlık köşelerine ışık tutmaya gayret edelim.

Interface kelimesi dilimizde genellikle “Arayüz” yada “Arabirim” olarak kullanılmaktadır. Pek çok programcımız için Interface’ler ya çok basit bir yapı olarak ya da COM programlamanın fıtratı gereği çok karmaşık bir yapı olarak algılanır. Aslında her ikisi de doğrudur. Yapısal görünümü itibari ile son derece basit görünen Interface’ler aslında yapabildikleri ve nasıl yaptıkları itibarı ile de son derece kompleks yapılardır. Bir interface görünüm ve yapı itibari ile bir sınıfa çok benzer. Ancak elbette bu makaleye konu olan pek çok farklılıkları da mevcuttur. Arzu ederseniz makalemizde ilerlemeden önce çok basit bir interface tanımının Delphi’deki yapısını görelim ve ardından ilerlemeye devam edelim:

  IFlyable = interface
  end;

Gördüğünüz gibi bir sınıf tanımına son derece benziyor. Ancak bazı farklılıkları var. IFlyable(uçabilen) arabiriminin tanımlamasında “class” ayrılmış sözcüğü yerine “interface” sözcüğünün geçtiğini gözlemliyoruz. Şu anda gözlemleyebildiğimiz başka bir fark bulunmuyor. Aslında interface’ler özet sınıf adını verdiğimiz abstract sınıflara çok benzerler. Abstract sınıflar, kendisini miras alacak sınıflar için ileride kullanılmasının zorunlu olduğu metodların birer özetlerini içerirler. Ancak bu sınıflar aynı zamanda gerçek kod bloklarına da ev sahipliği yapabilirler. Interface’lerin ve abstract(özet) sınıfların ortak özellikleri; kendilerini kullanacak olan alt sınıflarda tanımlanması gereken metodların şablonlarına ev sahipliği yapmaktır.


Continue Reading...
1 Star2 Stars3 Stars4 Stars5 Stars (13 votes, average: 3,31 out of 5)
Loading ... Loading ...

Derinlemesine Threading..(3)

Threading ile ilgili bir önceki makelemizde Event ve WaitableTimer senkronizasyon mekanizmalarını anlatmış ve konuya ışık tutabilmesi adına örnekler paylaşmıştık. Makalemizin sonunda ise; bir thread’i normal yollarla durdurabilmek için(TerminateThread API’sini kullanmadan) bir makale yazacağımdan bahsetmiştim. Bu makalemizin konusu verdiğim söz gereği; bir thread’i sonlandırma seçenekleri ile ilgili olacak.

Ancak, sizlerden ricam bu makalede ilerlemeden önce Threading ile ilgili yazılmış olan diğer makaleleride okumanızdır. İlgili makalelere aşağıdaki linklerden erişebilirsiniz:

Nedir bu Thread’lerden çektiğimiz..!
Derinlemesine Threading..(1)
Derinlemesine Threading..(2)

Şimdi tüm bu makaleleri okuduğunuzu ve threading hakkında fikriniz olduğunu varsayarak, bir thread’i neden durdurmak isteyebileceğimizi ve karşımıza ne gibi sorunların çıkabileceğini biraz izah etmeye çalışalım. Bildiğiniz gibi thread’leri genellikle paralel programlama yapabilmek, iş yükünü dağıtabilmek, ana uygulamamızın kilitlenmesine mani olabilmek adına kullanırız. Ve bazen, thread’lerimizin içindeki kodlar uzun süreli ve hatta kullanıcı ile interaktif çalışıyor da olabilir.

Bazı durumlarda, yazdığımız thread’lerin içinde çalışan kod bloklarını sonlandırmak isteriz. Buna sanırım en güzel örnek, veritabanına bağlanıp büyük bir sonuç seti çekmeye çalıştığımız zamanlarda programımızın kullanıcısının isteği ile rapor alımını durdurmak verilebilir.

Pek çok programcı bu gibi durumlarda, çalışan thread’ini durdurabilmek için TThread sınıfının Terminated özelliğini kontrol eder. Terminated’in true olması durumunda thread çalışma kodundan çıkılmasını sağlar. Buna küçük bir örnek verebiliriz;

procedure TMyThread.Execute;
begin
  inherited;

  while not Terminated do
  begin
     //...
     //...
  end;
end;

Yukarıdaki örnek, sıklıkla kullanılan çok genel bir örnektir. Malumunuz olduğu üzere; TThread sınıfının Terminate metodu bir thread’i durdurma işini yapmaz. Terminate metodu; Terminated isimli property’nin True olarak set edilmesini sağlar. Programımız içerisinde herhangi bir yerde TThread sınıfının Terminate metodunun çağrılması yukarıdaki kod örneği için ilgili thread’in sonlanması anlamını taşır.

Buraya kadar anlattıklarımızda bir sıkıntı ve bu makaleye hayat verecek bir neden de yok gibi görünüyor. Ancak; bizler her zaman thread’lerimiz içinde yukarıdaki kısa kod örneğinde olduğu gibi Terminated property’sinden istifade edemeyiz. Bu hususta da kısa bir örnek verip devam etmek sanırım daha açıklayıcı olacaktır:


Continue Reading...
1 Star2 Stars3 Stars4 Stars5 Stars (Henüz Puan Verilmedi)
Loading ... Loading ...

SQL’de Benzerlik Algoritmaları…

EDIT DISTANCE

Aşağıdaki 2 fonksiyon size stringler arasındaki benzerlik oranlarını vermekte en benzer olanların sonuçları en küçük olanlar çıkacaktır. Yani fark arttıkça dönen sayı artmakta bunu unutmayın.


Continue Reading...
1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 3,00 out of 5)
Loading ... Loading ...

Full Text Searching…

Full-Text Search ile Arama İşlemleri

Full Text Search servisi ile SQL Server”da karakter bazlı alanlarda arama yapılarak daha verimli arama sonuçları elde edilebilir, ancak arama yapılacak olan alanlar üzerinde ilk olarak Full-Text Index”ler tanımlanmalıdır. Full Text Index”ler belirtilen alanın verisini fiziksel olarak belirtilen alana indeksleyerek bu alan içerisinde arama yapılmasını kolaylaştırır. Full Text Index tanımlamak için indeksin tanımlanacak olduğu tablo üzerine sağ tıklayarak Full Text Index seçeneği üzerinden Define Full Text Index seçeneği seçilmelidir. Full-Text Index tanımlarken bu Full-Text Indexler”in gruplanacağı yeni bir Full-Text Catalog tanımlanacağı gibi var olan bir kataloga da eklenmesi sağlanabilir. Full-Text Index tanımlanırken dikkat edilmesi gereken bir nokta da indeksin tanımlanacak olduğu tabloda en azından bir tane UniqueKey tanımlanmış olması gerekliliğidir. Tabi bu ayarı yapabilmek için DataBase”de Full Text Indexing özelliğinin aktif olarak ayarlanmış olması gerekmektedir. Eğer üzerinde arama yapılmak istenilen DataBase”in Full-Text Indexing özelliği aktif değilse DataBase”in özelliklerinden Files bölümünde bulunan CheckBox seçili hale getirilerek aktif yapılabilir. Full-Text Index”ler char, varchar, text, ntext, nchar ve nvarchar veri tipinde tanımlanmış olan alanlar üzerinde tanımlanabilir ve Full Text Search servisi bu alanlarla kullanılabilir.
Arama yapılacak olan sütun ya da sütunlar üzerinde Full-Text Search servisi kullanılarak arama yapmak için kullanılabilecek bir kaç farklı SQL sözcüğü vardır bu yazımda bunlardan CONTAINS ve FREETEXT sözcükleri üzerinde örnekleme yapıyor olacağım.


Continue Reading...
  • Plugin WP FlashTime by horoscop 2009.org requires Flash Player 8 or better currency converter calculator.Plugin creat de horoscop | horoscop saptamanal | horoscop zilic | horoscop | play sonic games

    Get Adobe Flash player
  • Etiketler

    Absolute Abstract Classes ActionScript Algoritma API Bug Byte Arrays Class Reference CloseHandle COM CreateDesktop CreateEvent CreateMutex CreateProcess CreateRemoteThread CreateSemaphore CreateToolHelp32SnapShot CreateWaitableTimer DeleteCriticalSection Delphi delphi 2010 DTS dynamic EnterCriticalSection EnumDesktopProc EnumDesktops Flash Function Pointer GetCurrentProcess GetIconInfo GetKeyState GetLastInputInfo GetProcessMemoryInfo GetStartupInfo GetThreadContext GetTickCount GetTickCount64 Hacking Inheritance InitializeCriticalSection Interface InterlockedCompareExchange InterlockedDecrement InterlockedExchange InterlockedExchangeAdd InterlockedIncrement JavaScript LeaveCriticalSection Method Pointer Module32First Module32Next MSSQL OpenDesktop OpenEvent OpenMutex OpenSemaphore OpenWaitableTimer Operator Overloading override Persistance Pointer Procedure Pointer Process Process32First Process32Next Query QueryInterface QueryPerformanceCounter Queue ReleaseMutex ReleaseSemaphore Reqursion ResetEvent ResumeThread RTTI SetEvent SetProcessWorkingSetSize SetThreadContext SetWaitableTimer Smilarity SORT SQL SQL Server static Stream SuspendThread SwitchDesktop TDateTime TerminateProcess TerminateThread Thread TInterfacedObject TValue Untyped Parameters virtual VirtualAllocEx VirtualFreeEx WaitForMultipleObjects WaitForSingleObject Weaver web service WriteProcessMemory ws-security WS-SecurityPolicy ws-trust _AddRef _Release

    WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.

  • Son Yorumlar
  • Son Yazılar
  • Kategoriler
  • Takvim
    Mayıs 2012
    Pts Sal Çar Per Cum Cts Paz
    « Nis    
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
  • Arşivler
  • Ziyaretçi Bilgileri
    Ziyaret: 136 / 9769
  • Beğenilenler
  • Meta
  • Etiketler-Liste
  • RSS Delphi About
  • Sık Ziyaret Edilenler
  • Oylama..

    Sitedeki makaleleri yararlı buluyor musunuz ?

    View Results

    Loading ... Loading ...

    Delphi'nin hangi sürümünü kullanıyorsunuz ?

    View Results

    Loading ... Loading ...