ÇANAKKALE ONSEKĠZ MART ÜNĠVERSĠTESĠ MÜHENDĠSLĠK-MĠMARLIK FAKÜLTESĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ BÖLÜMÜ

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

Download "ÇANAKKALE ONSEKĠZ MART ÜNĠVERSĠTESĠ MÜHENDĠSLĠK-MĠMARLIK FAKÜLTESĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ BÖLÜMÜ"

Transkript

1 ÇANAKKALE ONSEKĠZ MART ÜNĠVERSĠTESĠ MÜHENDĠSLĠK-MĠMARLIK FAKÜLTESĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ BÖLÜMÜ BĠTĠRME ÖDEVĠ BAġLIĞI AKILLI EV OTOMASYONU PROTOTĠPĠ BĠLEġENLERĠNĠN, WEB TABANLI UYGULAMA VE MOBĠL ĠġLETĠM SĠSTEMĠ UYGULAMASI ĠLE UZAKTAN KONTROLÜNÜ SAĞLAMAK. Yazarın Adı SOYADI Semih ERDEM DanıĢmanın Adı SOYADI Cengiz TOGAY Mayıs, 2012 ÇANAKKALE

2 BĠTĠRME ÖDEVĠ BAġLIĞI AKILLI EV OTOMASYONU PROTOTĠPĠ BĠLEġENLERĠNĠN, WEB TABANLI UYGULAMA VE MOBĠL ĠġLETĠM SĠSTEMĠ UYGULAMASI ĠLE UZAKTAN KONTROLÜNÜ SAĞLAMAK. Çanakkale Onsekiz Mart Üniversitesi Mühendislik-Mimarlık Fakültesi Bitirme Ödevi Bilgisayar Mühendisliği Bölümü Yazarın Adı ve SOYADI Semih ERDEM DanıĢmanın Adı ve SOYADI Cengiz TOGAY Mayıs, 2012 ÇANAKKALE ii

3 SEMĠH ERDEM, tarafından YRD. DOÇ. DR. CENGĠZ TOGAY yönetiminde hazırlanan AKILLI EV OTOMASYONU PROTOTĠPĠ BĠLEġENLERĠNĠN, WEB TABANLI UYGULAMA VE MOBĠL ĠġLETĠM SĠSTEMĠ UYGULAMASI ĠLE UZAKTAN KONTROLÜNÜ SAĞLAMAK başlıklı çalışma tarafımızdan okunmuş, kapsamı ve niteliği açısından bir Bitirme Ödevi olarak kabul edilmiştir. Jüri Başkanı Jüri Üyesi Jüri Üyesi Bölüm Başkanı Bilgisayar Mühendisliği Bölümü iii

4 TEġEKKÜR Bitirme ödevi projesinde kendisiyle çalışma imkanı sunan, bilgilerini ve yardımlarını bizden esirgemeyen değerli hocam Yrd. Doç. Dr. Cengiz Togay a teşekkür ederim. Projenin prototipinin hazırlanmasında emeği geçen, değerli zamanını bize ayıran Öğr. Gör. Utku Bayram a ve bulunduğum konuma gelmemi sağlayan aileme, tüm hocalarıma, arkadaşlarıma teşekkür ederim. Semih Erdem iv

5 SĠMGELER VE KISALTMALAR JSF (Java Server Faces): Java Sunucu Yüzü. IDE(Integrated Development Environment): Tümleşik Geliştirme Ortamı. Winmo(Windows Mobile): Windows Mobile İşletim Sistemi v

6 BĠTĠRME ÖDEVĠNĠN ADI Akıllı ev otomasyonu prototipi bileşenlerinin, web tabanlı uygulama ve mobil işletim sistemi uygulaması ile uzaktan kontrolünü sağlamak. ÖZET Çalışma bir client/server modelidir. Projede bir ev prototipi oluşturuldu. Prototipe ısı sensörü, ledler, parolalı kapı girişi, alarm sensörü, klima yerine kullanılacak fan ve kapı otomatı eklendi. Yani bir evde olması gereken temel bileşenler yerleştirildi. Amacım bu çalışmada yer alan bileşenleri, internet bağlantısı ile uzaktan kontrolünü sağlamak. Bunu mobile işletim sistemi ve web tabanlı bir uygulama ile başardım. Client tarafta JSF ve PrimeFaces kullanarak web tabanlı bir uygulama arayüzü geliştirdim. Mobil tarafta ise Windows Mobile 6.5 işletim sisteminde uygulama geliştirdim. Prototipte veri durumlarını bir internet bağlantısı ile ağa sunmak gerekiyordu. Bu nedenle bir Java Web Servis yazdım. Web Servis ile Java Communication Api kullanarak, prototipte yer alan bileşenlerin durum bilgilerini seri porttan çekip ağa sundum. Böylece bileşenlerin durum bilgilerini clientlara iletmeyi başardım. Akıllı ev Pic Web Servis Mobil uygulama ġekil 1. Proje şeması vi

7 ĠÇĠNDEKĠLER BİTİRME ÖDEVİ ONAY SAYFASI TEŞEKKÜR SİMGELER VE KISALTMALAR ÖZET Sayfa iii iv v vi BÖLÜM 1-GĠRĠġ Yazılım Geliştirme Ortamlarının Kurulması Eclipse Geliştirme Ortamı Kurulumu Dinamik Web Projesi Oluşturulması Dinamik Web Projesine Primefaces Kütüphanesinin Eklenmesi Microsoft Visual Studio 2008 Ortamının Kurulması Windows Mobile 6.5 Uygulaması Oluşturulması 5-6 BÖLÜM 2- ANA BÖLÜM Web Servisin Oluşturulması Java Communication Api Nedir ve Kurulumu Apache Axis2 ile Web Servis Oluşturma JSF ve Primefaces Kullanarak Web Tabanlı Uygulama Oluşturma Login Ekranının Oluşturulması Login Ekranı View Katmanının Oluşturulması Login Ekranı Model Katmanının Oluşturulması Kullanıcının Login Olabilmesi İçin Veri Tabanı Kontrolü Anasayfanın Oluşturulması Anasayfanın View Katmanının Oluşturulması Anasayfanın Model Katmanının Oluşturulması Ayarların Oluşturulması Ayarların View Katmanının Oluşturulması Ayarların Model Katmanının Oluşturulması vii

8 2.3 Oluşturulan Web Tabanlı Uygulamaya Web Client Özelliği Eklenmesi Mobil İşletim Sistemi Uygulamasının Oluşturulması Mobil Uygulamanın Arayüzünün Oluşturulması Mobil Uygulamaya Web Servisin Eklenmesi Mobil Uygulamanın Akıllı Telefonlar İçin Hazır Hale Getirilmesi Devre Şeması F877 PIC Program KAYNAKLAR 50 ġekiller 51 viii

9 ix

10 BÖLÜM 1 GĠRĠġ Yazılım geliştirmek için gereken ortamın oluşturulması. 1.1 Yazılım Geliştirme Ortamlarının Kurulması. Web tabanlı uygulama ve web servis geliştirimi, Java programlama dili ile gerçekleştirilmesi nedeniyle yazılım geliştirme ortamı olarak Eclipse IDE for Web Developer (Version Indigo Release) seçildi. Winmo 6.5 mobil işletim sistemi uygulaması için yazılım geliştirme ortamı olarak Microsoft Visual Studio 2008 seçildi Eclipse Geliştirme Ortamı Kurulumu. Öncelikle Windows işletim sistemi için Eclipse geliştirme ortamında Java programlama dili ile uygulama geliştirme istiyorsak, bilgisayarımızda Java Runtime Environment ve Java Development Kit yüklü olmalıdır. Bunları adresinden elde edebiliriz. Daha sonra bağlantısından Eclipse IDE for Java EE Developer (Version Indigo 3.7) indirilir. İndirilen dosya sıkıştırılmış dosya şeklindedir ( zip ya da tar.gz ). Bu dosyayı sizin seçiminiz olan bir dizene sıkıştırılmış halden dışarı çıkarılır. Eclipse.exe çalıştırılır. Şekil 1.1 deki görüntü elde edilir. 1

11 ġekil 1.1. Eclipse geliştirme ortamı arayüzü Dinamik Web Projesi Oluşturulması. Dinamik web projesi oluşturmak için öncelikle bir uygulama sunucusuna ve gerekli jar dosyalarına ihtiyacımız var. Uygulama sunucusu olarak Tomcat 6.0 seçildi. adresinden uygulama elde edilebilir. Gerekli olan jstl-1.2.jar sayfasından bilgisayarımıza indiriyoruz. Öncelikle uygulama sunucumuzu kuralım. Şekil 1.1 de görülen en alt panelde Servers kısmına sağ tıklayın New > Server diyerek Tomcat v6.0 Server ı seçip Next diyoruz. Sonraki ekrandan Browse diyerek indirdiğimiz Tomcat uygulama sunucusu dosyasının yolunu gösteririz. JRE yi jr6 olarak seçip Finish diyoruz. Sonra Servers panelinden Tomcat i çift tıklarız ve açılan ekrandan Use Tomcat Installation seçilir. Ardından kaydedilir. Şekil 1.2 de gösterilmektedir. 2

12 ġekil 1.2. Use Tomcat installation. Servers panelinden Tomcat i başlattığımızda bir tarayıcıya yazarız ve karşımıza şekil 1.3 teki gibi görüntü ortaya çıkar. ġekil 1.3. Tomcat başlatıldığında alınan ekran görüntüsü. 3

