logo Unutmayayım diye yazdıklarım...


Logo Unity API (Lobject.dll)

04.10.2009 tarihinde oğuzhan tarafından yazıldı.

En son geliştirdiğim CMS projesinde web üzerinden gerçekleşen olayların (sipariş, kredi kartı işlemi, yeni kullanıcı gibi) Logo programına aktarılması özelliğini eklerken Logo ile tanıştım. Gayet güzel, belirli disiplinlere göre yazılmış bir ERP programı Logo.
Logo'da ki belirli modüllere nasıl verileri aktarırız diye düşünürken Logo'nun COM+ olarak dağıtılan API'sinin olduğunu keşfettik ve projemize logo entegrasyonunu bu API ile gerçekleştirmeye karar verik. Gerçi başka şansımızda yoktu hani ;)

API'yi kullanmaya karar verdikten sonra yaşadığımız ilk sıkıntı döküman ve kullanım ile ilgili çeşitli örneklerin çok kısıtlı olması oldu. Bu duruma hayret ederken meğerse işin görünmeyen kısımlarınında var olduğunu öğrendik. Logo bu API'yi sadece çözüm ortaklarına veriyormuş ve çözüm ortağı olabilmek içinde Logo tarafından verilen API eğitimini alıp, eğitim sonunda yapılacak sınavdan'da en az 70 (Kesin bir bilgi değil bir çözüm ortağından duydum.) almanız gerekiyormuş. Daha sonra bu API'yi kullanmaya hak kazanıyormuşuz.

Birde işin Lisanslama tarafı var. Logo paketine API'nin kullanılması için ek bir lisans alınması gerekiyormuş. Ayrıca bu API'yi kullanarak bir yazılım geliştiriyorsan birde Geliştirme Lisansı alıyormuşsun (sanırım 500$ civarındaydı) ve sonra yasal olarak bu API'yi kullanabiliyorsun.

