Qt ye Giriş. Can Kavaklıoğlu. 19 Temmuz Trolltech in Qt 4.0 alt yapısını kullanarak programlama yapmak için gerekli kütüphaneleri yüklemek

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Qt ye Giriş. Can Kavaklıoğlu. 19 Temmuz 2007. Trolltech in Qt 4.0 alt yapısını kullanarak programlama yapmak için gerekli kütüphaneleri yüklemek"

Transkript

1 Qt ye Giriş Can Kavaklıoğlu 19 Temmuz Önsöz Bu yazı Can Kavaklıoğlu[1] tarafından, Cerberus[2] takımının ihtiyaçları doğrultusunda yazılmıştır. Doğu Kaya ya elzem yardımlarından için teşekkürler. Yazıdaki hataları, önerileri, soruları ve/veya yazının oluşturduğu tepkileri adresine yollarsanız pek de güzel olur. Herzamanki gibi bu yazıda yazanlar etkisinde kalarak yaptığınız hareketlerden yazar sorumlu değildir. sürüm Temmuz Gereksinimler Trolltech in Qt 4.0 alt yapısını kullanarak programlama yapmak için gerekli kütüphaneleri yüklemek için: Debian sisteminde qt4-dev-tools paketini yüklemeniz yeterli olacaktır. Diğer birkaç sistemin paketi de mevcuttur[13]. Herhangi bir Linux sisteminde indireceğiniz.tar.gz dosyası ile kurulumu gerçekleştirebilirsiniz. Diğer sistemler için kurlum ve diğer konularda detaylı anlatım için [10]. 3 Hello World Programla ilgili her konuda olduğu gibi ilk önce ekrana Hello World yazdıran program ile işe başlayalım: Bu kodu gcc helloworld.cpp komutu ile çalıştırdığınızda şöyle bir hata kümesi ile karşılaşıyorsanız: helloworld.cpp:1:28: QApplication: No such file or directory helloworld.cpp:2:27: QPushButton: No such file or directory gcc programı kütüphanelerinizi bulamıyor demektir. Daha doğrusu qmake kullanarak, düzgün bir Makefile oluştumanız gerekiyor demektir. qmake in de doğru sürümünü kullandığımıza dikkat etmemiz gereklidir. Bunu anlamanın en iyi yolu aşağıdaki komutların çıktısındaki ilk satırlara bakarak, hangi Qt sürümü kullanıldığını yazan satıra göz atmaktır. Benim sistemimde bu komut şöyle çalışıyor: 1

2 /**************************************************************** ** ** Qt tutorial 1 ** ****************************************************************/ #include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton hello("hello world!"); hello.resize(100, 30); } hello.show(); return app.exec(); Şekil 1: Örnek: Hello World[11] qmake -project -nopwd helloworld.cpp Komutu bir adet klasöradı.pro dosyası oluşturuyor. Bu dosyanın içerisinde qmake in Makefile ını oluşturacağı projeyi temsil ediyor. Eğer bulunduğumuz klasördeki bütün.cpp ler projeye katılsın istiyorsak, o zaman son iki parametreyi vermeden de komutumuzu çağırabiliriz: qmake -project qmake.pro dosyamızı oluşturduktan sonra gerekli Makefile ı oluşturması için komutunu çağırıyoruz ve Makefile ımız oluştuyor. Burada dikkat edilecek nokta (en azından benim sistemimde öyle idi) qmake komutu Qt 3.0 sürümünün qmake ini kullanıyordu. Bu da yanlış Makefile oluşmasına sebep oluyordu. O yüzden oluşan Makefile ın ilk satırlarını kontrol ederek orada Qt 4... ifadesinin geçtiğine emin olmak gereklidir. Benim sistemimde bunu yapabilmek için qmake yerin şu komutu kullanmam gerekti: qmake-qt4 make Düzgün bir Makefile oluştu ise, Makefile ın bulunduğu klasörde, komutu ile ilk Qt programımızı oluşturduk demektir. Çalıştırmak için komut satırından./<klasöradı> komutu ile programı çalıştırabiliriz. 2

3 4 Sinyaller ve Yuvalar (Signals and Slots) Qt nin objeler arası iletişim için kullandığı yapılar Sinyaller ve Yuvalar[8] olarak adlandırılırlar. Throlltech in dediğine göre eski sistemlerde kullanılan birbirine pointer gönderip, callback yaptırmak, hem type-safe olmadığı, hem de strongly coupled olduğu için sakıncalı oluyormuş. Bu yüzden bu yeni sistemlerini oluşturmuşlar. Binevi Sony nin OPEN-R sistemindeki gibi Subject(Signal) ve Observer(Slot) lar mevcut. Bir sinyal iki yuvaya bağlanabiliyor. Yukariki iki probleme verilen cevap ise şöyle: Bağlantılar tek elden bir fonksiyon imzası (function signature) ile belirtildiği için tip çakışma problemleri yaşanmıyor. Hatta bu açık ayırım sayesinde derleyici bize olası hataları gösterebiliyor. Loosely coupled yapı sayesinde, sinyali yayan objeler, yuva sahibi objelerle kurdukları bağlantılarda direk ilişki kurmadıkları için, strongly coupled sistemlerdeki sinyal yayan objelerin, bütün yuva sahibi objelerden haber olma zorunluluğu yoktur. Sinyal ve yuvaların birkaç özellikleri: Sinyaller ve yuvalar, bağlantılarından haberdar değillerdir. Bir yuvaya gerektiği kadar sayıda sinyal bağlanabilir. Bir sinyale gerektiği sayıda yuvaya bağlanabilir. Sinyaller sinyallere de bağlanabilir, bu durum, birinci sinyal oluştuğunda, ikinci sinyali tetikleyecektir. Bir sinyal oluştuğunda, kodun çalışması sinyali oluşturan satırın altına, ancak sinyalin yuvasından geri dönüş olduğunda devam eder. Eğer bu durum yerine, yuvadaki işlemin ayrı bir süreç olarak devam etmesi isteniyorsa, sıralı bağlantı (queued connections) yöntemi kullanılır. Yuvaların erişim hakları, hangi sinyallerin bu yuvaya bağlanabileceğini belirtir. 3