13 Şimdi dinamik web projesi oluşturabiliriz. Eclipse ekranından File -> New -> Dynamic Web Project diyoruz. Sırasıyla aşağıdaki şekilleri izliyoruz. ġekil 1.4. Dynamic web project başlangıç görünümü. Gelecek iki ekranı da next diyerek geçelim. JSF kütüphanelerini ekleyeceğimiz kısma geçelim. ġekil 1.5. JSF kütüphane ekranı. 4

14 Şekil 1.5 deki ekrandan dosya yükleme butonuna tıklarız. JSF için Oracle ın son sürüm kütüphanelerini yükleriz. Yükleme işlemi bittikten sonra Finish deriz. Projeye sağ tıklayıp Run As > Run on Server dersek projemizi çalıştırırız Dinamik Web Projesine Primefaces Kütüphanesinin Eklenmesi. Projede web tabanlı uygulamada kullanışlı ve güzel bir arayüz oluşturmak amacıyla JSF için Primefaces kütüphanesini kullandım. Peki nedir Primefaces? Primefaces bileşenleri sayesinde yazılımcıyı HTML, CSS, Javascript ile ilgili detaylardan kurtarıyor ve yapılacak ana işe odaklanmasını sağlıyor. Primefaces açık kaynak kodlu bir yazılım ve Türkiye de geliştirilip uluslararası pazarda kendine yer edinmiş nadir projelerden. Daha detaylı bilgileri adresinden alabilirsiniz. adresinden son versiyonları indirilip, bu jar dosyalarını(kütüphane) projeye sağ tıklayıp Build Path > Configure Build Path deriz ve Libraries kısmından projeye import ederiz Microsoft Visual Studio 2008 Ortamının Kurulması. dan MVS 2008 i indirip kuruyoruz. adresinden Windows Mobile 6.5 Professional Developer Tool Kit (USA).msi indirilir ve bilgisayarımıza kuruyoruz Windows Mobile 6.5 Uygulaması Oluşturulması. Visual Studio ya gerekli kurulumları yaptıktan sonra File -> Project diyoruz ve Visual C# kısmından Smart Device ı seçip gerekli proje ismini verdikten sonra karşımıza şekil 1.6 daki ekran geliyor. 5

15 ġekil 1.6. Winmo 6.5 yeni proje oluşturma. Gelen ekrandan yukarıdaki işlemleri yapıp Device Application seçilir ve Ok a basılır. Böylece Windows Mobile 6.5 uygulaması oluşturmaya hazırız. 6

16 BÖLÜM 2 ANA BÖLÜM 2.1 Web Servisin Oluşturulması. Giriş bölümünde IDE üzerine uygulama sunucusu kurma ve dinamik web projesi oluşturma olayını anlattık. Web servis implementasyonu için Apache Axis2 kullandım. Proje oluşturmadan önce web servis için gerekli jar dosyalarını adresinden indirelim. Daha sonra Eclipse de Open -> Window -> Web Services -> Axis2 Preferences diyerek indirdiğimiz dosyaların yolunu gösterelim. Şimdi web servis için Axis2 özellikleriyle desteklenen bir web projesi oluşturmaya hazırız. Yeni bir adı Axis2WebService olan web projesi oluşturalım. Bu Bölüm de anlatıldı. Çıkan ekrandan Modify butonuna tıklayalım karşımıza çıkan ekran Şekil 2.1 de gösterilmektedir. Çıkan ekrandan Axis2 Web Services i işaretleyelim. Sonrasında Bölüm de anlatılan prosedürleri uygulayalım. ġekil 2.1. Axis2 web servis seçimi. 7