Başka bir enteresan nokta ise Logo API sadece logo'nun çalıştığı makina üzerinde iş görüyor ve logo'ya bağlantı sağlıyor. Başka bir sunucu üzerinde çalıştıramıyorsunuz. Biz tasarlarken internet üzerindeki ki sunucumuzda bu api'yi kullanıp uzaktaki logo'ya api ile bağlanıp kullanırız diye düşünmüştük ama olmadı.. (Gerçi teknik olarak başka bir makina üzerinde 'de çalıştırabiliyorsun gerekli düzenlemeleri yaptıktan sonra ama biraz illegal oluyor.)

API son derece başarılı ve kullanımı kolay (Yazının ilerleyen kısımlarıda bir kaç örnek değineceğim) bir Nesne olarak tasarlanmış ve full xml desteği var, ayrıca veritabanından bağımsız olarak çalışıyor ve API'deki gerekli nesneleri kullanırsanız sizin yazdığınız programınızda veritabanı bağımsız çalışmış oluyor. Benim burda dikkatimi çeken ve hoşuma gitmeyen şey ise Çözüm Ortaklarının (Tabi hepsi değil benim karşılaştıklarım) bu API'ye bir öcü gibi bakması ve herhangi bir API yardımında işi abartıp faiş fiyatlar istemesiydi. Kim'den yardım istesek ya yanlış yönlendirildik ya da yardımcı olmak istemediler.

Sonuc olarak Logo API'si programcıya teknik açıdan her işinizi görebileceğiniz bir programlama arayüzü sunuyor fakat kullanabilmeniz için bir sürü brokratik işlerle uğraşmanız gerekiyor.

Şimdi gelelim örneklere. Logo'ya bağlanmak, yeni cari açmak için örnek vereceğim.

Projemize COM tabındaki UnityObjects Library referansını ekleyelim.
COM tabında UnityObject'i göremediyseniz büyük ihtimal sisteme register edilmemiştir. Logo'nun çalışma klasörü içindeki Lobject.dll'i bulup Regsvr32 komutu ile register etmelisiniz (Başlat > Çalıştır >  Regsvr32 lobject.dll)

Logo API ile Logo'ya Bağlantı:

            UnityApplication giris = new UnityApplication();
            if (giris.Connect())
            {
                if (giris.UserLogin("kullanici", "sifre"))
                {
                    if (giris.CompanyLogin(1)) //Logo şirket numarası
                    {

                        //Logoya bağlanıldı                        

                        giris.CompanyLogout();
                    }

                    giris.UserLogout();
                }

                giris.Disconnect();
            }

Logo API ile Yeni Cari Kartı:


            Data ek = unity.NewDataObject(DataObjectType.doAccountsRP);
            ek.New();

            ek.DataFields.FieldByName("ACCOUNT_TYPE").Value = 3;
            ek.DataFields.FieldByName("CODE").Value = "Firma Kodu";
            ek.DataFields.FieldByName("TITLE").Value = "Firma Adı";
            ek.DataFields.FieldByName("ADDRESS1").Value = "Adres 1";
            ek.DataFields.FieldByName("ADDRESS2").Value = "Adres 2";
            ek.DataFields.FieldByName("DISTRICT").Value = "Mahalle";
            ek.DataFields.FieldByName("TOWN").Value = "İlçe";
            ek.DataFields.FieldByName("CITY").Value = "Şehir";
            ek.DataFields.FieldByName("COUNTRY").Value = "Ülke";
            ek.DataFields.FieldByName("POSTAL_CODE").Value = "Posta Kodu";
            ek.DataFields.FieldByName("TELEPHONE1").Value = "Telefon 1";
            ek.DataFields.FieldByName("TELEPHONE2").Value = "Telefon 2";
            ek.DataFields.FieldByName("FAX").Value = "Fax";
            ek.DataFields.FieldByName("TAX_ID").Value = "Vergi No";
            ek.DataFields.FieldByName("TAX_OFFICE").Value = "Vergi Dairesi";
            ek.DataFields.FieldByName("TAX_OFFICE_CODE").Value = "Veri Dairesi Kodu";
            ek.DataFields.FieldByName("CONTACT").Value = "İsim Soyisim";
            ek.DataFields.FieldByName("E_MAIL").Value = "E- Posta";
            ek.DataFields.FieldByName("WEB_URL").Value = "www web sitesi";
            ek.DataFields.FieldByName("GL_CODE").Value = "Muhasebe Numarası";
            ek.DataFields.FieldByName("SUBSCRIBER_EXT").Value = "Ekstra bilgi";
            ek.DataFields.FieldByName("LOGOID").Value = "Firma Kodu";

            
            ValidateErrors err = ek.ValidateErrors;
            

            if (ek.Post())
            {
                Console.WriteLine("{0} firması eklendi.", "Firma Adı");
                
            }
            else
            {
                Console.WriteLine("{0} firması eklenemedi.", "Firma Adı");
                for (int i = 0; i < err.Count; i++)
                {
                    Console.WriteLine("{0} - {1};", err[i].Error, err[i].ID);
                }
            }


Logo API ile Sipariş Girişi:

            Data siparis = unity.NewDataObject(DataObjectType.doSalesOrderSlip);
            siparis.New();

            siparis.DataFields.FieldByName("NUMBER").Value = "Sipariş No";
            siparis.DataFields.FieldByName("DATE").Value = "Tarih";
            siparis.DataFields.FieldByName("TIME").Value = "Zaman";
            siparis.DataFields.FieldByName("ARP_CODE").Value = "Firma Kodu";
            siparis.DataFields.FieldByName("TOTAL_NET").Value = "Toplam Tutar";
            siparis.DataFields.FieldByName("SALESMAN_CODE").Value = "Satıcı Kodu";
            siparis.DataFields.FieldByName("NOTES1").Value = "Not 1";
            siparis.DataFields.FieldByName("NOTES2").Value = "Not 2";
            siparis.DataFields.FieldByName("NOTES3").Value = "Not 3";
            siparis.DataFields.FieldByName("NOTES4").Value = "Not 4";

            siparis.DataFields.FieldByName("ORDER_STATUS").Value = 4; //ÖDeme
            siparis.DataFields.FieldByName("WITH_PAYMENT").Value = 1 ; //ÖDeme

            Lines detay = siparis.DataFields.FieldByName("TRANSACTIONS").Lines;
            if (detay.AppendLine())
            {
                detay[0].FieldByName("TYPE").Value = 4; // Hizmet
                detay[0].FieldByName("MASTER_CODE").Value = "Ürün Kodu";
                detay[0].FieldByName("QUANTITY").Value = "Sayıs";
                detay[0].FieldByName("PRICE").Value = "Tutar";
                detay[0].FieldByName("TOTAL").Value = "Toplam Tutar";
                detay[0].FieldByName("UNIT_CODE").Value = "Adet";
                detay[0].FieldByName("PC_PRICE").Value = "Tutar";
                detay[0].FieldByName("TOTAL_NET").Value = "Toplam Tutar";
                detay[0].FieldByName("VAT_RATE").Value = "KDV";
                detay[0].FieldByName("VAT_INCLUDED").Value = 1; //KDV Dahil
            }

            
            siparis.DataFields.FieldByName("ITEXT").Value = "Ekstra bilgi alanı";

            ValidateErrors err = siparis.ValidateErrors;

            if (siparis.Post())
            {
                Console.WriteLine("Sipariş Eklendi");

            }
            else
            {
                Console.WriteLine("Sipariş Eklenemedi");
                for (int i = 0; i < err.Count; i++)
                {
                    Console.WriteLine("{0} - {1};", err[i].Error, err[i].ID);
                }
            }


Bir Kaç Tavsiye

  • Nesnelere ulaşırken kesinlikle FieldByName metodunu kullanın bu size veritabanından bağımsızlık sağlar. (FieldByName metodu XML isimlerinden veritabanına ilişki kurar)
  • FieldByName("TRANSACTIONS").Lines mantığını kavrayın. Tablo bağlantıları bu nesne üzerinden dönüyor.
  • INSERT, UPDATE, DELETe, SELECT işlemlerinde SQLClause nesnesini kullanın bu size veritabanından bağımsızlık ve veritabanını bozmamanızı sağlar. (Biraz iş yükü getirir ama!)
  • Field isimlerini öğrenmek için XML şablonlarına başvurun. XML şablonlarını Logo programındaki Araçlar > Veri Aktarımı (dışarı) menüsünden öğrenebilirsiniz.
  • Döküman isteyin. Logo Object Kütüphane Referans Kitabı diye bir döküman var genelde çözüm ortaklarıda var ama bazısı bu döküman için para isteyebilir. Bu dökümanda işinize yarar açıklamalar bulaiblirsiniz ama kod örnekleri ve işin teknik tarafı pek bulunmuyor.


 

#Sunay Şener-, 04.10.2009 23:42:25 tarihinde demiş ki...
Valla harikasın...
#Mustafa S.+, 14.10.2009 16:36:15 tarihinde demiş ki...
Merhaba;

giris.Connect fonksiyonu false dönüyor ve ondan sonraki giris.GetLastErrorString metni "no allowded." oluyor.

Elimdeki LOGO demo olduğu için olabilir mi?
#Oğuzhan-, 14.10.2009 17:08:46 tarihinde demiş ki...
Büyük ihtimal. Çünkü Not Allowed dediğine göre lisans ile alakalı bir durum sanırım. Normal lisans haricinde birde bu API'nin lisansını alman gerekiyor.
#Å&#65533;ükran+, 04.11.2009 13:26:54 tarihinde demiş ki...
Merhaba, kod icin cok tesekkurler. Bende "x kodlu muhasebe hesabi bulunamadi"(513 nolu hata) hatasi veriyor. Nasil cozebilirim?
#Oğuzhan-, 04.11.2009 15:03:37 tarihinde demiş ki...
X kodunda bir muhasebe hesabı yoksa açmaz. Geçerli olan bir kod girmen lazım GL_CODE alanına.
#mehmet-, 08.11.2009 11:49:57 tarihinde demiş ki...
merrhaba oğuzhan, işime çok yarayacağını düşündüğüm bir blog bu..çok teşekkürler..eywallah..
#sansar+, 09.12.2009 16:47:14 tarihinde demiş ki...
kardeş tekrar merhaba.bende Mustafa arkadaşımızın aldığı hatayı alıyorum. bununla ilgili ne yapabiliriz. LOBJECTS.DLL dosyasını register ettim. fakat No Allowded hatası alıyorum. Benim kullandığım DEMO DEĞİL.
#oğuzhan-, 09.12.2009 17:40:53 tarihinde demiş ki...
@sansar demo olmaması bu durumu çözmüyor. Birde Lobject.dll'i kullanmak için ek bir lisans gerekldir. Bu aldığın pakette olmayabilir. yoksa not allowed hatası almadım hiç.
#Şükran+, 29.12.2009 09:56:37 tarihinde demiş ki...
Merhaba Oğuzhan Bey, öncelikle cevabınız için çok teşekkürler. VS.NET 2005 ile yaptığım proje de arada bir unity'e bağlanırken "Çok Zararlı Hata" uyarısı veriyor. Ne yapmam gerekir bu hatayı almamak için?
#Oğuzhan-, 29.12.2009 21:56:24 tarihinde demiş ki...
@şükran bu hatayı bende sürekli alıyorum özellikle programdan çıkarken. COM objesinden dönen bir hata olduğu için sanırım Lobject.dll'i ya yanlış çalıştırıyoruz, yada gerçekten COM kendi içinde hata döndürüyor bende çözebilmiş değilim bunu.
#serkan+, 01.01.2010 01:06:59 tarihinde demiş ki...
merhaba arkadaşlar

oncelikle ornek için tşkler ellerine sağlık
No Allowded hatası Lobject.dll i kullanma iznin olmadıgı için sana donen cevap.lisans yuklemen gerek dll i register etmen yeterli değil register sadece yolu bulmasına yarıyor. sükran hanım çok zararlı hata uyarısını bende bir kez aldım Lobject.dll i yeniden yukledim (kurulum setinden şifreleyerek) ve yeniden register ettim sorunum çözüldü
#alim demir-, 14.01.2010 10:30:08 tarihinde demiş ki...
sqlclause kullanimina bir örnek verebilir misin?
UnityObjects.QueryClass q = new UnityObjects.QueryClass();
q.SQLClause.FromClause.NewTable("LG_510_ACCCODES", "ACCCODES");
q.SQLClause.SelectClause.New("LOGICALREF", "LOGICALREF");


bool sonuc= q.OpenDirect();
şeklinde çalıştırıyorum sql statement not set hatasi aliyorum.
#Oğuzhan-, 14.01.2010 14:20:55 tarihinde demiş ki...
Query qr = unity.NewQuery();
qr.Statement = sqltext;

qr.SQLClause.SelectClause.New("A.CODE", "C1");
qr.SQLClause.FromClause.NewTable("LG_009_EMUHACC","A");
qr.SQLClause.WhereClause.New("A.CODE", RelationalOperator.roEqual, "A0001", LogicalOperator.loNone);
bool = sonur = qr.OpenDirect();

gibi.
#Oğuzhan-, 14.01.2010 16:34:22 tarihinde demiş ki...
Ek olarak konu ile ilgili yeni bir yazı ekledim siteye ;)