4 4.1 Sinyal ve Yuvalar Örneği 2. şekildeki örnekte Counter (sayaç) sınıfı, bir yuva ile tuttuğu sayıyı değiştirir. Oluşturduğu bir sinyal ile de, kendisini izleyenlere, sakladığı değerin değiştiğini haber verir. #include <QObject> class Counter : public QObject { Q_OBJECT public: Counter() { m_value = 0; } int value() const { return m_value; } public slots: void setvalue(int value); signals: void valuechanged(int newvalue); private: int m_value; }; Şekil 2: Örnek: Sinyaller ve yuvalar[8] Saklanan değişmesi sinyalinin üretilmesinin en uygun noktası ise setvalue fonksiyonu olacaktır: void Counter::setValue(int value) { if (value!= m_value) { m_value = value; emit valuechanged(value); } } Şekil 3: Örnek: Sinyaller ve yuvalar: setvalue fonksiyonu [8] Dikkat edilecek satır emit valuechanged(value); satırıdır. Bu komut ile, signals: ifadesi ile belirttiğimiz bölümdeki void valuechanged(int newvalue); fonksiyon çağırılarak oluşturulan sinyal yayılır. Daha açık bir örnek için 4. şekile bakınız: 4

5 Counter a, b; QObject::connect(&a, SIGNAL(valueChanged(int)), &b, SLOT(setValue(int))); a.setvalue(12); // a.value() == 12, b.value() == 12 b.setvalue(48); // a.value() == 12, b.value() == 48 Şekil 4: Örnek: Sinyaller ve yuvalar: bir sinyali yuvaya bağlamak [8] Bu örnekte gösterilen işlemler şunlardır: 1. İki tane Counter objesi, a ve b oluşturulur. 2. a ve b objeleri birbirlerine bağlanırlar. Bağlama komutundaki değiştirge sıralaması şöyledir: sinyali oluşturan obje, sinyal, sinyali alan obje, yuva. Bu şekilde sinyal ve yuva tanımlarken, SIGNAL ve SLOT makroları kullanılmak zorundadır. 3. a.setvalue(12); komutu a objesinin sakladığı değeri 12 ye eşitler, ve hemen ardından, valuechanged(int) sinyali oluşturmasını sağlar. Bu sinyal b objesinin setvalue(int) yuvasına ulaşır ve b objesinin sakladığı değer de 12 ye eşitlenir. 4. b.setvalue(48); ise sadece b objesinin değerini değiştirebilir, çünkü a objesinin yuvası hiçbir sinyale bağlanmadığı için, b objesinin setvalue(int) fonksiyonu tarafından oluşturulan sinyal a objesine ulaşmaz. 5 Meta-Obje Sistemi Qt nin Meta-Obje Sistemi[15], başta sinyal ve yuvalar sistemi olmak üzere birkaç işlev sunar: QObject::metaObject() ilgili sınıfın meta objesini verir. QMetaObject::className() RTTI desteğine gerek duymadan çalışan sınıfın adını obje çalışırken verir. QObject::inherits() istenen sınıfın ilgili sınıf tarafından kullanılıp (inherit) kullanılmadığını belirtir. QObject::tr() ve QObject::trUtf8() karakter dizilerini istenen dile çevirir. QObject::setProperty() ve QObject::property() dinamik olarak obje özelliklerinin değiştirir ve verir. Meta-Obje Sistemi aynı zamanda dynamic cast() işlemi için de kullanılabilir. 6 Özellikler Sistemi Qt nin Özellikler Sistemi (Property System [14] ) bir sınıfın içerisindeki standart veri yapılarına denk gelir. Ancak aşağıda belirtilen birkaç önemli işlev sağlar: Okuma fonksiyonu her zaman mevcuttur. İstenirse yazma fonksiyonu her zaman mevcut olabilir. Kayıtlı ( stored ) özniteliği, özelliğin kaydedilip edilmediğini belirtir. 5

6 Ender olsa da yeniden başlatma ( reset ) fonkiyonu. Tasarlanabilir ( designable ) özniteliği, ilgili özelliğin, Qt Designer gibi bir tasarlama programında gösterilip, gösterilmeyeceğini belirtir. Q PROPERTY() makrosu kullanılarak tanımlanır. Bu makro ancak QObject i kullanan (inherit) sınıflarda kullanılabilir. 6.1 Özellik Okumak ve Yazmak QPushButton *button = new QPushButton; QObject *object = button; // button and object point to the same object button->setdown(true); object->setproperty("down", true); Şekil 5: Örnek: Özellik okuma yazma örneği[14] button->setdown(true) yöntemi derleyicinin, derleme sırasında hataları raporlayabilmesini sağlar. button->setpropety("down",true); yöntemi ise derleme sırasında kullanılabilir olmayan özellikleri programın çalışması sırasında erişebilmemizi sağlar. Özellikler Sisteminin diğer belirtilen diğer iki fonksiyonu ise şunlar: QMetaObject::propertyCount() bir objenin kullanılabilecek bütün özelliklerini verir. QMetaObject::property() istenen objenin istenen özelliğini bir QMetaProperty objesi olarak verir. 6.2 Özellikler Sistemi Örneği class MyClass : public QObject { Q_OBJECT Q_PROPERTY(Priority priority READ priority WRITE setpriority) Q_ENUMS(Priority) public: MyClass(QObject *parent = 0); ~MyClass(); }; enum Priority { High, Low, VeryHigh, VeryLow }; void setpriority(priority priority); Priority priority() const; Şekil 6: Örnek: Özellik okuma yazma örneği[14] 6