17 Projeyi oluşturduktan sonra projeye Service paketi ekleyelim. Pakete WP7Service sınıfımızı ekleyelim. Oluşturulan sınıfımızın kaynak kodları şu şekildedir. package Service; import java.io.serializable; import java.util.vector; import comport.javacomport; public class WP7Service { private static final long serialversionuid = 1L; private static boolean doorstatus; private static boolean windowstatus; private static boolean airconditionerstatus; private static boolean alarmstatus; private static boolean lightstatus; private static int roomtemperature; private Vector servicevector; private static int kontrol = 0; private static int kontrol1 = 0; private static JavaComport jcomport; public WP7Service() { public String semih() { return "Deneme"; public void yazdir() { kontrol++; if (kontrol == 1) { jcomport = new JavaComport(); try { servicevector = new Vector(); servicevector = jcomport.baslat(); 8

18 catch (InterruptedException e) { // TODO Auto-generated catch block e.printstacktrace(); if (Integer.parseInt((String) + 1)) == 1) { airconditionerstatus = true; else { airconditionerstatus = false; if (Integer.parseInt((String) servicevector.get(servicevector.indexof("$") + 1)) == 1) { lightstatus = true; else { lightstatus = false; if (Integer.parseInt((String) servicevector.get(servicevector.indexof("%") + 1)) == 1) { doorstatus = true; else { doorstatus = false; int a=integer.parseint((string) servicevector.get(servicevector.indexof("&") + 1)); int b=integer.parseint((string) servicevector.get(servicevector.indexof("&") + 2)); roomtemperature=(a*10)+b; int room =Integer.parseInt( (String) (servicevector.get(servicevector.indexof("<") + 1))); roomtemperature = Integer.parseInt(room); 9

19 System.out.println("room: " + room); public static boolean isdoorstatus() { return doorstatus; public static void setdoorstatus(boolean doorstatus) { if (WP7Service.doorStatus == false) { WP7Service.doorStatus = true; try { jcomport.mywrite("d"); catch (InterruptedException e) { e.printstacktrace(); else if (WP7Service.doorStatus == true) { WP7Service.doorStatus = false; try { jcomport.mywrite("e"); catch (InterruptedException e) { e.printstacktrace(); public static boolean isairconditionerstatus() { return airconditionerstatus; public static void setairconditionerstatus(boolean airconditionerstatus) { if (WP7Service.airConditionerStatus == false) { WP7Service.airConditionerStatus = true; try { jcomport.mywrite("f"); 10

20 catch (InterruptedException e) { e.printstacktrace(); else if (WP7Service.airConditionerStatus == true) { WP7Service.airConditionerStatus = false; try { jcomport.mywrite("g"); catch (InterruptedException e) { e.printstacktrace(); public static boolean isalarmstatus() { return alarmstatus; public static void setalarmstatus(boolean alarmstatus) { WP7Service.alarmStatus = alarmstatus; public static boolean islightstatus() { return lightstatus; public static void setlightstatus(boolean lightstatus) { if (WP7Service.lightStatus == false) { WP7Service.lightStatus = true; try { jcomport.mywrite("l"); catch (InterruptedException e) { e.printstacktrace(); else if (WP7Service.lightStatus == true) { WP7Service.lightStatus = false; try { 11

21 jcomport.mywrite("k"); catch (InterruptedException e) { e.printstacktrace(); public static int getroomtemperature() { return roomtemperature; public static void setroomtemperature(int roomtemperature) { WP7Service.roomTemperature = roomtemperature; public static boolean iswindowstatus() { return windowstatus; public static void setwindowstatus(boolean windowstatus) { WP7Service.windowStatus = windowstatus; Sınıfımız bu şekilde yazıldıktan sonra bir comport paketi yaratalım. Sınıfımızın ismini JavaComport olarak verdikten sonra aşağıdaki kodları ekleyelim. JavaComport sınıfı port üzerinden bileşenlerimizin donanımsal olarak bağlı olduğu PIC ile haberleşen sınıf. MyWrite fonksiyonu seri porttan yazma, myread fonksiyonu seri porttan okuma işlemini gerçekleştirir. package comport; import java.io.*; import java.util.*; import javax.comm.*; public class JavaComport implements Runnable, SerialPortEventListener { static CommPortIdentifier portid; static String messagestring; 12

22 static SerialPort serialport; static OutputStream outputstream; Thread readthread; InputStream inputstream; private static int kontrol = 1; private Vector vector ; 2000); public Vector baslat() throws InterruptedException { messagestring = "+b"; vector = new Vector(); mywrite(""); myread(); kontrol++; Thread.sleep(500); for (int i = 0; i < vector.size(); i++) { System.out.print(vector.get(i)); System.out.println(); return vector; public JavaComport() { try { portid = CommPortIdentifier.getPortIdentifier("COM4"); catch (NoSuchPortException e1) { // TODO Auto-generated catch block e1.printstacktrace(); try { serialport = (SerialPort) portid.open("simplewriteapp", catch (PortInUseException e) { e.printstacktrace(); 13

23 public void mywrite(string string) throws InterruptedException { if(string == "f") messagestring = "+f"; else if(string == "g") messagestring = "+g"; else if(string == "l") messagestring = "+l"; else if(string == "k") messagestring = "+k"; else if(string == "d") messagestring = "+d"; else if(string == "e") messagestring = "+e"; try { outputstream = serialport.getoutputstream(); catch (IOException e) { try { serialport.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); catch (UnsupportedCommOperationException e) { try { outputstream.write(messagestring.getbytes()); catch (IOException e) { Thread.sleep(500); public void myread() throws InterruptedException { try { inputstream = serialport.getinputstream(); catch (IOException e) { System.out.println(e); 14

24 try { if (kontrol == 1) serialport.addeventlistener(this); catch (TooManyListenersException e) { System.out.println(e); serialport.notifyondataavailable(true); try { serialport.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); catch (UnsupportedCommOperationException e) { System.out.println(e); readthread = new Thread(this); readthread.start(); public void run() { try { Thread.sleep(20000); catch (InterruptedException e) { System.out.println(e); public void serialevent(serialportevent event) { switch (event.geteventtype()) { case SerialPortEvent.BI: case SerialPortEvent.OE: case SerialPortEvent.FE: 15

25 case SerialPortEvent.PE: case SerialPortEvent.CD: case SerialPortEvent.CTS: case SerialPortEvent.DSR: case SerialPortEvent.RI: case SerialPortEvent.OUTPUT_BUFFER_EMPTY: break; case SerialPortEvent.DATA_AVAILABLE: byte[] readbuffer = new byte[1]; try { while (inputstream.available() > 0) { int numbytes = inputstream.read(readbuffer); vector.add(new String(readBuffer)); catch (IOException e) { System.out.println(e); break; Aslında JavaComport sınıfını kullanabilmek için Java Communication Api yi projeye tanıtmamız gerekiyor Java Communication Api Nedir ve Kurulumu. Java Communication Api Windows İşletim Sistemi nde COM portlara erişimi sağlar. Bu Api ile her port için bir nesne yaratabiliriz, portları açabiliriz, asenkron ve senkron iletişim sağlayabiliriz. Biz de prototipteki bileşenlerin durumlarına erişmek ve durumlarını değiştirmek için COM portları kullanacağız. Bunu ise RS-232 donanımı ile sağlarız html adresinden Api yi indirelim. Api dosyasında bulunan dosyalar 16

26 comm.jar, win32com.dll, javax.comm.properties. Win32com.dll dosyası Windows işletim sisteminde System32 klasörüne atılır. Comm.jar ve javax.comm.properties dosyaları ise projeye import edilir Apache Axis2 ile Web Servis Oluşturma. Sınıflarımızı oluşturup, Java Communication Api yi projemize eklendikten sonra WP7Service sınıfımıza sağ tıklıyoruz ve New -> Other -> Web Service diyoruz. Şekil 2.2 deki görüntüyü elde ederiz. ġekil 2.2. Web servis uygulaması için ilk adım. Şekil 2.2 deki ekrandan Web service runtime: Apache Axis i tıklarız. Karşımıza çıkan Service Deployment Configuration ekranından Apache Axis2 yi seçelim. Gelecek ekranları Next diyerek geçelim ve böylece web servisimiz oluşturulmuş oldu. Projeyi Tomcat uygulama sunucumuzda çalıştırdığımız zaman, tarayıcıya eğer 8080 portundan çalışıyorsak yazarsak Şekil 2.3 teki ekran bizi karşılar. 17

27 ġekil 2.3. Apache Axis2 web servis karşılama ekranı. 2.2 JSF ve Primefaces Kullanarak Web Tabanlı Uygulama OluĢturma. Bölüm de dinamik web uygulamasına Primefaces kütüphanesi nasıl eklenir anlatıldı. Dinamik web tabanlı uygulamamız, prototipte yer alan bileşenlerin durumlarını gösteren ve bu durumları değiştirmemizi sağlayacak arayüzü bize sunar. Primefaces ise görsellik açısından kullanıldı. Client4 adında bir dinamik web uygulaması oluşturalım Login Ekranının Oluşturulması Login Ekranı View Katmanının Oluşturulması. View katmanında son kullanıcıların gördüğü, xhtml sayfalarımızın vb. bulunduğu görsel sayfalardır. Öncelikle Login ekranının Projede webcontent dizinine sağ 18

28 tıklayalım. New -> HTML File diyelim. Çıkan ekrandan Login.xhtml dosyası oluşturalım ve aşağıdaki kodları ekleyelim. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.prime.com.tr/ui" xmlns:ui="http://java.sun.com/jsf/facelets"> <h:head> <title>primefaces with facelet</title> </h:head> <h:body onload="dlg.show()"> <p:dock position="top"> <p:menuitem value="ayarlar" icon="/images/settings1.png" url="settings.xhtml" /> <p:menuitem value="yenile" icon="/images/refresh.png" url="login.xhtml" /> </p:dock> <p:growl id="growl" showdetail="true" life="3000" /> *" /> <p:dialog id="dialog" header="login" width="420" widgetvar="dlg"> <h:form> id="username" hatası: Boş değer girilemez." /> <h:panelgrid columns="2" cellpadding="5"> <h:outputlabel for="username" value="kullanici Adi: <p:inputtext value="#{loginbean.username" required="true" label="username" requiredmessage="kullanıcı adı: Doğrulama Boş değer girilemez." label="password" /> <h:outputlabel for="password" value="parola: * " /> <h:inputsecret value="#{loginbean.password" requiredmessage="parola: Doğrulama hatası: id="password" required="true" action="#{loginbean.login" status, args)" ></p:commandbutton> <f:facet name="footer"> <p:commandbutton value="giriş" oncomplete="handleloginrequest(xhr, 19

29 <p:commandbutton value="temizle" onclick="this.form.reset()"></p:commandbutton> </f:facet> </h:panelgrid> </h:body> </html> </h:form> </p:dialog> <script type="text/javascript"> function handleloginrequest(xhr, status, args) { if (args.validationfailed!args.loggedin) { jquery('#dialog').parent().effect("shake", { times : 3, 100); </script> Login Ekranı Model Katmanının Oluşturulması. JSF de model katmanında java beanler bulunur. Yani view katmanından gelen istekler java sınıfları tarafından gerçekleştirilir. Login ekranının model katmanını aşağıdaki şekilde oluştururuz. package client; import java.math.biginteger; import java.security.messagedigest; import java.security.nosuchalgorithmexception; import javax.faces.application.facesmessage; import javax.faces.bean.managedbean; import javax.faces.bean.requestscoped; import javax.faces.validator.validatorexception; import = public class Login { private boolean giris; private String username; 20

30 private String password; public String getusername() { return username; public void setusername(string username) { this.username = username; public String getpassword() { return password; public void setpassword(string password) { this.password = password; public String login() { String md5password = getmd5sum(password); LoginPersistence loginpersistence = new LoginPersistence(); giris = loginpersistence.login(username, md5password); System.out.println("Deneme package Login username:"+username+" "+password); if (username!= null && password!= null && giris) { FacesMessage message = new FacesMessage(); message.setsummary("parola eşleşme hatası tekrar deneyiniz\nnot: Parola 50 karakterden fazlasını karakteri içermez "); throw new ValidatorException(message); else { System.out.println("else"); FacesMessage message = new FacesMessage(); message.setsummary("parola eşleşme hatası tekrar deneyiniz\nnot: Parola 50 karakterden fazlasını karakteri içermez "); throw new ValidatorException(message); 21

31 2.2.2 Kullanıcının Login Olabilmesi İçin Veri Tabanı Kontrolü. Kullanıcının prototipteki bileşenleri yönetebilmesi yetkilendirilmeye tabi tutulmuştur. Bu nedenle kullanıcının login olabilmesi için veri tabanı kontrolüne ihtiyaç duyulur. Veri tabanı olarak MySQL kullanıldı. Smarthouse isimli bir veritabanına, logintable adlı bir tablo oluşturuldu. ID(int), username(string), password(string) özelliklerlerinden oluşan tabloya kullanıcılar eklenir. Bu bizim JSF deki Controller katmanına denk gelmektedir. Kalıcı katman için persistence paketi oluşturuldu ve aşağıdaki sınıflar eklendi. package persistence; import java.sql.connection; import java.sql.drivermanager; import java.sql.sqlexception; import java.sql.statement; public class Baglanti { public static Statement baglanti() { try { Class.forName("com.mysql.jdbc.Driver"); Connection baglanti = DriverManager.getConnection("jdbc:mysql://localhost:3306/smarthouse","root"," "); Statement ifade = baglanti.createstatement(); return ifade; catch (ClassNotFoundException e) { e.printstacktrace(); catch (SQLException e) { e.printstacktrace(); return null; 22

32 package persistence; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; public class LoginPersistence { private boolean giris; public boolean login(string username, String password){ Statement st = Baglanti.baglanti(); String sql = "select *from logintable where username='" + username + "' and password='" + password + "' "; ResultSet set = null; try { set = st.executequery(sql); catch (SQLException e) { e.printstacktrace(); try { giris = set.next(); catch (SQLException e) { e.printstacktrace(); return giris; 23

33 2.2.3 Anasayfanın Oluşturulması Anasayfanın View Katmanının Oluşturulması. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.prime.com.tr/ui" xmlns:ui="http://java.sun.com/jsf/facelets"> <h:head> <title>smart House Main Page</title>.yazi { <style type="text/css"> text-decoration: none; font-size: medium; font-family: monospace; font-weight: bolder; color: gray;.tarih { float: left; text-decoration: none; font-size: medium; font-family: monospace; font-weight: bolder; color: red; </style> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('visualization', '1', { packages : [ 'gauge' ] ); </script> <script type="text/javascript"> function drawvisualization() { var sicaklik = '<h:outputtext value="#{client.roomtemperature" />'; var data = new google.visualization.datatable(); var a = 4; data.addcolumn('string', 'Label'); data.addcolumn('number', 'Value'); data.addrows(2); 24

34 data.setvalue(0, 0, 'Oda Sıcaklığı'); data.setvalue(0, 1, parseint(sicaklik)); // Create and draw the visualization. new google.visualization.gauge(document.getelementbyid('visualization')).draw(data); google.setonloadcallback(drawvisualization); </script> </h:head> <h:body> <h:outputtext value="son Güncelleme: #{Client.tarih" styleclass="tarih"></h:outputtext> <p:dock position="top"> <p:menuitem value="anasayfa" icon="/images/home.png" url="main.xhtml" /> <p:menuitem value="ayarlar" icon="/images/settings1.png" url="settings.xhtml" /> <p:menuitem value="yenile" icon="/images/refresh.png" url="main.xhtml" /> <p:menuitem value="çıkış" icon="/images/exit.png" url="login.xhtml" /> </p:dock> <div style="margin: 50px auto auto auto; width: 200px; height: 200px;" id="visualization"></div> <h:form prependid="false" id="form"> <p:growl id="growl" showdetail="true" /> <center> <h:graphicimage width="104" height="98" value="#{client.picture" /> </center> <p:panel style="width:600px;margin: 80px auto auto auto;" header="smart House"> <div style="float: left;"> <p:commandlink update="aircon" action="#{client.clientaircondition"> <p:graphicimage width="104" height="98" value="/images/air.png" /> </p:commandlink> <br /> <h:outputtext id="aircon" styleclass="yazi" value="#{client.airconstring"></h:outputtext> </div> <div align="right"> 25

35 <p:commandlink action="#{client.clientlightstatus" update="light"> <h:graphicimage width="104" height="98" value="/images/light.png" /> </p:commandlink> <br /> <h:outputtext id="light" styleclass="yazi" value="#{client.lightstring"></h:outputtext> </div> <br></br> <br></br> <div style="float: left"> <p:commandlink action="#{client.clientdoorstatus" update="door"> <h:graphicimage width="104" height="98" value="/images/door.jpg" /> </p:commandlink> <br /> <h:outputtext id="door" styleclass="yazi" value="#{client.doorstring"></h:outputtext> </div> <div align="right"> <h:commandlink action="#"> <h:graphicimage width="104" height="98" value="/images/wake.jpg" /> <br /> <h:outputtext value="#"></h:outputtext> <f:ajax /> </h:commandlink> <h:outputtext></h:outputtext> </div> </p:panel> </h:form> </h:body> </html> Anasayfanın Model Katmanının Oluşturulması. package client; import java.rmi.remoteexception; import java.text.dateformat; import java.text.simpledateformat; import java.util.date; import javax.faces.bean.managedbean; import javax.faces.bean.requestscoped; 26

36 import javax.faces.bean.viewscoped; import = public class Client { private boolean doorstatus; private String doorstring; private boolean windowstatus; private boolean airconditionerstatus; private String airconstring; private boolean alarmstatus; private boolean lightstatus = true; private String lightstring; private int roomtemperature; private String picture; private WP7ServicePortTypeProxy proxy; private DateFormat dateformat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = new Date(); private String tarih = dateformat.format(date); public Client() throws RemoteException, InterruptedException { proxy = new WP7ServicePortTypeProxy(); proxy.yazdir(); Thread.sleep(2000); loadairconditioner(); loadlight(); loadroomtemperature(); loaddoor(); public void loadroomtemperature() { try { 27

37 roomtemperature = proxy.getroomtemperature(); catch (Exception e) { System.out.println("Web Servise ulaşılamadı loadroom"); e.printstacktrace(); if (roomtemperature <= 0) { picture = "images/snow.gif"; else if (roomtemperature > 0 && roomtemperature <= 10) { picture = "images/weather_storm.png"; else if (roomtemperature > 10 && roomtemperature <= 20) { picture = "images/weather_st.png"; else picture = "images/weather_fog.png"; public void loadairconditioner() { try { airconditionerstatus = proxy.isairconditionerstatus(); catch (RemoteException e) { System.out.println("Web Servise ulaşılamadı loadair"); e.printstacktrace(); if (airconditionerstatus) airconstring = "Klima Açık"; else airconstring = "Klima Kapalı"; public void ClientAirCondition() throws InterruptedException { try { proxy.setairconditionerstatus(!airconditionerstatus); catch (RemoteException e) { e.printstacktrace(); 28

38 Thread.sleep(1500); // WEB SERVISTEKI METHOD SET EDILMEDEN ONCE // LOADAIRCONDITIONER SET EDILIYORDU BU NEDENLE // THREAD KULLANILDI // 1000 keyfi olarak secildi. loadairconditioner(); public void loadlight() { try { lightstatus = proxy.islightstatus(); catch (RemoteException e) { System.out.println("Web Servise ulaşılamadı loadlight"); e.printstacktrace(); if (lightstatus) lightstring = "Işıklar Açık"; else lightstring = "Işıklar Kapalı"; public void ClientLightStatus() throws InterruptedException { try { proxy.setlightstatus(!lightstatus); catch (RemoteException e) { e.printstacktrace(); Thread.sleep(1500); loadlight(); public void loaddoor() { try { doorstatus = proxy.isdoorstatus(); 29

39 catch (RemoteException e) { System.out.println("Web Servise ulaşılamadı loaddoor"); e.printstacktrace(); if (doorstatus) doorstring = "Kapı Açık"; else doorstring = "Kapı Kapalı"; public void ClientDoorStatus() throws InterruptedException { try { proxy.setdoorstatus(!doorstatus); catch (RemoteException e) { e.printstacktrace(); Thread.sleep(1500); loaddoor(); public String getairconstring() { return airconstring; public void setairconstring(string airconstring) { this.airconstring = airconstring; public String getlightstring() { return lightstring; public void setlightstring(string lightstring) { this.lightstring = lightstring; public int getroomtemperature() { return roomtemperature; 30

40 public void setroomtemperature(int roomtemperature) { this.roomtemperature = roomtemperature; public String getpicture() { return picture; public void setpicture(string picture) { this.picture = picture; public boolean iswindowstatus() { return windowstatus; public void setwindowstatus(boolean windowstatus) { this.windowstatus = windowstatus; public String gettarih() { return tarih; public void settarih(string tarih) { this.tarih = tarih; public boolean isdoorstatus() { return doorstatus; public void setdoorstatus(boolean doorstatus) { this.doorstatus = doorstatus; public String getdoorstring() { return doorstring; 31

41 public void setdoorstring(string doorstring) { this.doorstring = doorstring; Ayarların Oluşturulması Ayarların View Katmanının Oluşturulması. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.prime.com.tr/ui" xmlns:ui="http://java.sun.com/jsf/facelets"> <h:head> <title>settings</title> </h:head> <h:body> <p:dock position="top"> <p:menuitem value="anasayfa" icon="/images/home.png" url="main.xhtml" /> <p:menuitem value="ayarlar" icon="/images/settings1.png" url="settings.xhtml" /> <p:menuitem value="yenile" icon="/images/refresh.png" url="settings.xhtml" /> <p:menuitem value="çıkış" icon="/images/exit.png" url="login.xhtml" /> *" /> </p:dock> <h:form> <p:growl id="growl" showdetail="true" /> <p:panel style="width:500px;margin: 80px auto auto auto;" header="ayarlar" cellpadding="5"> <h:panelgrid columns="2"> <h:outputlabel for="username" value="kullanici Adi: id="username" hatası: Boş değer girilemez." /> <p:inputtext value="#{settingsbean.username" required="true" label="username" requiredmessage="kullanıcı adı: Doğrulama 32

42 <h:outputlabel for="password" value="parola: * " /> Boş değer girilemez." label="password" /> Parola: * " /> Boş değer girilemez." label="newpassword" /> <p:password value="#{settingsbean.password" requiredmessage="parola: Doğrulama hatası: id="password" required="true" <h:outputlabel for="newpassword" value="yeni <p:password value="#{settingsbean.newpassword" requiredmessage="parola: Doğrulama hatası: id="newpassword" required="true" <h:outputlabel for="password1" value="parola Doğrula: * " /> <p:password value="#{settingsbean.confirmpassword" requiredmessage="parola: Doğrulama hatası: Boş değer girilemez." id="password1" required="true" label="password1" /> <p:commandbutton value="gonder" update="growl" action="#{settingsbean.dogrula"></p:commandbutton> </h:panelgrid> </p:panel> </h:form> </h:body> </html> Ayarların Model Katmanının Oluşturulması. package settings; import javax.faces.application.facesmessage; import javax.faces.bean.managedbean; import javax.faces.bean.requestscoped; import javax.faces.context.facescontext; import persistence.loginpersistence; import persistence.settingspersistence; 33

43 @ManagedBean(name = public class Settings { private String username; private String password; private String newpassword; private String confirmpassword; private boolean confirmupdate; private boolean user; private SettingsPersistence spersistence; private LoginPersistence loginpersistence; private FacesMessage message; public String getusername() { return username; public void setusername(string username) { this.username = username; public String getconfirmpassword() { return confirmpassword; public void setconfirmpassword(string confirmpassword) { this.confirmpassword = confirmpassword; public String getpassword() { return password; public void setpassword(string password) { this.password = password; 34

44 public void kaydet() { if (!newpassword.equals(confirmpassword)) { message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Giriş Hatası", "Parola eşleşme hatası"); FacesContext.getCurrentInstance().addMessage(null, message); else { dogrula(); public String dogrula() { if (!newpassword.equals(confirmpassword)) { message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Giriş Hatası", "Parola eşleşme hatası"); FacesContext.getCurrentInstance().addMessage(null, message); else { spersistence = new SettingsPersistence(); loginpersistence = new LoginPersistence(); user = loginpersistence.login(username, password); if (user) { confirmupdate = spersistence.update(username, password, newpassword); if (confirmupdate) { message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Giriş Başarılı", "Parola güncellendi"); 35

45 FacesContext.getCurrentInstance().addMessage(null, message); return "Main.xhtml?faces-redirect=true"; else { message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Giriş Hatası", "Parola güncellenemedi tekrar deneyiniz"); FacesContext.getCurrentInstance().addMessage(null, message); return "basarisiz"; else { message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Giriş Hatası", "Kullanıcı Adı/Parolanızı kontrol ediniz"); FacesContext.getCurrentInstance().addMessage(null, message); return "basarisiz"; return "basarisiz"; public String getnewpassword() { return newpassword; public void setnewpassword(string newpassword) { 36

46 this.newpassword = newpassword; package persistence; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; public class SettingsPersistence { public boolean update(string username, String password, String newpassword) { Statement st = Baglanti.baglanti(); try { st.executeupdate("update logintable SET password='" + newpassword + "' where username='"+username+"' "); System.out.println("UPDATE YAPILDI"); return true; catch (SQLException e) { // TODO Auto-generated catch block e.printstacktrace(); return false; 2.3 Oluşturulan Web Tabanlı Uygulamaya Web Client Özelliği Eklenmesi. Web tabanlı uygulamızdan web servisteki olayları tetikleyebilmek amacıyla web client eklenmesi gerekmektedir. Projemize sağ tıklayarak New -> Other -> Web Service Client diyoruz. Karşımıza şekil 2.4 teki gibi bir ekran geliyor. 37

47 ġekil 2.4. Uygulamaya web servis client ekleme ekranı. Buradan Browse diyerek Select Service Implementation ekranı bizi karşılar. Browse tuşunun yanına yazarak web servisimizi ekleriz. Bu arada web servisimiz uygulama sunumuzda çalışıyor durumda olmalıdır ki bu işlemi yapabilelim. Finish dediğimiz anda web uygulamamızın paketlerinde Service adlı paket oluşmalı ve şu sınıfları içermelidir. WP7Service.java WP7ServiceLocator WP7ServicePortType WP7ServicePortTypeProxy WP7ServiceSoap11BindingStub 38

48 2.4 Mobil İşletim Sistemi Uygulamasının Oluşturulması Mobil Uygulamanın Arayüzünün Oluşturulması. Bölüm de anlatılan şekilde bir proje oluşturuyoruz. Form1.cs dosyasına ToolBox dan ısı sensörünün değeri için bir progressbar ve diğer bileşenler için 4 button ve değerlerin güncellenmesi için bir button sürükleriz. Form1.cs dosyasının arka planına şu kodları yazarız. using System; using System.Linq; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Threading; namespace _15Ocak2012 { public partial class SmartHouse : Form { private bool airconditionerstatus; private bool airconditionerstatus1; private bool lightstatus; private bool lightstatus1; private bool doorstatus; private bool doorstatus1; private int roomtemperature; private bool roomt; WebReference.WP7Service proxy; public SmartHouse() { InitializeComponent(); proxy = new WebReference.WP7Service(); proxy.yazdir(); Thread.Sleep(2000); label1.text = "Son Güncelleme: " + DateTime.Now.ToString("t"); loadairconditioner(); loadlight(); loaddoor(); // loadroomtemperature(); 39

49 public void loadroomtemperature() { proxy.getroomtemperature(out roomtemperature,out roomt); label2.text = roomtemperature.tostring() + " C"; if (roomtemperature > 0) progressbar1.value = (2 * roomtemperature); else progressbar1.value = 0; public void loadairconditioner() { proxy.isairconditionerstatus(out airconditionerstatus, out airconditionerstatus1); if (airconditionerstatus) { button1.text = "Klima Açık"; button1.backcolor = Color.Green; else { button1.text = "Klima Kapalı"; button1.backcolor = Color.Red; public void ClientAirCondition(object sender, EventArgs e) { proxy.setairconditionerstatus(!airconditionerstatus, airconditionerstatus1); loadairconditioner(); public void loadlight() { proxy.islightstatus(out lightstatus, out lightstatus1); if (lightstatus) { button2.text = "Işık Açık"; button2.backcolor = Color.Green; else { button2.text = "Işık Kapalı"; button2.backcolor = Color.Red; public void ClientLightStatus(object sender, EventArgs e) { 40

50 proxy.setlightstatus(!lightstatus, lightstatus1); loadlight(); public void loaddoor() { proxy.isdoorstatus(out doorstatus, out doorstatus1); if (doorstatus) { button3.text = "Kapı Açık"; button3.backcolor = Color.Green; else { button3.text = "Kapı Kapalı"; button3.backcolor = Color.Red; public void ClientDoorStatus(object sender, EventArgs e) { proxy.setdoorstatus(!doorstatus, doorstatus1); loaddoor(); public void guncelle(object sender, EventArgs e) { proxy.yazdir(); Thread.Sleep(2000); loadairconditioner(); loadlight(); loaddoor(); MessageBox.Show("Güncelleme Yapıldı"); label1.text = "Son Güncelleme: " + DateTime.Now.ToString("t"); 41

51 2.4.2 Mobil Uygulamaya Web Servisin Eklenmesi. Projeye sağ tıklarız ve Add Web Reference deriz ve bizi şekil 2.5 ekranı karşılar. ġekil 2.5. Add web reference ekranı. URL yazan kısma çalışır şekilde bulunan web servisin yolu verilir. Go tuşuna basılır ve Add Reference dediğimizde uygulamamız artık emülatörde çalışmaya hazır Mobil Uygulamanın Akıllı Telefonlar İçin Hazır Hale Getirilmesi. Solution Explorer a sağ tıklarız. Add -> New Project deriz. Project types panelinden Other Project Type -> Setup and Deployment sonra templates panelinden Smart Device CAB Project seçilir. Name verildikten sonra Ok a tıklarız. Şimdi isimlendirdiğimiz CAB projesi Solution Explorer da görünür. CAB projesine sağ tıklayıp Add > Project Output denilir. Gelen ekrandan Primary Output seçilir Ok a tıklanır. Sonra Build menüsünden CAB dosyası build edilir. Sonra hepsi kaydedilir. Projemizin bulunduğu dizinde CAB dosyamız bulunur, bu dosya artık Windows 42

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ı

2.Eclipse açıldıktan sonra Workspace alanı seçilmesi gerekir. Workspace alanı projelerinizin fiziksel olarak bulunduğu kısımdır.

2.Eclipse açıldıktan sonra Workspace alanı seçilmesi gerekir. Workspace alanı projelerinizin fiziksel olarak bulunduğu kısımdır. 1.Eclipse http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/juno/s R2/eclipse-jee-juno-SR2-win32.zip&mirror_id=1163 linkinden indiriyoruz. 2.Eclipse açıldıktan sonra

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ı

Axis2 ile Web Servis Đstemci Örnekleri (Java, Delphi, C Sharp)

Axis2 ile Web Servis Đstemci Örnekleri (Java, Delphi, C Sharp) Axis2 ile Web Servis Đstemci Örnekleri (Java, Delphi, C Sharp) Bu dokümanda Unity On Demand (UOD) ürünündeki web servislerini kullanmak için farklı programlama dillerinde (Java, Delphi ve C#) istemci örneklerinin

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ı

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ Asp.NET mimarisinin temelini oluşturan CLASS yapısını kullanarak veri tabanı işlemlerini nasıl daha az kodla ve daha stabil yapabiliriz bunu göreceğiz. Mevzu

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ı

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ı

SINIF İÇİ UYGULAMA KODLARI

SINIF İÇİ UYGULAMA KODLARI SINIF İÇİ UYGULAMA KODLARI ARABA HAREKET ETTİRME using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

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ı

MASTER PAGE SAYFASI KULLANIMI

MASTER PAGE SAYFASI KULLANIMI MASTER PAGE SAYFASI KULLANIMI Hazırladığımız Web sayfalarında sayfanın belli bölgelerinin sürekli sabit kalmasını istiyorsak ve bazı kısımlarının değişmesini istiyorsak Master Page Sayfası kullanırız.

Detaylı

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ.

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ. 20 Ocak 2012 / Cuma Yeni uygulama Yönetim adlı bir klasör oluşturacağız. Yönetim klasörü içerisine bir masterpage oluşturacağız. (tabloyla) Örneğin; Ana Sayfa Albüm ekle Fotoğraf ekle Content Place Holder(Değişecek

Detaylı

Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü 2002-2003 seçiyoruz

Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü 2002-2003 seçiyoruz 9 Şubat 2012 / Perşembe Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü 2002-2003 seçiyoruz 1) emlakkategorisi adlı tabloyu oluşturuyoruz 1 2) ilanlar adlı tabloyu

Detaylı

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü: Bölüm 24 Java Ağ Uygulamaları 24.1 Java Appletleri Applet, Web tarayıcısında çalışan bir Java programıdır. Bir applet, Java uygulaması için tamamen fonskiyonel olabilir çünkü bütün Java API ye sahiptir.

Detaylı

KANTAR UYGULAMASI Kurulum Kılavuzu

KANTAR UYGULAMASI Kurulum Kılavuzu KANTAR UYGULAMASI Kurulum Kılavuzu Serhat Öztürk Medyasoft Danışmanlık ve Eğitim A.Ş. v.1.0 Kantar Uygulaması üç temel parçadan oluşur. Veritabanı, WCF servisi ve Masaüstü uygulaması. Bu nedenle sistemde

Detaylı

WAMP SERVER KURULUMU

WAMP SERVER KURULUMU WAMP SERVER KURULUMU Bilgisayarınızda; PHP web programlama dilini kullanarak web sayfası hazırlayacaksanız ya da PHP web programlama dili kullanılarak hazırlanmış Joomla, Wordpress, Drupal vb.. içerik

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ı

JBoss Seam. Melih Sakarya www.melihsakarya.com melih.sakarya@gmail.com

JBoss Seam. Melih Sakarya www.melihsakarya.com melih.sakarya@gmail.com JBoss Seam Melih Sakarya www.melihsakarya.com melih.sakarya@gmail.com Seam Framework JSF JPA EJB 3.0 Ajax RichFaces A4J Drools itext PDF JFreeChart Facelet Security SSL Web Servis Pojo IoC JBPM Hibernate

Detaylı

sstproje2 Java Server Faces ile Stajyer Arama Ege Üniversitesi Bilgisayar Mühendisliği Sunucu Yazılım Teknolojileri Proje-2 Umut BENZER 05-06-7670

sstproje2 Java Server Faces ile Stajyer Arama Ege Üniversitesi Bilgisayar Mühendisliği Sunucu Yazılım Teknolojileri Proje-2 Umut BENZER 05-06-7670 sstproje2 Java Server Faces ile Stajyer Arama Ege Üniversitesi Bilgisayar Mühendisliği Sunucu Yazılım Teknolojileri Proje-2 Umut BENZER 05-06-7670 http://www.ubenzer.com/ İ çindekiler İçindekiler...2 Tasarım

Detaylı

e-imzatr Kurulum Klavuzu

e-imzatr Kurulum Klavuzu e-imzatr Kurulum Klavuzu Sürüm 0.0.1 İçindekiler İşletim Sistemi Sistem Türü Öğrenme Java yükleme Akis Kurulum Kullanıcı Doğrulama İşletim Sistemi Sistem Türü Öğrenme Bu başlıkta bilgisayarımızın mevcut

Detaylı

GridView ve DetailsView kullanarak kayıt düzenlemek

GridView ve DetailsView kullanarak kayıt düzenlemek GridView ve DetailsView kullanarak kayıt düzenlemek Bir önceki yazımda teorik olarak bu iki kontrole ait eventlerden söz etmiştim. Şimdi uygulama yapma zamanı. Bunun için daha önceki yazılarımıza devam

Detaylı

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ Aşağıda belli bir yere kadar programlanmış olan Gezgin satıcı problemine ait kodları inceleyerek programın geri kalan kısmını tamamlayınız. Seçme, Çaprazlama ve Mutasyon

Detaylı

C#.Net & Linq (Language Integrated Query)

C#.Net & Linq (Language Integrated Query) C#.Net & Linq (Language Integrated Query) Adım-1 Adım-2 Adım-3: aşağıdaki ekran gelir. Bu ekrandan Server Explorer seçeneği ile SQL sunucuya bağlanılırsa Adım-4 deki gibi bir ekran gelir Adım-4: Soldaki

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ

İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ ÖRNEK 1 default.aspx

Detaylı

ASP.NET ile Bir Web Sitesi Oluşturma

ASP.NET ile Bir Web Sitesi Oluşturma 29,30 Eylül 2011 ASP.NET ile Bir Web Sitesi Oluşturma ASP.NET sitesi oluşturmak için File menüsündeki, New açılır listesindeki, Web Site komutuna tıklıyoruz Açılan pencereden C# içindeki ASP.NET Web Site

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 11.ders FORM UYGULAMASI (DROPDOWN BİLGİ YÜKLEME, VALIDATION KONTROLLERI, PAREMETRELİ KAYIT YAPMA)

İNTERNET TABANLI PROGRAMLAMA- 11.ders FORM UYGULAMASI (DROPDOWN BİLGİ YÜKLEME, VALIDATION KONTROLLERI, PAREMETRELİ KAYIT YAPMA) İNTERNET TABANLI PROGRAMLAMA- 11.ders FORM UYGULAMASI (DROPDOWN BİLGİ YÜKLEME, VALIDATION KONTROLLERI, PAREMETRELİ KAYIT YAPMA)

Detaylı

WWW.OZTEKHABERLESME.COM

WWW.OZTEKHABERLESME.COM ÖZTEK HABERLEŞME APİ DÖKÜMANI WWW.OZTEKHABERLESME.COM VER:6.1.0 ~ 1 ~ İÇİNDEKİLER BİLMENİZ GEREKENLER... 3 HTTP POST (XML) YÖNTEMİ... 4 TANIMLAR... 4 ÖRNEK XML YAPISI... 4 PHP ÖRNEK KOD... 5 Örnek Sayfayı

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ı

JSF Melih Sakarya. Java Server Faces Facelet. www.mergecons.com. www.mergecons.com 1

JSF Melih Sakarya. Java Server Faces Facelet. www.mergecons.com. www.mergecons.com 1 JSF Melih Sakarya JSF Java Server Faces Facelet www.mergecons.com www.mergecons.com 1 Facelet JSF için JSP ye alternatif bir yapıdır. Tamamen xml tabanlıdır ve xhtml olarak yazılır. Xml standartlarına

Detaylı

Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım.

Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım. Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım. VS2005 den yeni bir web sitesi oluşturmasını isteyelim. Yeni bir ASP.NET

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ı

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module

Detaylı

Java Programlama Giriş

Java Programlama Giriş Java Programlama Giriş 2013-2014 Bahar Dönemi Mehmet Akif Ersoy Üniversitesi Teknik Bilimler Meslek Yüksekokulu Burdur 2014 Muhammer İLKUÇAR 1 Neden Java Programlama Platformdan bağımsızdır

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME Default.aspx

Detaylı

e-imzatr Kurulum Klavuzu

e-imzatr Kurulum Klavuzu e-imzatr Kurulum Klavuzu Sürüm 0.0.1 1 İçindekiler İşletim Sistemi Sistem Türü Öğrenme Java yükleme Akis Kurulum Kart Okuyucu Sürücü Kurulum Kullanıcı Doğrulama 2 İşletim Sistemi Sistem Türü Öğrenme Bu

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ı

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. ASP.NET DERS 1 Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. Gelen ekranda Visual C# seçildikten

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ı

NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI

NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI Kurulum Aşamaları: 1. Java Kurulumu 2. E-imza Sürücülerinin İndirilmesi 3. Kart Okuyucu Kurulumu 4. Akıllı Kart Kurulumu 5. Sertifikayı Kullanıma Açma Bilgisayarların

Detaylı

Soket, bir sunucu programı ve bir veya birden çok istemci programı arasında çift yönlü iletişim kuran bir yazılım uç noktasıdır.

Soket, bir sunucu programı ve bir veya birden çok istemci programı arasında çift yönlü iletişim kuran bir yazılım uç noktasıdır. Bölüm 24 Java Ağ Uygulamaları 24.1 Java Soket Programlama Soket, bir sunucu programı ve bir veya birden çok istemci programı arasında çift yönlü iletişim kuran bir yazılım uç noktasıdır. Sunucu programı

Detaylı

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat 1. Kısım Çoktan Seçmeli (48 puan) 1) Aşağıdaki JAVA kod parçası çalıştırıldığında

Detaylı

Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz. http://www.arifceylan.com/asp-net-c-ile-resim-uzerine-yazi-yazma-ve-gosterme/

Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz. http://www.arifceylan.com/asp-net-c-ile-resim-uzerine-yazi-yazma-ve-gosterme/ 23 Mart 2012 / Cuma Yeni bir site açıyoruz. Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz. http://www.arifceylan.com/asp-net-c-ile-resim-uzerine-yazi-yazma-ve-gosterme/ Namespace

Detaylı

WEB E-POSTA AYARLARI. Outlook 2003 Ayarı ( Resimli Anlatım )

WEB E-POSTA AYARLARI. Outlook 2003 Ayarı ( Resimli Anlatım ) WEB E-POSTA AYARLARI Outlook 2003 Ayarı Outlook 2007 Ayarı Outlook 2010 Ayarı Gmail Ayarı Hotmail Ayarı Tüm Ayarlar İçin Gelen posta sunucusu (POP3) ve giden posta sunucusu (SMTP) ye bnposta.bingol.edu.tr

Detaylı

MIRACLE DATA WORKS KURULUM DOKÜMANI

MIRACLE DATA WORKS KURULUM DOKÜMANI MIRACLE DATA WORKS KURULUM DOKÜMANI İçindekiler Server Kurulumu... 3 Microsoft.NET Framework 4.0 Kurulumu... 3 Crystal Reports 2008 Redistributable Package (C12) Kurulumu... 5 Microsoft SQL Server 2008

Detaylı

BATMAN ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA KAMPÜS DIŞINDAN ERİŞİM REHBERİ

BATMAN ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA KAMPÜS DIŞINDAN ERİŞİM REHBERİ BATMAN ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA KAMPÜS DIŞINDAN ERİŞİM REHBERİ Batman Üniversitesi Kütüphanesi veritabanlarına kampüs dışından erişebilmek için Üniversitemiz Bilgi İşlem Daire Başkanlığı

Detaylı

JBoss Seam Next Generation Integration Framework

JBoss Seam Next Generation Integration Framework JBoss Seam Next Generation Integration Framework Melih Sakarya www.melihsakarya.com melih.sakarya@gmail.com www.mergecons.com Seam Framework JSF JPA Hibernate EJB 3.0 Ajax RichFaces A4J Drools itext PDF

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ı

Ü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ı

SQL 2005 SQL STUDIO MANAGER ACP YAZILIMI KURULUM KILAVUZU

SQL 2005 SQL STUDIO MANAGER ACP YAZILIMI KURULUM KILAVUZU SQL 2005 SQL STUDIO MANAGER ACP YAZILIMI KURULUM KILAVUZU Sayfa 1 / 18 KURULUMA BAŞLANMADAN ÖNCE YAPILMASI GEREKENLER : Sistem Özelliklerinden işletim sisteminin 32-bit mi yoksa 64-bit mi olduğu kontrol

Detaylı

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

PERKON PDKS Kurulum ve hızlı başlangıç rehberi Oluşturma 02.11.2015 Revizyon: 19.01.2016 Rev. No: 03 Yazan: Süleyman FAKİR Düzenleyen: F. DELİRİ PERKON PDKS Kurulum ve hızlı başlangıç rehberi 1) PDKS Kurulumu, Lisans Onaylaması Ve Veri Tabanı Ayarları

Detaylı

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access Programlamaya Giriş VERİ TABANI UYGULAMASI ÖN BİLGİ Veritabanları, verilere sistematik bir şekilde erişilebilmesine, depolanmasına ve güncellenmesine izin veren, yüksek boyutlu veriler için çeşitli optimizasyon

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME Veritabanına kayıt işlemleri 4 farklı işlemden oluşur Bunlar Görüntüleme (SELECT), Kayıt

Detaylı

BEUN VPN Hizmeti. VPN Nedir?

BEUN VPN Hizmeti. VPN Nedir? BEUN VPN Hizmeti VPN Nedir? VPN, Virtual Private Network, yani Sanal Özel Ağ ın kısaltılmasıdır. VPN, İnternet gibi halka açık telekomünikasyon altyapılarını kullanarak kullanıcılar veya uzak ofisleri

Detaylı

TAPU VERİ SAYISALLAŞTIRMA YAZILIMI KURULUM DÖKÜMANI. Tapu Kadastro Genel Müdürlüğü-Bilgi Teknolojileri Daire Başkanlığı Page 1

TAPU VERİ SAYISALLAŞTIRMA YAZILIMI KURULUM DÖKÜMANI. Tapu Kadastro Genel Müdürlüğü-Bilgi Teknolojileri Daire Başkanlığı Page 1 TAPU VERİ SAYISALLAŞTIRMA YAZILIMI KURULUM DÖKÜMANI Tapu Kadastro Genel Müdürlüğü-Bilgi Teknolojileri Daire Başkanlığı Page 1 Tapu Kadastro Genel Müdürlüğü-Bilgi Teknolojileri Daire Başkanlığı Page 2 Bu

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ı

BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME İŞLEMLERİNİN BİRLİKTE ANLATIMI

BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME İŞLEMLERİNİN BİRLİKTE ANLATIMI BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME İŞLEMLERİNİN BİRLİKTE ANLATIMI BİLGİLERİ KAYDETME YÖNTEMİ Kayıt işlemi yaparken 3 tane yöntem kullanılacaktır. Bu yöntemler Örnek içerisinde ayrı ayrı

Detaylı

MEKANİZMA TEKNİĞİ (7. Hafta)

MEKANİZMA TEKNİĞİ (7. Hafta) MEKANİZMA TEKNİĞİ (7. Hafta) Mekanizmaların Sayısal ve Programatik Analizi Buraya kadar olan kısımda mekanizmaların üzerindeki tüm uzuvların konum, hız ve ivmelerini analitik yöntemlerle bulmuş olduk.

Detaylı

1 Aralık 2011 / Perşembe

1 Aralık 2011 / Perşembe 1 Aralık 2011 / Perşembe Örnek :İki adet panel var.eğer 1nci panelde şifre Mustafa ise kendimiz bir session değişkeni oluşturup tamam yazdıracağız.değilse Şifre hatalı yazdıracağız. protectedvoid Page_Load(object

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ı

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu JavaServerFaces Ahmet Demirelli SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı Seminerleri 2008 Hakkımızda SabancıÜniversitesi BT Yüksek

Detaylı

Elektronik Dergi ve Veri Tabanlarına Kampus Dışından Erişim

Elektronik Dergi ve Veri Tabanlarına Kampus Dışından Erişim Elektronik Dergi ve Veri Tabanlarına Kampus Dışından Erişim Üniversitemiz Kütüphanesinin abone olduğu süreli yayınların elektronik versiyonlarına ve lisanslı veritabanlarına erişim firmalar ile yapılan

Detaylı

Windows Live ID ve parolanızı giriniz.

Windows Live ID ve parolanızı giriniz. Ücretsiz Deneme Hesabı Oluşturma ve Temel Özelliklerin Kullanım Kılavuzu Bilgi girilmesi gerekli alanlar Kişisel bilgi içeren alanlar http://www.windowsazure.com/tr-tr/pricing/free-trial/ adresine gidiniz

Detaylı

Masa üstünde vt34.mdb dosyası var, onu projemize eklemek için, App_Data ya sağ tıkla Add Existing Item vt34.mdb adlı dosyayı seç Add

Masa üstünde vt34.mdb dosyası var, onu projemize eklemek için, App_Data ya sağ tıkla Add Existing Item vt34.mdb adlı dosyayı seç Add 29 Aralık 2011 / Perşembe Visual studio dan veri tabanından veri çekmek için önce bir aspx dosyası açıp,,accessde yeni veri tabanı dosyası açıyoruz. Dikkat : Dosyanın uzantısı.mdb olacak. Masa üstünde

Detaylı

JDBC kütüphanesi, her görev için genellikle veritabanı kullanımı ile ilişkili API leri içerir:

JDBC kütüphanesi, her görev için genellikle veritabanı kullanımı ile ilişkili API leri içerir: Bölüm 25 Java Veritabanı Bağlantısı (JDBC) 25.1 JDBC Nedir? JDBC, JavaDatabaseConnectivity(Java Veritabanı Bağlantısı) anlamına gelmektedir ve Java programlama dili ve geni veritabanları arasında veritabanı-bağımsız

Detaylı

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK BLG4134 Görsel Programlama III Öğr. Grv. Aybike ŞİMŞEK CV_EKLE isimli bir veritabanı oluşturun. CV isimli tabloyu aşağıdaki şekilde oluşturun. Aşağıdaki kod ile bir stored procedure oluşturun. Bunun için

Detaylı

MERAK MAIL SERVER ACTIVE DIRECTORY ENTEGRASYONU

MERAK MAIL SERVER ACTIVE DIRECTORY ENTEGRASYONU MERAK MAIL SERVER ACTIVE DIRECTORY ENTEGRASYONU Bir domain ortamındaki kullanıcıların aynı kullanıcı adı ve parola bilgisiyle merak mail server içerisine entegre edilmesi için domain controller ve merak

Detaylı

ELEKTRONİK BELGE YÖNETİM SİSTEMİ KULLANICI GİRİŞ VE E-İMZA İŞLEMLERİ KLAVUZU

ELEKTRONİK BELGE YÖNETİM SİSTEMİ KULLANICI GİRİŞ VE E-İMZA İŞLEMLERİ KLAVUZU ELEKTRONİK BELGE YÖNETİM SİSTEMİ KULLANICI GİRİŞ VE E-İMZA İŞLEMLERİ KLAVUZU BİLGİ İŞLEM DAİRE BAŞKANLIĞI 2015 Elektronik Belge Yönetim Sistemi ile ilgili her türlü teknik destek için Bilgi İşlem Daire

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ı

Microsoft Outlook 2003 Kurulumu

Microsoft Outlook 2003 Kurulumu Microsoft Outlook 2003 Kurulumu Tools (Araçlar) menüsünden E-mail Accounts (E-posta Hesapları) seçeneğini seçiniz. Buradan Add a new e-mail account (Yeni bir e-posta hesabı ekle) sekmesine tıklayınız,

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ı

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ı

2014 PROGRAMININ AUTODESK SİTESİNDEN İNDİRİLMESİ

2014 PROGRAMININ AUTODESK SİTESİNDEN İNDİRİLMESİ AutoCAD 2014 PROGRAMININ AUTODESK SİTESİNDEN İNDİRİLMESİ ve YÜKLENMESİ Adımlar: 1. Adım: www.autodesk.com adresine giriş yapılır. 2. Adım: Autodesk firmasının web sayfasında Communities----Students &Educators

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ı

PAKET TRANSFER SİSTEMİ

PAKET TRANSFER SİSTEMİ İLAÇ TAKİP SİSTEMİ ŞUBE MÜDÜRLÜĞÜ PAKET TRANSFER SİSTEMİ Kullanıcı Dökümanı Version 1.1 1 1. Revizyonlar... 1 2. Giriş... 1 2.1 Kapsam...1 2.2 Hedef Kitle...1 3. Gereksinimler... 1 3.1 Yazılım Gereksinimleri...1

Detaylı

BM 102 Bilgisayar Programlama II. Windows Form Application

BM 102 Bilgisayar Programlama II. Windows Form Application BM 102 Bilgisayar Programlama II Windows Form Application Uygulama 1 İki TextBox girilien sayıların toplamı. Uygulama 1 Windows Form Uygulaması projesi açma Forma iki TextBox ile bir Label ekleme Forma

Detaylı

Checkpoint SSL-VPN Kurulum Prosedürü. Checkpoint Endpoint VPN Client

Checkpoint SSL-VPN Kurulum Prosedürü. Checkpoint Endpoint VPN Client Checkpoint SSL-VPN Kurulum Prosedürü Checkpoint Endpoint VPN Client SSL-VPN Kurulum Dökümanı 2 İçerik 1 Giriş... 3 1.1 Dökümanın amacı... 3 1.2 Platform Destek... 3 2 Kurulum aşamasında yapılması gerekenler...

Detaylı

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module

Detaylı

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6 ix Yazılım Nedir? 2 Yazılımın Tarihçesi 3 Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5 Yazılımın Önemi 6 Yazılımcı (Programcı) Kimdir? 8 Yazılımcı Olmak 9 Adım Adım Yazılımcılık 9 Uzman

Detaylı

Yeni site açıp, masa üstündeki vt.mdb dosyasını sitemize ekliyoruz ve www.arifceylan.com a bağlanıp 1 Mart tarihli sayfayı açıyoruz

Yeni site açıp, masa üstündeki vt.mdb dosyasını sitemize ekliyoruz ve www.arifceylan.com a bağlanıp 1 Mart tarihli sayfayı açıyoruz 16 Mart 2012 / Cuma Yeni site açıp, masa üstündeki vt.mdb dosyasını sitemize ekliyoruz ve www.arifceylan.com a bağlanıp 1 Mart tarihli sayfayı açıyoruz Gridview içerisindeki verileri Excel dosyasına dönüştürmek

Detaylı

User Control : Standart bir kullanıcı arabirimi oluşturarak; bir uygulama içinde birden fazla. Siteye User Control Eklemek : 22 Mart 2012 / Perşembe

User Control : Standart bir kullanıcı arabirimi oluşturarak; bir uygulama içinde birden fazla. Siteye User Control Eklemek : 22 Mart 2012 / Perşembe 22 Mart 2012 / Perşembe Yeni web sitesi açtık Üye giriş sayfası yapacağız. User Control : Standart bir kullanıcı arabirimi oluşturarak; bir uygulama içinde birden fazla WebForm kullanılmasını sağlayan

Detaylı

BitTorrent İstemci Kullanımı

BitTorrent İstemci Kullanımı BitTorrent İstemci Kullanımı Değerli Müşterimiz, BitTorrent internet üzerinden dosya paylaşım yazılımına ve aynı tekniği kullanan dosya takas sistemine verilen isimdir. Diğer eşten eşe (P2P) paylaşım programlarından

Detaylı

Java Programlamaya Giriş

Java Programlamaya Giriş Java Programlamaya Giriş Amaçlar: 1. Java kurulumu (Netbeans ve JDK) 2. Java Netbeans Kullanımı 3. Program yazma Java Kurulumu Java dili ile programlama yapabilmek için java jdk ve java kodlama yapılabilecek

Detaylı

Burak Kıymaz 13.10.2015 JAVA FX

Burak Kıymaz 13.10.2015 JAVA FX JavaFx neden çıktı? JAVA FX Eskiden desktop için swing kullanılırdı fakat pek iyi değildi. Javafx bu konuda css kullanmaya da izin verdiği için daha iyi bulundu. xml veriyi biçimlendirmek için kullanılan

Detaylı

MEB E-Posta Hizmetleri ve Outlook Programı

MEB E-Posta Hizmetleri ve Outlook Programı MEB E-Posta Hizmetleri ve Outlook Programı İçindekiler Bakanlık E-Posta Hizmetleri ve Sistem Ara yüzü E-posta Hizmetlerinin Outlook Programına Bağlanması Outlook 2010 Kullanımına ilişkin temel bilgiler

Detaylı

NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI

NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI NİTELİKLİ ELEKTRONİK SERTİFİKA KURULUM AŞAMALARI Kurulum Aşamaları: 1. Java Kurulumu 2. E-imza Sürücülerinin İndirilmesi 3. Kart Okuyucu Kurulumu 4. Akıllı Kart Kurulumu 5. Sertifikayı Kullanıma Açma Bilgisayarların

Detaylı

TARİHÇE. Versiyon Tarih Düzenleyen Açıklama 0.1 04.11.2015 Engin DURMAZ İlk versiyon

TARİHÇE. Versiyon Tarih Düzenleyen Açıklama 0.1 04.11.2015 Engin DURMAZ İlk versiyon İçindekiler 1 GİRİŞ... 2 2 KOD ÖRNEKLERİ... 3 2.1 AÇILIŞTA YAPILMASI GEREKENLER... 3 2.2 ÖKC-HARİCİ CİHAZ EŞLEŞMESİ... 3 2.3 MALİ REFERANS İSTEĞİ... 4 2.4 PROGRAMLAMA BİLGİLERİNİN GÖNDERİLMESİ... 5 2.5

Detaylı

Yedek Almak ve Yedekten Geri Dönmek

Yedek Almak ve Yedekten Geri Dönmek McAfee EPO 4.0 Yedek Yedek Almak ve Yedekten Geri Dönmek Yedek Almak ve Yedekten Geri Dönmek Amaç Mcafee EPO 4.0 kurulum yedeğinin felaket kurtarma senaryonusa uygun şekilde alınması ve yeni bir makinada

Detaylı

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié DERSİN WEB SİTESİ: http://nucleus.istanbul.edu.tr/~bilprog2/ DeğiĢkenler ve Data Türleri

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; Java programlama dilinde görsel arayüz tasarımı yapabilir, Java programlama dilinde görsel bileşenler üzerinde olay tanımlayabilir. Android

Detaylı

EGE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ SUNUCU YAZILIM TEKNOLOJİLERİ LABORATUAR PROJESİ JAVA SERVER FACES

EGE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ SUNUCU YAZILIM TEKNOLOJİLERİ LABORATUAR PROJESİ JAVA SERVER FACES EGE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ SUNUCU YAZILIM TEKNOLOJİLERİ LABORATUAR PROJESİ JAVA SERVER FACES Öğretim Görevlisi: Rıza Cenk ERDUR Araştırma Görevlisi: Tahir Emre KALAYCI Grup Üyeleri Murat

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 1 Servlet Nedir? Web sayfaları ilk başlarda durağan bir yapıya sahipti ve kullanıcıdan bilgi alarak işlemler yapmıyordu. Zamanın geçmesiyle kullanıcıya

Detaylı

IceWarp kurulumu. IceWarp Server kurmanız için yapmamız gereken adımlar şunlardır:

IceWarp kurulumu. IceWarp Server kurmanız için yapmamız gereken adımlar şunlardır: IceWarp kurulumu IceWarp Server kurmanız için yapmamız gereken adımlar şunlardır: http://www. icewarp. com sitesinden,on line satış temsilicilerden ve ya da on line installer (online kurucusundan) istediğiniz

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ı

Client Server Database

Client Server Database Java Server Faces Ahmet Demirelli Sabancı Üniversitesi 2007 Ajanda Model-1 Mimari Model-2 Mimari MVC Framework Java Server Faces Örnek Uygulama Model 1 Mimari 1 2 3 6 JSP (View) 5 JavaBeans (Model) 4 Client

Detaylı

Anasayfa Hakkımızda Yazarlar İletişim Makaleler Videolar Sorular Makale / Video Gönder Soru Sor RSS

Anasayfa Hakkımızda Yazarlar İletişim Makaleler Videolar Sorular Makale / Video Gönder Soru Sor RSS Şu an misafir modundasın. YazılımDevi olmak ister misin? Giriş Yap / Kayıt Ol Ara: Anasayfa Hakkımızda Yazarlar İletişim Makaleler Videolar Sorular Makale / Video Gönder Soru Sor RSS Makale Hakkında! Excel

Detaylı

SQL SERVER 2005 ENTEGRE SQL (VTY) VERİ TABANI YÖNETİM KURULUMU RESİMLİ ANLATIMI. Entegre SQL kurmadan önce SQLSERVER 2005,i kuralım öncelikle.

SQL SERVER 2005 ENTEGRE SQL (VTY) VERİ TABANI YÖNETİM KURULUMU RESİMLİ ANLATIMI. Entegre SQL kurmadan önce SQLSERVER 2005,i kuralım öncelikle. SQL SERVER 2005 ENTEGRE SQL (VTY) VERİ TABANI YÖNETİM KURULUMU RESİMLİ ANLATIMI Entegre SQL kurmadan önce SQLSERVER 2005,i kuralım öncelikle. Kurulumu başlattık.kutucuğu işaretledik resimdeki gibi. Ve

Detaylı