http://www.oguzhan.info/bak.asp?516/Logo+API%27de+SqlClause+Kullan%FDm%FD
#Emre-, 27.01.2010 13:57:28 tarihinde demiş ki...
Yazi icin tesekkurler.
Ornekler, sunucu uzerinde sorunsuz calisiyor fakat baska bir bilgisayar uzerinden bir turlu calistiramadim. UnityApplication giris = new UnityApplication(); satirinda asagidaki hatayi veriyor.

Retrieving the COM class factory for component with CLSID {72DB412A-6BF5-4920-A002-2AAC679951DF} failed due to the following error: 80040154.

Bu hata ile karsilasan oldu mu? Cozum onerisi olan var mi?

Tesekkurler.
#Emre+, 27.01.2010 18:07:35 tarihinde demiş ki...
Isletim sistemi 64 bit oldugu icin sorun cikiyormus. 32 bit'te sorunsuz calisiyor.
#aspsrc@gmail.com-, 27.01.2010 18:18:34 tarihinde demiş ki...
@Emre, Bu herkesin başına gelen kronik bir problem ;)

Çözüm:

Projenin Properties penceresine geldikten sonra Platform Targer menüsünden x86 seçildiğinde problem ortadan kalkıyor. ama programınız 32bit çalışıyor.