7 Bu tanımlamayı kullanmak için şöyle bir ifade deneyebiliriz: obj->setproperty("priority", "VeryHigh"); Q PROPERTY makrosunun yapısı şu şekildedir: Q_PROPERTY(type name READ getfunction [WRITE setfunction] [RESET resetfunction] [DESIGNABLE bool] [SCRIPTABLE bool] [STORED bool]) name, QVariant[16] tarafından desteklenen bir tip olabilir yada yukarıdaki örnekteki gibi sınıf içerisinde tanımlanan bir tip olabilir. getfunction, const olmalıdır. Döndüğü cevabın tipi da, ya ilgili tipin kendisi, ya o tipte bir pointer yada yine o tipte bir referans olmalıdır. seçmeli setfunction, void dönmelidir ve sadece tek bir değiştirge ( parameter ) almalıdır. Alınan değiştirgenin tipi, ilgili tipin kendisi, ya ilgili tipte bir pointer, yada ilgili tipte bir const reference olmalıdır. seçmeli resetfunction, özelliği ilk haline geri çevirecek fonksiyon. Hiçbir değiştirge almamalı ve void dönmelidir. seçmeli DESIGNABLE, GUI tasarım arıcında bu özelliğin kullanımı açıp kapatmak için kullanılır. Öntanımlı değer yazılabilen özellikler için evettir. seçmeli SCRIPTABLE, Betik motoru tarafından kullanıma uygunluğu belirtir. Öntanımlı değer evettir. seçmeli STORED, Objenin durumu kaydedilirken, bu özelliğin değerinin hatırlanıp hatırlanmayacağını belirtir. Öntanımlı değer evettir. Yazılamayan değerler için kullanılması mantıklı değildir. 7 Qt - Eclipse bağlantısı 10 Temmuz da Eclipse ile Qt yi birbirine bağlamak için bir eclipse eklentisi test sürümü yayınlandı[17]. Qt eklentisi yüklemesini yapmadan önce Eclipse te C/C++ desteği için kullanılan CDT eklentisini kurmanız gereklidir. Bu işlemi Eclise in Help > Software Updates > Find and install menüsünden yapabilirsiniz. Eliniz değmişken bir de Eclipse sisteminiz için güncelleme yaparsanız iyi olacaktır. Qt - Eclipse bağlantısı eklentisi test sürümü olduğu için, Eclipse i güncel tutmakta fayda olacaktır. Haberde verilen bağlantıdan[18] indirebileceğiniz paketi, eclipse klasörünüzün üzerine açtığınız zaman Help > Cheat Sheets > Qt Development yoluyla açabileceğiniz bir anlatım mevcut. Bu anlatımda anlatıldığı üzere, Window > Preferences > Qt panelinden, sistemdeki Qt yüklemenizin yerini belirtmeniz gerekiyor. Kullandığım Debian sistemde libqt4* paketleriyle kurduğum Qt kurulumunda, istenen değerleri 4.0 ve /usr olarak girdiğimde Qt yi Eclipse e göstermeyi başardım. Bir not, eğer qt3 sürümü önceden yüklü ise, qmake komutu eski qmake-qt3 komutuna işaret ediyor olabilir. Bu durumda komut satırından çağırdığınız qmake komutunun doğru qmake (qmake-qt4) komutuna işaret ettiğinden emin olun. Eğer Qt yüklemenizi başarıyla belirtebilirseniz, New > Project > Other > Qt ve Qt Designer menüsünden yeni bir Qt projesi başlatabilirsiniz. İşaret edilecek özellikler: 7

8 Window > Show View menüsünden seçilebilecek bir çok Qt aracı. ui dosyalarını Eclipse in içinden Qt Designer kullanarak düzenleyebilme. Kaynaklar [1] [2] Cerberus [3] The Independant Qt Tutorial - tutorial/ [4] Qt 4.0: Qt Tutorial - [5] Qt 4.0: How to Learn Qt - [6] Qt 4.2 Whitepaper - [7] Qt 4.0: Qt Object Model - [8] Qt 4.0: Qt Signals and Slots - [9] Qt 4.0: Examples - [10] Qt 4.0: Installation - [11] Qt 4.0: Qt Tutorial 1 - [12] Qt 3.1: qmake User Guide - [13] Downloads Trolltech - [14] Qt 4.0: Qt s Property System - [15] Qt 4.0: Meta-Object System - [16] Qt 4.0: QVariant Class Reference [17] Trolltech Provides Qt Developers Access to Eclipse with Integration Release Canadidate [18] linux.x86.tar.gz 8

Qt ye Giriş. Can Kavaklıoğlu. 10 Temmuz 2007. Trolltech in Qt 4.0 alt yapısını kullanarak programlama yapmak için gerekli kütüphaneleri yüklemek

Qt ye Giriş. Can Kavaklıoğlu. 10 Temmuz 2007. Trolltech in Qt 4.0 alt yapısını kullanarak programlama yapmak için gerekli kütüphaneleri yüklemek Qt ye Giriş Can Kavaklıoğlu 10 Temmuz 2007 1 Önsöz Bu yazı Can Kavaklıoğlu[1] tarafından, Cerberus[2] takımının ihtiyaçları doğrultusunda yazılmıştır. Doğu Kaya ya elzem yardımlarından için teşekkürler.

Detaylı

Qt ile Programlama. İşbaran Akçayır http://ish.kodzilla.org

Qt ile Programlama. İşbaran Akçayır http://ish.kodzilla.org Qt ile Programlama İşbaran Akçayır http://ish.kodzilla.org 1 Nedir Qt, platformlar arası bir uygulama geliştirme sistemidir. (ya da iskeleti diyebiliriz) Genellikle GUI içeren programlar geliştirmede kullanılır,

Detaylı

Qt Temelleri. Eren BAŞTÜRK. basturkeren@gmail.com www.erenbasturk.com

Qt Temelleri. Eren BAŞTÜRK. basturkeren@gmail.com www.erenbasturk.com Qt Temelleri Eren BAŞTÜRK basturkeren@gmail.com www.erenbasturk.com Giriş Qt Gelişim Süreci Merhaba Dünya Uygulaması Qt Creator İle Merhaba Dünya Uygulaması Qt ile Uygulama Geliştirme Bölüm İçeriği Öğrenecekleriniz......