Bu arada başka bir bilgisayar üzerinde çalışabiliyor teorik olarak. API'nin configurasyon metodları var. Ama denemedim hiç.
#Hawa-, 06.02.2010 12:47:57 tarihinde demiş ki...
Merhaba
Öncelikle makalen için teşekkürler çok yardımcı oldu.
Fatura eklerken fatuıra bilgilerini kaydebiliyorum ama fatura satırlarını kaydemiyorum dönüştede hiç bir hata alamıyorum.Kodu aşağıdaki gibi yazıyorum.
Bu konuda yardımcı olabilecek biri varsa cevap yazabilirmi lütfen
Teşekküğrler
Set InvoiceLines = Invoice.DataFields.FieldByName("TRANSACTIONS").Lines
If InvoiceLines.AppendLine Then
InvoiceLines(0).Item(1).Value = 4
.
.
End If
If InvoiceLines.AppendLine Then
InvoiceLines(1).Item(1).Value = 4
.
.
End If
#Emre+, 26.04.2010 14:12:07 tarihinde demiş ki...
Merhaba Oğuzhan Bey
Benim Unity Object de Sipariş Oluştururken Muhasebe Hesabını Almam gerek bir ürünün ,hizmetin yada masrafın bunu nasıl yapabilirim.Yardımcı olabilirmisiniz?
#Mehmet Sinan Şahin+, 29.04.2010 10:21:04 tarihinde demiş ki...
Java örneği isteyen varsa gönderebilirim.
#Ahmet Özgün Özcan+, 25.06.2010 16:49:25 tarihinde demiş ki...
Öncelikle paylaşım için çok teşekkürler.

Arkadaşlar Lines içerisinden bir kayıt sileceğim. Örnek Bİrim seti içinde bir birimi.
aşağıdaki kod ile yaptığım zaman hiç bir etkisi olmuyor. Bilgisi olan varmı?

UnityObjects.IData objUnitSet = UnityApp.NewDataObject UnityObjects.DataObjectType.doUnitSet);
objUnitSet.OpenTrans = false;
if (!objUnitSet.Read(unitgroupLogicalRefID))retrun false;
UnityObjects.Lines objUnits = objUnitSet.DataFields.FieldByName("UNITS").Lines;
if (!objUnits.Delete(1)) return false;


NOT:Birim seti içerisinde 1. indexte bir birim mevcut
#Göksu+, 29.07.2010 14:43:12 tarihinde demiş ki...
Merhaba, uygulama giris.Connect() kısmında false değeri döndürüyor fakat arkasından bahsedildiği gibi GetLastErrorString metni "no allowded." olmuyor.False döndükten sonra "Can not make basic connection" oluyor.Yardımcı olabilir misiniz?
#Ahmet+, 30.07.2010 15:40:55 tarihinde demiş ki...
Line daki satırı silmek için DeleteLine() komutu çalıştırılmalı.

Merhaba Göksu.
LOBJECT.dll registeri ile ilgili bir sıkıntın var. Birde LOBJECT in Wepte kullanımında çıkabilen bir hata olaiblir. Bu sıkıntıyı bende yaşadım çözümü sağlayınca bir döküman oluşturmuştum. bulamadım :(.
#Serdar+, 09.08.2010 15:35:45 tarihinde demiş ki...
Merhaba;
Windows7 64 bit kullanıyorum.vs2008 ile yaptığım proje lobjects.dll ile logoya sipariş ekliyor ama aynı pc de iis üzerinden yayınlayınca object ile ekleme esnasında bekliyor bekliyor :)
ve sayfa görüntülenemiyor. denemedik ayar ,değiştirilmedik kullanıcı hakkı bırakmadım ama nafile...daha önce başına böyle bir durum gelen varmı acaba....
#Yunus Emre+, 10.08.2010 11:25:44 tarihinde demiş ki...
projeyi derlerken 64 bit olarak ayarladınız mı Serdar bey ?
#Serdar+, 11.08.2010 10:36:20 tarihinde demiş ki...
sorunumun 32bit yada 64bit sorunu olmadığını iis 7.5 olduğunu windows7 32 bit sistem üzerinde de aynı sorunla karşılaşarak anlamış bulunmaktayım :)
sorun anladığım kadarı ile iis 7.5 teki kullanıcı hakları diye düşünüyorum ama sorunu çözemiyorum. Lobjects.dll dosyasının bulunduğu klasörüne hakları verdim. lgold.ini dosyasına hakları verdim ama nafile.2003 üzerinde hiçbir sorunla karşılaşmadan çalışan site iis 7.5 olan win7 veya 2008std sistemde object kullanarak logoya veri göndermiyor..