Detaylı

Qt ile Bir Ağ Uygulaması

Qt ile Bir Ağ Uygulaması Qt ile Bir Ağ Uygulaması Aykut Aksoy aykutaksoy@myway.com sürüm 1.0 Özet Bu belge Qt ile hazırlanmış bir ağ uygulamasını anlatır. C++ bilinmesi beklenir. Bu belgede "QProcess.h" kütüphanesine ağırlık verilmiştir.

Detaylı

QT Eğitimi - 4 : İkili Saat (Binary Clock)

QT Eğitimi - 4 : İkili Saat (Binary Clock) QT Eğitimi - 4 : İkili Saat (Binary Clock) Önder Arslan Sürüm 1.0 Özet Bu belge qt öğrenimi için bir dizi şeklinde hazırlanmıştır. C++ bilmek ön koşuldur. Giriş Kullanıcı arabirimi

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

Karma C/C + + Kodlama

Karma C/C + + Kodlama Karma C/C+ + Kodlama /********************************************************** * Bâkır EMRE * emre ~ enderunix.org * EnderUNIX Yazılım Gelistirme Takım ı * http:/ /www.enderunix.org * * Sürüm : 1.0 *

Detaylı

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ Nesneye Yönelik Programlama C++ ile Beaglebone Black de Bluetooth Haberleşmesi Danışman: Yrd. Doç. Dr. Mehmet YAKUT Sinan

Detaylı

Glade. hitokiri. Eylül, 2012

Glade. hitokiri. Eylül, 2012 Glade hitokiri Eylül, 2012 İçindekiler 1 Glade Nedir?............................................... 2 2 Gtk Builder?................................................ 3 3 GtkBuilder İşlevleri............................................

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra

Detaylı

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME MOBİL UYGULAMA GELİŞTİRME Hedefler Bu üniteyi çalıştıktan sonra; Android projesi oluşturabilir, Android projesini çalıştırabilir, Android projesi genel yapısını açıklayabilir, Activity kavramını açıklayabilir,

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem

Detaylı

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

BİL BİLGİSAYAR PROGRAMLAMA (JAVA) BİL 141 - BİLGİSAYAR PROGRAMLAMA (JAVA) KURULUM DÖKÜMANI Ders kapsamında lab saatlerinde veya lab saatleri dışında Java kodları yazabilmek ve çalıştırabilmek için bilgisayarınıza bazı yazılımların kurulması

Detaylı

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi 5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

Hızlı Sistem Kurulumu ve Yönetimi İçin Yeni Bir Yaklaşım: SUSE Stüdyo

Hızlı Sistem Kurulumu ve Yönetimi İçin Yeni Bir Yaklaşım: SUSE Stüdyo Hızlı Sistem Kurulumu ve Yönetimi İçin Yeni Bir Yaklaşım: SUSE Stüdyo Özhan KARAMAN SUSE Linux ve Açık Platformlar Ürün Müdürü Yöre Elektronik Yayımcılık A.Ş. ozhankaraman@yore.com.tr CLA, CLP, CNI Ajanda

Detaylı

Qt 4 ile C++ GUI Programlama

Qt 4 ile C++ GUI Programlama YASAL AÇIKLAMALAR Bu belgenin, Qt 4 ile C++ GUI Programlama çevirisinin telif hakkı 2010 Ufuk Uzun a, özgün İngilizce sürümünün telif hakkı 2008 Trolltech ASA e aittir. Bu belgeyi, Open Publication Licence

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

http://www.microsoft.com/visualstudio/eng/downloads

http://www.microsoft.com/visualstudio/eng/downloads Visual Studio 2012'nin kurulumunu, Visual Studio'nun kullanımını ve Windows Store'da basit bir proje hazırlanmasını anlatacağım. Hepsinden önce Visual Studio ortamından biraz bahsedelim. Visual Studio

Detaylı

MVC. Zeki çocuklar için Serisi. Altan TANRIVERDİ http://javam.org. Ocak'08. CopyLeft

MVC. Zeki çocuklar için Serisi. Altan TANRIVERDİ http://javam.org. Ocak'08. CopyLeft MVC Zeki çocuklar için Serisi Altan TANRIVERDİ http://javam.org Ocak'08. CopyLeft Başlarken MVC (Model View Controller) herhangi bir PHP yazılımcısının olmazsa olmazları arasında bulunması gereken kodlama

Detaylı

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Paket Erişimleri Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Altuğ B. Altıntaş

Detaylı

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. PROGRAMLAMAYA GİRİŞ Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. C de yazılan bir programın çalışması için çoğunlukla aşağıdaki

Detaylı

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();

Detaylı

Turquaz Windows kurulum dökümanı. ftp://ftp.mirror.ac.uk/sites/ftp.postgresql.org/binary/v7.3.1/windows/pgsql731wina1.exe

Turquaz Windows kurulum dökümanı. ftp://ftp.mirror.ac.uk/sites/ftp.postgresql.org/binary/v7.3.1/windows/pgsql731wina1.exe 1. Giriş Turquaz programını windows üzerinde çalıştırmak için öncelikle bilgisayarınızda postgresql ve Java nın kurulu olması gerekli. Aşağıdaki bilgi ve dökümanlar windows 2000 işletim sistemi üzerinde

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

C Konsol ve Komut Satırı

C Konsol ve Komut Satırı C Konsol ve Komut Satırı Öğr. Gör. M. Ozan AKI Rev 1.0 C:\> Konsol ekranı, işletim sistemi ve dosya yönetiminin metin tabanlı yönetilebilmesini sağlayan arabirimdir. Windows işletim sistemi ortaya çıkmadan

Detaylı

Yükleme kılavuzu Fiery Extended Applications 4.2 ile Command WorkStation 5.6

Yükleme kılavuzu Fiery Extended Applications 4.2 ile Command WorkStation 5.6 Yükleme kılavuzu Fiery Extended Applications 4.2 ile Command WorkStation 5.6 Fiery Extended Applications Package (FEA) v4.2 Fiery Server ile ilişkili görevleri gerçekleştirmek için Fiery uygulamalarını

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ C Programlama Dilinin Temelleri C Programlama Dili'ni popüler kılan önemli nedenler aşağıda listelenmiştir: C, güçlü ve esnek bir dildir. C ile işletim sistemi veya derleyici yazabilir,

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

Qt Pencereleri. Pencere var, pencere var. Designer Dosyaları. Kaya Oğuz. Bu belge ve içerisindeki kodlar GPL lisanslıdır.

Qt Pencereleri. Pencere var, pencere var. Designer Dosyaları. Kaya Oğuz. Bu belge ve içerisindeki kodlar GPL lisanslıdır. Qt Pencereleri Kaya Oğuz Bu belge ve içerisindeki kodlar GPL lisanslıdır. Pencere var, pencere var Daha önce okumadıysanız, belgeler sayfasından tekrar bir Qt'ye Giriş belgesine bakın.

Detaylı

Hafta 2 EkLab 1. C ye Giriş. Ozan ŞENYAYLA Çağrı YENİCE

Hafta 2 EkLab 1. C ye Giriş. Ozan ŞENYAYLA Çağrı YENİCE Hafta 2 EkLab 1 C ye Giriş Ozan ŞENYAYLA Çağrı YENİCE http://ozansenyayla.com/programlama.php KAYNAK: Görkem Paçacı / İlker Korkmaz / Kaya Oğuz - İEU BT Hafta 2 GİRİŞ EkLab 1 Programlama, genel olarak,

Detaylı

Hızlı Başlangıç Kılavuzu

Hızlı Başlangıç Kılavuzu Hızlı Başlangıç Kılavuzu 1. Adım Windows Server 2012'yi Yükleme Bilgisayarınız Windows Server 2012 yüklenmiş olarak teslim edildiyse, 1. Adım'ı atlayabilirsiniz. Yükleme Yönergeleri Yükleme yönergeleri,

Detaylı

Erişim konusunda iki taraf vardır:

Erişim konusunda iki taraf vardır: Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Paket (package) Paketler kütüphaneyi oluşturan elemanlardır. PaketKullanim.java Varsayılan Paket

Detaylı

Statik veri üyeleri sınıf dosyası içerisinde, ancak sınıf bildirimi dışında başlatılmalıdır. Statik üye fonksiyonları

Statik veri üyeleri sınıf dosyası içerisinde, ancak sınıf bildirimi dışında başlatılmalıdır. Statik üye fonksiyonları Statik Veri Üye ve Metotlar Genel olarak bir sınıfa ait nesnelerin verileri bellekte farklı bölgelerde yer alır. Ancak bazı durumlarda, belirli bir üyenin ortak bir alanda tek bir kopyasının bulunması

Detaylı

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 2 hafta Ödev No : 7 ****(ilk 3 soru çıktı üzerinde el

Detaylı

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005 Kaynak Kodlardan Derleme Turquaz Muhasebe Versiyon 0.2 Hüseyin Ergün 26 Mart 2005 Turquaz Muhasebe, Kaynak Kodları Derleme Sayfa 2 İçindekiler İÇİNDEKİLER 2 GEÇMİŞ DEĞİŞİKLİKLER 3 1. GİRİŞ 4 1.1 AÇIKLAMA

Detaylı

OMNET++ 4.2.2. Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

OMNET++ 4.2.2. Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü OMNET++ 4.2.2 Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları OMNET++ OMNET++ (Objective Modular Network Testbed in C++), nesneye yönelik (objectoriented)

Detaylı

Fonksiyonlar (Altprogram)

Fonksiyonlar (Altprogram) Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.

Detaylı

MVC. Görüldüğü üzere 2 adet cs. Dosyası oluşturdum. Birincisi çok satır kodu (20-25) içeren büyük işlerin yapılacağı class. İsmi buyuk_isler.

MVC. Görüldüğü üzere 2 adet cs. Dosyası oluşturdum. Birincisi çok satır kodu (20-25) içeren büyük işlerin yapılacağı class. İsmi buyuk_isler. MVC MVC Anlamakta zorluk çekiyorsanız bu yazımı dikkatle okumanızı tavsiye ediyorum. Derslerde öğrencilerimin en çok zorlandıkları konu MVC nin mantığıdır. Önce MVC anlamaya çalışmak yerine MVC den biraz

Detaylı

ECLIPSE IDE C/C++ Geliştiricileri Đçin

ECLIPSE IDE C/C++ Geliştiricileri Đçin ECLIPSE IDE C/C++ Geliştiricileri Đçin ECLIPSE C/C++ IDE Kurulum ve Genişletme Eclipse C/C++ IDE MinGW Glut QT Kurulum Entegrasyon ve Temel Örnekler Mehmet Taşköprü ÖNSÖZ Bu doküman Eclipse IDE C/C++ Geliştiricileri

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

Chain of Responsibility Tasarım Şablonu KurumsalJava.com Chain of Responsibility Tasarım Şablonu KurumsalJava.com Özcan Acar Bilgisayar Mühendisi http://www.ozcanacar.com Chain of responsibility sorumluluk zinciri anlamına gelmektedir. Sisteme gönderilen bir

Detaylı

Bölüm 10. Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1

Bölüm 10. Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1 Bölüm 10 Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1 10. Bölüm konuları Çağırma / geri dönme semantiği Yığıt-dinamik yerel değişkeni olan altprogramların gerçeklenmesi İçiçe altprogramlar Statik

Detaylı

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. 1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result

Detaylı

Bu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır.

Bu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır. WINDOWS 2003 SUNUCULARI ÜZERĐNE PHP YÜKLENMESĐ ERDAL YAZICIOĞLU erdal(at)gmail.com http://barbarossa41.wordpress.com Merhabalar, Çözümpark.com adresinde bir kullanıcı ASP ve PHP yi aynı sunucu üzerinde

Detaylı

ZWCAD +2012. Önemli. Tek Kullanıcı Sürümü Lisans Kodu Kullanarak Yükleme Kılavuzu

ZWCAD +2012. Önemli. Tek Kullanıcı Sürümü Lisans Kodu Kullanarak Yükleme Kılavuzu Sayfa - 2 ZWCAD +2012 Tek Kullanıcı Sürümü Lisans Kodu Kullanarak Yükleme Kılavuzu Önemli ZWCAD de aktivasyon işlemini yaptığınızda lisans kodu, yükleme yapılan bilgisayara kilitlenir. Bu sebeple lisans

Detaylı

C için tümleşik geliştirme ortamı (IDE) kurulumları

C için tümleşik geliştirme ortamı (IDE) kurulumları C için tümleşik geliştirme ortamı (IDE) kurulumları 1. Code::Blocks IDE 2. Eclipse IDE 3. Dev-C++ IDE 4. Code::Blocks EDU-Portable (CodeBlocks-EP) IDE ( IDE: Integrated Development Environment http://tr.wikipedia.org/wiki/t%c3%bcmle%c5%9fik_geli%c5%9ftirme_ortam%c4%b1

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ WEB TEKNOLOJİLERİ VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

Toplu Kayıt Kullanıcı Kitapçığı

Toplu Kayıt Kullanıcı Kitapçığı OnSync Web Toplantı, Sanal Sınıf, Web ve Video Toplantı Servisi Toplu Kayıt Kullanıcı Kitapçığı 1 Öncelikle Etgi Grup u tercih ettiğiniz için teşekkür ederiz. OnSync sistemine giriş yapmadan önce toplu

Detaylı

HUAWEI Cihazlara Erişim Yöntemleri

HUAWEI Cihazlara Erişim Yöntemleri HUAWEI Cihazlara Erişim Yöntemleri 24/06/2013 GİRİŞ Bir Huawei cihaza nasıl erişiriz sorusuna cevap vermek için, öncelikle belirlenmesi gereken, cihaz üzerinde ne yapılmak istendiğidir. Cihaza bir dosya

Detaylı

Kalıtım (Inheritance)

Kalıtım (Inheritance) Kalıtım (Inheritance) Kocaeli Üniversitesi Kalıtım (Inheritance) Kodların çok kez kullanımı (Software reusability) Mevcut Sınıflardan Yeni Sınıflar Oluşturma Mevcut sınıfın değişken ve fonksiyonları kullanılabilir.

Detaylı

JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI

JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI WINDOWS TA JAL IN İNDİRİLMESİ VE KURULMASI JAL derleyicisi aslında Jal.exe isimli tek bir dosyadan oluşur. Jal.exe derleyici programı, yazılan JAL programı

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

Detaylı

EndNote Web Hızlı Başvuru kartı

EndNote Web Hızlı Başvuru kartı EndNote Web Hızlı Başvuru kartı THOMSON SCIENTIFIC Web öğrencilere ve araştırmacılara çalışmalarını yazarken yardımcı olacak şekilde tasarlanmış Web tabanlı bir servistir. ISI Web of Knowledge, EndNote,

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

Linux Assembly Programlamaya Giriş

Linux Assembly Programlamaya Giriş Linux Assembly Programlamaya Giriş Barış Metin Konular gcc / gas / ld Intel ve AT&T söz dizimleri gdb INT 80H C kütüphane fonksiyonları Stack Frame Örnek

Detaylı

TEMPLATES. Binnur Kurt kurt@cs.itu.edu.tr. Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1

TEMPLATES. Binnur Kurt kurt@cs.itu.edu.tr. Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1 PARAMETRİKÇOKŞEKİLLİLİK: TEMPLATES Binnur Kurt kurt@cs.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi C++ ile Nesneye Dayalı Programlama 1 Sınıf Yapısı Kalıtım Çok Şekillilik Templates

Detaylı

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2; Dosya İşlemleri Nedir? Programlarınızı girdi (input) olarak aldığı verileri bir text dosyasında yada word dosyasında vb. saklamasıdır. Artık C programınızın yaratıp içine veriler koyacağı text dosyasını

Detaylı

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır.

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır. DOSYALAMALAR Programlama bilgilerin her zaman ekrana yazdırılması veya değişkenlerde tutulması yeterli olmayabilir. Programın çalışması sonucu girilen yada hesaplanan her bilgi manyetik ortama programda

Detaylı

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1 Görsel Programlama DERS 01 Görsel Programlama - Ders01/ 1 Takdim Planı Nesneye Dayalı Programlama Kavramı Nesne, Sınıf Kavramı Java Programlama Dili Java Programlama Dili Temel Özellikleri Java Sürümleri

Detaylı

Lyx Nedir? Belge Hazırlama Bir Örnek Ekler L Y X. Esin Çavlan. 5 Mart 2012

Lyx Nedir? Belge Hazırlama Bir Örnek Ekler L Y X. Esin Çavlan. 5 Mart 2012 LYX 5 Mart 2012 HF Çalışma Topluluğu İçerik 1 Giriş Kurulum Temel Kavramlar 2 3 LYX te Sunum Hazırlanması 4 Giriş Kurulum Temel Kavramlar LYX Nedir?, teknik ve bilimsel belgeler hazırlamada uzmanlaşmış

Detaylı

Data Structures Lab 1 2012-Güz

Data Structures Lab 1 2012-Güz Data Structures Lab 1 2012-Güz C# Ortamı Tanıtımı ve Uygulama Geliştirilmesi Visual Studio 2010 Ortamının Temini -NYG'ndan MSDN üyeliği için başvuru dilekçesi alınıp doldurulmalı ve yine NYG'ye teslim

Detaylı

Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri

Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri Öğretim Teknolojileri Destek Ofisi Instructional Technologies Support Office Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri Semboller, Ses Ekleme, Video Ekleme Orta Doğu Teknik Üniversitesi

Detaylı

Bilgiyolu Yayıncılık Elektronik Sunum Programı Kurulum Kılavuzu

Bilgiyolu Yayıncılık Elektronik Sunum Programı Kurulum Kılavuzu Bilgiyolu Yayıncılık Elektronik Sunum Programı Kurulum Kılavuzu 2014 Genel Bilgiler 1. Sunumları İndirmeye Başlamadan Sunum programını ve sunumları indirmeden önce www.bilgiyoluyayincilik.com adresindeki

Detaylı

// hataları işaret eden referans

// hataları işaret eden referans System sınıfı java.lang.object java.lang.system public final class System extends Object System sınıfı, java.lang paketi içindedir. Platformdan bağımsız olarak sistem düzeyindeki eylemleri belirleyen dingin

Detaylı

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ TBIL-303-01 Veri Yapıları ve Algoritmalar LABİRENT HAZIRLAYAN 122132151 Fahri DÖNMEZ DANIŞMAN

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Diziler ile Pointer Arası İlişki Bir dizi adı sabit bir pointer gibi düşünülebilir. Diziler ile pointer lar yakından ilişkilidir. Pointer lar değişkenleri gösterdikleri gibi,

Detaylı

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. C PROGRAMLAMA FONKSİYONLAR Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en kolay yolu onları küçük parçalar halinde yazıp sonra

Detaylı

İNTERNET TABANLI PROGRAMLAMA

İNTERNET TABANLI PROGRAMLAMA İNTERNET TABANLI PROGRAMLAMA VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

DESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri

DESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri LOGO PROGRAM KURULUMU VE AYARLARI Logo programlarının yüklemesi için kullanılacak,setup dosyaları ftp://download.logo.com.tr/ adresinden indirilerek yapılır. Örneğin Kobi ürünleri için; ftp://download.logo.com.tr/windows/kobi/guncel/go_plus/klasöründen

Detaylı

Değerli Datasoft Kullanıcısı;

Değerli Datasoft Kullanıcısı; Değerli Datasoft Kullanıcısı; Datasoft Yazılım, Genel Muhasebe, İşletme Defteri ve BBS (Bürü Bilgi Sistemi) Serbest Meslek Defteri Programları Beyannameler bölümümden çalışan; beyanname paketlerini gönderme,

Detaylı

PARALOG POS AKTARIMLARI. Derece Yazılım 2009

PARALOG POS AKTARIMLARI. Derece Yazılım 2009 PARALOG POS AKTARIMLARI Derece Yazılım 2009 POS (Point of Sale) Satış Noktası anlamına gelen bu terim perakende ticarette kullanılan gelişmiş yazarkasalar için de kullanılmaktadır. POS cihazları sahip

Detaylı

GĐRĐŞ. 1 Nisan 2009 tarihinde BDP programının yeni bir sürümü yayınlanmış ve bu sürümde yapılan değişikliklere

GĐRĐŞ. 1 Nisan 2009 tarihinde BDP programının yeni bir sürümü yayınlanmış ve bu sürümde yapılan değişikliklere e-bildirge Versiyon : Yakamoz 3.6.7.7 ve Genel Muhasebe 3.6.7.8 İlgili Programlar : Yakamoz ve üstü ticari paketler & Genel Muhasebe Tarih : 02.04.2009 Doküman Seviyesi (1 5) : 3 (Tecrübeli Kullanıcı)

Detaylı

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK 1.1 Programın Başlatılması 1.2 Yeni Proje Oluşturma 1.3 MCU Seçimi Yrd.Doç.Dr.Bülent Çobanoğlu 1.4 MCU Programlama Dil Seçimi 1.5 Proje İsmi

Detaylı

Ders 8 Konu Özeti ve Problemler

Ders 8 Konu Özeti ve Problemler Ders 8 Konu Özeti ve Problemler C# ve Nesne Yönelimli Programlamanın 3 Prensibi Kapsülleme (Encapsulation) Nesne yönelimli programlamanın ilk prensibi kapsülleme (encapsulation) olarak adlandırılır. Bu

Detaylı

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 11. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Fonksiyonlar Yük. Müh. Köksal Gündoğdu 2 C++ Hazır Fonksiyonlar Yük. Müh. Köksal Gündoğdu 3 C++ Hazır Fonksiyonlar 1. Matematiksel

Detaylı

YMT219 VERİ YAPILARI ÖDEV-1

YMT219 VERİ YAPILARI ÖDEV-1 YMT219 VERİ YAPILARI ÖDEV-1 1. İkiliBul yordamı aşağıda verilmiştir. İkiliBul yordamı A dizisi içerisinde 2 tane eşit sayı bulursa true bulamazsa false döndürmektedir. public boolean ikilibul(int[] A){

Detaylı

Temel Bilgisayar Programlama

Temel Bilgisayar Programlama BÖLÜM 11: : Birçok programda, bazı verilerin disk üzerinde saklanmasına gerek duyulur. Bütün programlama dillerinde, sabit disk sürücüsü (Hard Disk Drive, HDD) üzerindeki verileri okumak veya diske veri

Detaylı

BİLGİSAYAR PROGRAMLAMA. Yrd. Doç. Dr. Beytullah EREN

BİLGİSAYAR PROGRAMLAMA. Yrd. Doç. Dr. Beytullah EREN BİLGİSAYAR PROGRAMLAMA Yrd. Doç. Dr. Beytullah EREN beren@sakarya.edu.tr 0264 295 5642 EXCEL DE DOĞRULAMA VE DENETLEME DOĞRULAMA Bir hücre grubuna veri girişi için doğrulama kriterleri (tamsayı, ondalıklı,

Detaylı

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar Değer Döndüren Fonksiyonlar Çok Parametreli Fonksiyonlar Değişken Kapsamları Çok Fonksiyonlu Programlar Fonksiyon Tanımı Karmaşıkveuzunprogramları,

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

Mac OS Meta 4 Kurulumu

Mac OS Meta 4 Kurulumu Mac OS Meta 4 Kurulumu Meta Trader4 Müşteri Terminali, Wine kullanan Mac OS bilgisarında kurulup çalıştırılabilir. Wine, Microsoft Windows Sitemleri için geliştirilen aplikasyonları Unix tabanlı sistemlerde

Detaylı

M.Ali VARDAR 2006 Qt'ye Giriş QT 'YE GIRIŞ

M.Ali VARDAR 2006 Qt'ye Giriş QT 'YE GIRIŞ QT 'YE GIRIŞ Linux dünyasında geliştirilen uygulamaların büyük bir çoğunluğu iki farklı grafik kütüphanesi kullanılarak yazılmaktadır. Bunlardan biri GTK diğeri ise Qt kitaplıklarıdır. Qt kütüphanesi X

Detaylı

Tomcat Uygulama Sunucusunun Kurulumu. İlk olarak http://tomcat.apache.org adresine gidiyoruz.

Tomcat Uygulama Sunucusunun Kurulumu. İlk olarak http://tomcat.apache.org adresine gidiyoruz. Tomcat Uygulama Sunucusunun Kurulumu İlk olarak http://tomcat.apache.org adresine gidiyoruz. Tomcat Uygulama Sunucusunun Kurulumu-2 Binary Distributions başlığı altındaki Core: seçeneğinin altında 32-bit

Detaylı

Metin Dosyaları. Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü

Metin Dosyaları. Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü Metin Dosyaları Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü Metin Dosyaları Metin dosyaları, verileri bir kere hazırlayıp, ikincil saklama

Detaylı

HESAP MAKİNASI YAPIMI

HESAP MAKİNASI YAPIMI HESAP MAKİNASI YAPIMI 1..Aşağıdakine benzer görünüm ve butonları hazırlayın. 2. 24. Butonun içerisine aşağıdaki kodları yazın. 3. Yeni bir layer ekleyip Frame1 F9 na aşağıdaki kodları ekleyelim. 4. Butonlardan

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama JDBC (Java Database Connectivity) Üst Düzey Programlama-ders07/ 1 JDBC JDBC ilişkisel veritabanlarına erişim için Java dilinde kullanılan standart bir kütüphanedir. Bu kütüphanedeki

Detaylı

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER BLM401 Dr.Refik SAMET 1 GİRİŞ (1/3) Güvenlik, verilerin veya bilgilerin saklanması, kullanılması ve taşınması esnasında bilgilerin

Detaylı

Copyright 2006 Kaya Oğuz - http://www.kuzeykutbu.org/ Qt Türkiye - http://qt.comu.edu.tr/

Copyright 2006 Kaya Oğuz - http://www.kuzeykutbu.org/ Qt Türkiye - http://qt.comu.edu.tr/ Qt ile GUI Programlama'ya Giriş Kaya Oğuz Copyright 2006 Kaya Oğuz - http://www.kuzeykutbu.org/ Qt Türkiye - http://qt.comu.edu.tr/ Bu belge ve içeriğindeki kodlar GPL lisansı altındadır.

Detaylı

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin); case 2 : C = 0.5088-0.0011*(B-135); break; case 3 : C = 0.4978-0.0010*(B-145); break; case 4 : C = 0.4878-0.0009*(B-155); break; default : printf("yanlış seçenek\n");} cout

Detaylı

1 PROGRAMLAMAYA GİRİŞ

1 PROGRAMLAMAYA GİRİŞ İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)

Detaylı

Standard Template Library

Standard Template Library Standard Template Library Uluslararası Bilgisayar Enstitüsü Ege Üniversitesi Ahmet Bilgili & Serkan Ergun STL ANSI/ISO Standard C++ ın içerdiği algoritmalar ANSI/ISO Standard C++ ın içerdiği algoritmalar

Detaylı

ORACLE TNS (TRANSPARENT NETWORK SUBSTRATE) LISTENER YAPILANDIRMASI

ORACLE TNS (TRANSPARENT NETWORK SUBSTRATE) LISTENER YAPILANDIRMASI ORACLE TNS (TRANSPARENT NETWORK SUBSTRATE LISTENER YAPILANDIRMASI 1 Farklı ortamlardan, kurduğunuz veritabanına bağlanılması listener yapılandırmasıyla sağlanır. Genellikle standart olan ayarlarla 1521

Detaylı

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar: Dosyalama Çoğu programda, bazı verilerin disk üzerinde saklanmasına gerek duyulur. C programlama dilinde, disk dosyasına erişme (okuma ve yazma için) iki farklı yöntemle yapılır. Bunlar üst düzey ve alt

Detaylı

Mpuantor 2.7 Client Kurulumu

Mpuantor 2.7 Client Kurulumu Mikado Puantör 2.7 Mpuantor 2.7 Client Kurulumu 10.10.2014 Ümit Dinçer 2014,. Tüm Hakları Saklıdır. Mpuantor 2.7 Client Kurulumu i İ Ç İ N D E K İ L E R Mpuantor Yedekleme... 1 Mpuantor yedeklemesi...

Detaylı

JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 2. Bölüm 1- JasperReports Server ve Ireport Nedir?

JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 2. Bölüm 1- JasperReports Server ve Ireport Nedir? JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 1.1- JasperReports Server ve Ireport Nedir? 1.2- JasperReports Server ve Ireport Kurulumu 1.3- JasperReports Server Genel

Detaylı

Açık Kaynak Kodlu Optik Sınav Kağıtları Depolama Sistemi

Açık Kaynak Kodlu Optik Sınav Kağıtları Depolama Sistemi Açık Kaynak Kodlu Optik Sınav Kağıtları Depolama Sistemi Kerem Erzurumlu Aykut Karakaya kerem@linux.org.tr aykut.karakaya@bil.omu.edu.tr Ondokuz Mayıs Üniversitesi Bilgisayar Mühendisliği Bölümü Gereksinim

Detaylı