#Ahmet-, 11.08.2010 15:53:04 tarihinde demiş ki...
web confige bu kodu ekleyip denermisin. User yetkili biri olmalı.

<identity impersonate="true" userName="DomainName\username" password="userpass"></identity>
#Oğuzhan-, 11.08.2010 16:00:27 tarihinde demiş ki...
Bence Lobjects.dll'i sadece Logo'nun kurulu olduğu sunucuda çalıştır. Araya proxy tadında bir web services koy. Bütün mantıksal işleri o yapsın. Yani logo ile webserver arasındaki konuşmayı webservices yönetsin. Böylece sunucuyla alakalı problemlerden etkilenmez, bakımı daha kolay, katmanlı bir mimarin olmuş olur. Ayrıca logo'nun sunucusu değiştiği zaman herhangi bir şey yapmanada gerek kalmaz. lgold.ini'den de kurtulmuş olursun.
#Serdar+, 11.08.2010 18:44:37 tarihinde demiş ki...
@Ahmet, yazdığın satırı ekledim ama değişen birşey yok. hala bekliyor,bekliyor :) ve sayfa görüntülenemedi diyor...
@Oğuzhan, yazdıkların mutlaka iyi bişeydir ama sadece 2 aydır .net ortamında bişeyler yapan biri olarak sanki beni aşarmış gibi görünüyor ama biraz daha açarsan söylediklerini hakkında fazlasıyla kafa yorarım (en azından web services nedir? aramaya başladım). bende lgold.ini den kurtulmak istiyorum....
#Oğuzhan-, 11.08.2010 18:56:54 tarihinde demiş ki...
@Serdar,
WebServices ile alakalı başlangıç seviyesinden bir yazı "http://www.csharpnedir.com/articles/read/?filter=&author=&cat=&id=49&title=C" biraz daha inceledikten sonra. WebServer üzerinden hizmet veren bir webservices hazırladıktan (Uzak verileri logoya gönderek uygulama) sonra logo çalışan yerde birde Windows Application veya Console Application veya windows services'ı oluştur (Esas işin döndüğü yer) türünde uygulama oluşturup onada web services'ı Web Reference olarak verdiğinde yapı kurulmuş olur. basitçe böyle.
#Serdar+, 12.08.2010 10:17:19 tarihinde demiş ki...
Siteyi YouWebit ile çalıştırdığımda da sorun yok. site iis 7.5 dışında heryerde çalışıyor :) iis 7.5 sevemedi gitti..
#şerafettin+, 26.08.2010 15:23:03 tarihinde demiş ki...
Merhaba,

Visual Basic'ten LOBJECTS.dll'deki Login metodunu çağırdığımda asp uygulamasında "Çok zararlı hata" uyarısı veriyor ve login olmuyor. Ancak hatayı bulmak için vb'den debug modda metodu çağırdığımda hata vermiyor ve login oluyor. Yardımcı olabilecek kimse var mı? Neden olabilir bu hata?
#AKIN+, 02.09.2010 12:14:43 tarihinde demiş ki...
Oğuzhan bey merhaba, peki siz sonuç olarak bu objects.dll i satın aldınızmı?, aldıysanız nasıl nerden satın aldınız?, Aynı şekilde bizim de bir otomasyon projemiz var projenin muhasebe entegrasyonunda müşteri Tiger2 kullandığı için sadece fatura girişi yapmamız gerekiyor Tiger2 deki cari hesaplara. bunu bu Lobjects.dll ile yapabilirmiyiz
#Oğuzhan-, 02.09.2010 12:48:53 tarihinde demiş ki...
@AKIN Lisanslamasını tam hatırlamıyorum ama Tiger2'nin içinde hazır vardı ekstra bir ücret ödemedik (Belki satın alınırken en başta bu özellik için ek ücret ödenmiştir). Fatura işlemlerini rahatlıkla yapabiliyorsunuz. Döküman sıkıntısı var sadece.

Yorum Yapın
İsim (String)
Mail (String)
6, 5 daha yapar. (Int)

*NVarChar*3 + html desteğide yok.
(bit)
Sosyal Ağ Antenleri
Blog RSSLinkedinFacebookFlickrTwitterFriendfeedGoogle ReaderYoutubegit
  • Açılış
  • Projelerim
  • Arşiv
  • İletişim
  • En çok ilgi görenler...

    HP IPAQ 914c
    Mikrotik
    NETSH'dan faydalanmak
    Togi Twitter Client
    Mikrotik ADSL Bridge.
    Netsis SQL Raporları.
    SQL Server Optimizasyonu.
    VBScript.Encode - Encode
    C# ile DataGridView den Excel 'e
    C# ile mail gönder
    Netsis SQL Server Değişikliği.
    Windows Sunucularda SYN Atakları.

    Rastgele birşeyler...

    Yine Plesk!...
    Manitanın Hayvanı...
    TTNET'in wi-fi si....
    LOG :) Semih...
    Sonunda Çarşıdayım...
    LOG :) Nadi...
    Netsis Raporları: SQ...
    Tiktube! Birde Red A...
    Sözün Bittiği Yer...
    Excel'deki Devresel ...
    Kişisel, İş, Güç, Iv...
    euheuhe : )...
    TLD Domain - Whois C...
    B-Learning, PostgreS...
    Unutulan şifreler ve...
    Pownce...

    Şebeke

    WHT, Fıroİş, Denizİş, Serkan, Semih, Sewgi, Beşir, İzgençvos, Erkan, Mumin, Aliİş, Lütfü, Alper, Yusuf

    2003 - Oğuzhan YILMAZ
    Bir şey alıntıladığınız zaman kaynak göstermeniz yeterli.


    Web Hosting Sponsor Vargonen Technologiies