kodlama etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
kodlama etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

8 Mart 2019 Cuma

C# Ders-5

Döngüler(Loops)

Döngüler, bir işlemin defalarca tekrarlanması gerekiyorsa, aynı kodu tekrar tekrar yazmaktan kurtulmamızı sağlar. Gerçekleştirmek istediğiniz algoritmaya göre işlemin kaç defa tekrarlayacağını belirleyebiliriz. Yaptıkları iş aynı olsa da kullanım şekillerine göre farklılaşan 3 döngü vardır("for" , "while" , "do-while").

"for" Döngü Örneği

İsimleri: "label1" "txtSayi1" "btnHesapla"
Senaryomuz ekran görüntüsünden de anlaşıldığı üzere girilen sayının faktoriyel hesabını yapıp sonucu mesaj kutusu içerisinde gösteren program yazmak.

5 Mart 2019 Salı

C# Ders-4

Şart/Kontrol Deyimleri

Bir önceki derste basit bir şekilde if kullanımını görmüştük. Bu dersimizde if kullanımına farklı bir örnek verip, diğer şart/koşul ifadelerinin anlatımına geçeceğiz. Dersimizin senaryosu şu şekilde: "Her seferinde 1 öğrencinin olmak şartıyla girilen notlara göre ağırlıklı not ortalamasını hesaplayan, sonuca göre geçip geçmediğini ve harf notunu mesaj kutusuyla ekrana yazdıran bir program yazınız. Öğrencinin 1 ara sınav, 1 final sınavı ve 1 quizi olmak üzere toplam 3 sınavı vardır. Not ağırlıkları ara sınav için %30 , final sınavı için %50 , quiz için %20 şeklindedir". Bileşenlerimiz 4 tane label, 3 tane textbox, 1 tane button. İsimlendirmeleri,

label1 = lblMesaj , text = " Öğrenci Notlarını Giriniz"
label2 = lblSinav1 , text = "Sınav 1:"
label3 = lblSinav2 , text = "Sınav 2:"
label4 = lblSinav3 , text = "Sınav 3:"
textbox1 = txtSinav1
textbox2 = txtSinav2
textbox3 = txtSinav3
button1 = btnhesapla , text = "Hesapla"

Components

9 Şubat 2019 Cumartesi

C# DERS-1

C# Nedir?

Adı C ve C++ dilinden gelir. C dilinde bir sayı değişkenin değerini 1 artırmak için “++” operatörü kullanılır. Bu yüzden C dilinden sonra geliştirilen ve Nesne Yönelimli özellikleri taşıyan yeni dil için, C 'nin bir fazlası anlamında C++ adı kullanılmıştır. C++'tan sonra geliştirilen C# dili ise adını; ((C++)++) ifadesinde artı işaretlerinin bir araya gelmesinden alır. Bu dili tasarlayan Anders Hejlsberg ve ekibi yaygın ve beğenilen bir dil olan Java 'nın söz dizimini temel almıştır.

C# dili derleyen bir kaç IDE (Integreted Development Enviroment/Tümleşik Geliştirme Ortamı) olsa da(Örnek IDE 'ler: SharpDevelop, Emacs, Notepad++, ...) en çok kullanılanı, benimde tavsiyem "Visual Studio Community" versiyonu olacaktır.Visual Studio kurulumunda kişiye özgü özelleştirme seçenekleri çok fazla olduğu için herkesin yüklerken seçtiği eklentiler de farklı olacaktır.Eğer ilk defa bir yazılım dili öğreniyor ve bir IDE kurulumu yapıyorsanız Visual Studio kurulumu için ayrı bir video izlemenizi tavsiye ederim.(Visual Studio İndirme Linki: visualstudio.microsoft.com/downloads/ )

Kurulumu yaptığınızı varsayarak dersimize devam ediyoruz.Visual  Studio 'da yeni bir proje açmak için sol üst köşeden "File/New/Project..." seçeneklerine tıklayıp yeni proje açma penceresine ulaşabilirsiniz. Ama ben "Ctrl+Shift+N" kısayolunu kullanmanızı tavsiye ederim C# ile yazarken hızlanmak, vakit kazanmak için bol bol kısayolları kullanmamız gerekiyor, elinizin alışması için en baştan kısayolları kullanmak çok faydanıza olacaktır.
Görsel 1.1 - Yeni Proje Oluşturma Ekranı
  1. Visual Studio için çok fazla özelleştirme seçeneği olduğunu söylemiştim.Şekilde gördüğünüz gibi Visual C# seçiyoruz.
  2. Projenize göre seçiminizin değişkenlik göstereceği bir diğer seçim kısmı da bu menü, ancak biz Visual C# için temel olan "Windows Form Application" seçerek dersimize devam ediyoruz.
  3. Projenize vermek istediğimiz ismi buraya yazıyoruz.
  4. Ekran fotoğrafında 4 olmadığını bende yazmaya başladığımda fark ettim. Böyle kalmasında bir sakınca yok, görüp hatırladıkça güleriz😂
  5. Projenizin dosyalarının kaydedileceği dosya konumu.(Projeleriniz için Visual Studio otomatik bir kayıt yeri belirleyecektir, dilerseniz o şekilde kullanabilirsiniz.Belirli bir süre sonra çok fazla proje olacağından karıştırmamak için projelerinizi ya çok güzel isimlendirmeniz lazım yada çok güzel klasörlemeniz. İkisini birden yaparsanız daha güzel.)
  6. İleri derslerde anlatacağımız bir kısım.Değiştirmemize gerek yok, proje ismi ile aynı kalabilir.
  7. OK butonuna tıklayıp ilk projemizi oluşturabiliriz.

8 Şubat 2019 Cuma

APP INVENTOR DERS-6

SPINNER VE NOTIFIER KULLANIMI

Bu projemizde ListView ve PasswordTextBox 'da kullanıyoruz.ListView, işlevi ListPicker ile aynı görüntüleri farklı.PasswordTextBox 'ın normal olandan tek farkı, yazdıklarınızın yıldız/küçük yuvarlaklar olarak gözükmesi.
Bu dersimizde bir hastane randevu alma uygulaması yapmaya çalışıyoruz.
Screen1 Bileşenleri
Bileşenlerimizi isimlendirerek başlıyoruz.
  • TextBox1 = txtKullaniciAdi , Hint özelliği: Kullanıcı Adı Giriniz
  • PasswordTextBox1 = pas_txtSifre , Hint özelliği: Şifre Giriniz
  • Button1 = btnGirisYap , Text özelliği: Giriş Yap
Ekran2 Bileşenleri
  • Spinner1 = spnBolumAdlari , ElementFromString: "Genel Cerrahi, İç Hastalıkları, Nöroloji"
  • ListView1 = lstGenelCerrahi ,Visible = False, ElementFromString: "Dr. Ayşe Budak, Dr. Hüseyin Yıldırım, Doç. Dr. Sabi Kalpli" (İsimler hayal ürünüdür)
  • ListView2 = lstIcHastaliklari ,Visible = False, ElementFromString: "Dr. Melek Kaya, Doç. Dr. Zeynep Yıldırım, Prof. Dr. Haki Bıyıklı"(İsimler hayal ürünüdür)
  • TimePicker1 = tmpRandevuSaati , Text: "Randevu Saatini Belirlemek İçin Tıklayın"
  • Button1 = btnTamamla , Text: "İşlemi Tamamla"
  • Label1 = lblSonucYaz , Text: " "
  • Notifier1 = ntfUyarici
  1. ListPicker kullanımını anlatmıştık, aynı şekilde Spinner içerisinde yer almasını istediklerimizi arasına virgül koyarak yazıyoruz.
  2. Bu metin kutusuna liste açıldığında başlık(title) olarak ne yazmasını istiyorsanız yazabilirsiniz."Randevu almak istediğiniz bölümü seçiniz"
  3. Ekrana sürüklediğiniz Notifier 'in ekranda görünmediğini farketmişsinizdir. Bu ve benzeri bileşenler burada Non-visible components(görünmez bileşenler) kısmında yer alır.
  1. "btnGirisYap" a tıklandığında,
  2. Eğer,
  3. Kullanıcı "pas_txtSifre" içerisine "admin123" , 
  4. Ve, 
  5. "txtKullaniciAdi" içerisine de "KodMaceralarim" yazdıysa, (kayıt ol/giriş yap projemizde ki kodları kullanabiliriz ama basit tutmak açısından bu şekilde kodluyoruz.)
  6. Ekran2 'yi aç
Ekran2 ye geçildiğinde ilk yapılacak olan "spnBolumAdlari" içerisinden randevu alacağımız bölümü seçmek
  1. Kullanıcı bölüm seçtiğinde veriyi tutmak için değişken oluşturuyoruz.
  2. Kullanıcı "spnBolumAdlari" ndan seçim yaptıktan sonra çalışacak kodları bu blok içerisine yerleştiriyoruz.
  3. Kullanıcının yaptığı seçimi oluşturduğumuz değişkene atıyoruz.
  4. "get selection" kod bloğunu buradan alabilirsiniz.
  5. Eğer, "secilenBolum" = "Genel Cerrahi" ise
  6. Genel Cerrahi doktorlarının yer aldığı "lstGenelCerrahi" nin visible özelliğini true yap(Böylece kullanıcımız istediği doktoru seçerek devam edebilir.)
  7. Eğer, "secilenBolum" = "İç Hastalıkları" ise
  8. "lstIcHastaliklari".Visible = true
  9. Eğer "secilenBolum" = "Nöroloji" ise
  10. "lblSonucYaz".Text = "Nöroloji bölümünü hizmete açmak için çalışmalarımız devam ediyor" olarak set et.
  11. ve 12. bloklar :Eğer kullanıcı ikinci kez randevu almak isterse diye listelerin visible özelliklerini false yapıyoruz.Blokları silerek aradaki farkı görebilirsiniz.
Randevu almak istediğimiz bölümü seçtiğimize göre sıra, hangi doktora muayene olmak istediğimizi seçiyoruz.
  1. "lstGenelCerrahi" listesinden seçim yapıldıktan sonra,
  2. Kullanıcı 1 'den fazla randevu aldığında yazılar üst üste binmesin diye sıfırlıyoruz, bu kod bloklarını silip neden ihtiyaç duyduğumuzu daha net görebilirsiniz.
  3. Bölüm ve doktor seçimi yapmadan "btnTamamla" ya tıklanamasın diye visible = false yapıyoruz.
  4. Pek çok yazılım dilinde görebileceğiniz bu kod, bir alt satıra  inmeyi sağlar.
  5. Kullanıcının seçtiği doktor adını oluşturduğumuz mesaja yerleştiriyoruz.
  6. Bölüm ve doktor seçimi tamamlandığına göre "btnTamamla".Visible = true olarak set edebiliriz.(Aynı bloğu "lstIcHastaliklari" için de yapıyoruz.)
  1. "btnTamamla".Click altındaki if kontrolünde kullanmak için "sayac" adında değişken oluşturuyoruz.
  2. "tmpRandevuSaati" kullanılarak randevu saati seçildiğinde sayacı 1 yap.
  3. "btnTamamla" ya tıklandığında,
  4. Eğer, "sayac" adındaki değişken 0 dan büyükse(yani randevu saati seçildiyse) 
  5. "lblSonucYaz".Text i şu şekilde set et: Doktor adı seçerken yazdırdıklarımız ("lstGenelCerrahi".AfterPicking veya "lstIcHastaliklari".AfterPicking den gelen kısım) + 
  6. "tmpRandevuSaati" kullanarak seçtiğimiz zamanın saat kısmı +
  7. "tmpRandevuSaati" kullanarak seçtiğimiz zamanın dakika kısmı
  8. "lblSonucYaz" a ekrana göstermek istediğimiz yazıları ekleme işlemini bitirdiğimize göre artık visible = true yapabiliriz.
  9. Else(başka) durumunda, yani if yanındaki şart sağlanmazsa aşağıdaki kodları çalıştır.("sayac" adındaki değişken 0 'dan büyük değilse, randevu saati seçilmemişse)
  10. "ntfUyarici" yi çağır(call).(Notifier için pek çok hazır kod bloğu seçeneği arasından bu proje için "ShowMessageDialog(Mesajı/diyaloğu göster)" seçildi. )
  11. "Randevu saati seçmeden kayıt tamamlanamaz" mesajını bir uyarı penceresi ile ekrana yaz.
  12. Uyarı penceresinin başlığında "Uyarı!" yaz.
Ekran2 kod bloklarının son hali


İYİ ÇALIŞMALAR

APP INVENTOR DERS-5

Image ve ListPicker Kullanımı

ListPicker, görüntüsü buton ile aynı, işlevi ise tıkladığınızda seçim yapmanız için bir liste açmaktır. Bu dersimizde 1 adet ListPicker, 1 adet Label, 8 adet Image(Sayıyı isteğinize göre değiştirebilirsiniz) kullanıyoruz.Proje akışımız basit: ListPicker'a tıklandığında bizim ayarladığımız(nasıl ayarlandığı aşağıda ki resimde gösteriliyor) şehirler listesinden seçtiğimiz şehrin plaka kodunu Label'a yazdırmak ve o şehirle alakalı bir görseli ekranda göstermek.Benim seçtiğim iller: İstanbul, Ankara, İzmir, Adana, Rize, Kayseri, Malatya, Diyarbakır .Her şehir için birer tane görsel indirmeyi unutmayın.

ListPicker'a Liste Elemanı Ekleme
  1. ElementsFromString(String Elemanlar) yazısının altında ki textbox'a aralarına virgül koyarak yazdığınız her şey liste elemanına dönüşür.
  2. İndirdiğiniz resimleri  Media altındaki "Upload File..." yazısına tıklayıp kaydettiğiniz dosya konumundan projenize yükleyebilirsiniz.
Bileşenlerimizi isimlendirmeyi unutmayalım.
  • ListPicker1 = lspSehirSec , Text özelliği: "Bir Şehir Seçiniz"
  • Label1 = lblPlakaYaz        , Text özelliği: " "
  • Image1 = imgIstanbul
  • Image2 = imgAnkara
  • Image3 = imgIzmir
  • Image4 = imgAdana
  • Image5 = imgRize
  • Image6 = imgKayseri
  • Image7 = imgMalatya
  • Image8 = imgDiyarbakir
  1. Her bir Image bileşenimizin Picture özelliğinin altındaki textbox'a tıkladığımızda Media kısmına yüklediğimiz görsellerin seçilebilir olduğunu görebiliriz.
  2. Eğer bu kutuyu işaretlerseniz görselin orijinal boyutunu yok sayacak ve telefonun ekranına görseli sıkıştıracaktır.
  3. Projenizin telefon ekranının resimdeki gibi görünmesi için bütün Image'lerin visible (görünürlük) özelliklerini false(yanlış/kapalı) yapmanız gerekli.
Değişken oluşturmayı ve liste yapmayı önceki dersimizde görmüştük.Şekilde gördüğünüz gibi listeleri ve değişkeni oluşturalım.Şehirlerin isimleri ile plaka kodlarının aynı sırada olması önemli.
Dersin daha anlaşılır olması için kullanıcının İzmir'i seçtiğini varsayarak devam ediyoruz
  1. (when "lspSehirSec" .AfterPicking yani "lspSehirSec" ile seçim yapıldıktan sonra aşağıdaki kodları çalıştır) "lblPlakaYaz" ın text özelliğini,
  2.  "Seçtiğiniz ilin plaka kodu:"+ "35" şeklinde set et.(İzmir'i seçtiğimizi varsaydığımız için 35 i kullandık.)
  3. Lists kısmından alınan bu kod bloğu,
  4. Buraya konulan listede,
  5. Buraya konulan elemanı arar ve indexini bulur.("lspSehirSec".Selection=Seçilen "lspSehirSec" elemanı)(İzmir seçildiğini varsaydığımız için index numarası 3 olarak dönecektir.)
  6. List kısmından alınan bu kod bloğu,
  7. Buraya konulan listeden, aşağıdan gelen index numarasına sahip elemanını seçer.(İndex numaramız 3 olduğundan ve "plakaKodlari" listesinin 3 numaralı elemanı da 35 olduğundan belirttiğimiz şekilde "Seçtiğiniz ilin plaka kodu:35" yazdırdık.)
  8. Kullanıcının seçtiği ilin liste index numarasını "secilenVeri" değişkenine atıyoruz.
  9. Projemiz büyüdükçe kod bloklarımız da büyüyor ve çalışma ekranımıza sığmaz hale gelmeye başlıyor.Daha kolay çalışmak için: Ctrl ye basılı tutarken farenizin kaydırağını kullandığınızda kod bloklarının boyutlarını ayarlayabilirsiniz veya kod bloklarına sağ tıklandığında açılan menüyü kullanabilirsiniz.En sık kullanılan sağ click özelliklerini açıklayarak devam edelim.
  • Duplicate: Hangi bloğun üzerindeyken sağ tıkladıysanız o blok ve altındaki bütün kod bloklarını kopyalar.
  • Collapse Block: Benim listelere uyguladığım gibi, kodlamayı bitirdiğiniz blokları collapse ederek(sıkıştırarak) daha az yer kaplamasını sağlayabilirsiniz.
  • Expand Block: Sıkıştırdığınız herhangi bir bloğu açmak için kullanabilirsiniz.
  • Disable Block: Yazdığınız bir bloğu silmek istemiyorsunuz ama işlevselliğini/ulaşılabilirliğini kapatmak istiyorsanız kullanabilirsiniz.
  • Add to Backpack:Yazdığınız herhangi bir kodu başka projelerinizde veya ekranlarda kullanacağınızı düşünüyorsanız, bu seçeneği kullanarak üzerindeyken sağ tıkladığınız o blok ve altındaki bütün kod bloklarını çantaya eklemiş olursunuz.Bu işlemi yaptığınızda çalışma ekranınızın sağ üst köşesindeki çantanın açıldığını göreceksiniz.Çantaya tıklayıp eklediğiniz bütün kodları görebilirsiniz.
Buraya kadar kullanıcının hangi ili seçtiğini öğrenip plaka kodunu ekrana yazdırdık.Şimdi seçilen ilin index numarasını "secilenVeri" değişkeni sayesinde bildiğimize göre buna uygun görseli görünür kılabiliriz.Bunu: eğer "secilenVeri=3" ise "imgIzmir" in visible özelliğini true(doğru/açık) olarak set et diyerek yapabiliriz.Yani if-then bloğu kullanmamız gerekiyor. Her il için bir tane if-then bloğu kullanarak da yapabiliriz fakat blokların sol üst köşelerinden çentik sayılarını artırabildiğimizi unutmayalım.Üstelik ayrı ayrı if-then blokları kullanmak programımızı daha ağır bir hale getirecektir.
Bu işlemde kullanıcının bir il seçiminden sonra gerçekleşeceği için bu kodları da "AfterSelection" bloğunun en altına yerleştiriyoruz. Kod bloklarının son halini aşağıda görebilirsiniz.
Soru1: Zaten Image'lerin visible özelliği false'iken neden tekrar kod içerisinde false yapmamız gerekti?
Soru2: Projede yapmak istediklerimizi daha az, hızlı çalışan kod blokları ile yapabilir miyiz? Yapabiliyorsak Nasıl?
(Cevaplarınızı yorum olarak bekliyorum.)


 İYİ ÇALIŞMALAR😁

7 Şubat 2019 Perşembe

APP INVENTOR DERS-4

BİR KLASİK(SIGN IN/LOGIN )

Kodlama dünyasına merhaba dedikten sonra pek çok uygulamada kullanılan kayıt ol ve giriş ekranını kodlayarak eğitime devam ediyoruz.
Bileşenlerimizi Ekliyoruz
Eklediğimiz bileşenlerin isimlerini ve kullanıcıya görünen text özelliğini ayarlayıp devam ediyoruz.
  • TextBox1 = txtKullaniciAdi , Hint özelliği: Kullanıcı Adı Belirleyin
  • TextBox2 = txtSifre , Hint özelliği: Şifre Belirleyin
  • DatePicker1 = dtpDogumGunuAl , Text özelliği: Doğum Tarihinizi Girin
  • CheckBox1 = chcKabul , Text özelliği: Kullanıcı sözleşmesini okudum ve kabul ediyorum
  • Button1 = btnKayitOl , Text özelliği: Kayıt Ol

  1. Bir önceki derste gördüğümüz gibi buton için tıklama olayını kullanıyoruz.Uygulamaların kayıt olma mantığını düşünürsek, eğer kullanıcı, kullanıcı sözleşmesini kabul ettiyse metin kutusuna girdiği kullanıcı adını, şifreyi ve doğum gününü kaydet.
  2. MIT'nin bizim için hazırladığı hazır kodlardan Control içindeki if-then kod bloğunu alarak buton click olayının içine yerleştiriyoruz.
  3. "Eğer kullanıcı, kullanıcı sözleşmesini kabul ettiyse" şartını bu if bloğuyla sağlıyoruz. if 'deki şart yerine geldiğindeyse then kısmına yerleştirdiğimiz kod blokları çalışır.
  1. Genelde uygulamalarda veri aktarımları veritabanı-uygulama arasında yapılır.Biz şimdilik basit olması için girilen verileri, oluşturduğumuz değişkenlerde tutacağız.İşlemleri veritabanı ile yapsak dahi değişkenleri sıkça kullanacağız.
  2. Bu kod bloğunu kullanarak,
  3. Bu şekilde değişkenlerimizi oluşturuyoruz."name" kısmına değişkene vermek istediğimiz ismi yazıyoruz ve her biri için Text kısmından boş metin kutusu alıyoruz, çünkü oluşturduğumuz her değişkene ilk değerini atamalıyız.
  4. Butona tıklandığında,
  5. Eğer
  6. "chcKabul" adını verdiğimiz checkbox işaretliyse(checked)
  7. "txtKullaniciAdi" adını verdiğimiz metin kutusunun içine yazılan veriyi "Nickname" adını verdiğimiz değişkene, "txtSifre" deki veriyi de "Password" değişkenine ata.
  8. "BirthDate" değişkenine kullanıcının girdiği doğum tarihi verisini atıyoruz.
  9. Madde 7 den farklı olarak join(katıl/birleştir) işlemi kullanıyoruz. Text kısmından aldığımız join kod bloğu çentikleri arasındaki verileri birleştirir.Verileri birleştirmeye yukarıdan başlar.(join kod bloğu standart olarak 2 çentiklidir köşesindeki mavi çark simgesinden çentik sayısı artırılabilir.)


  1. Add Screen(Ekran Ekle)'ye tıklayıp uygulamamıza 2. ekranımızı ekliyoruz.
  2. Ekrana isim veriyoruz.
  3. İstediğimiz zaman buradan ekranlar arasında geçiş yapabiliriz.
Giriş ekranımızı ekledik fakat giriş ekranına ne zaman geçileceğini belirlemedik. Gerekli şartlar yerine getirilip kayıt işlemleri tamamlandığında diğer ekrana geçiş yapılması için aşağıdaki şekilde görebileceğiniz gibi Screen1 kod bloğunda değişiklik yapmamız gerekiyor.
  1. Variables(Değişkenler) kısmından "bilgiler" adını verdiğimiz yeni bir değişken oluşturuyoruz.
  2. Lists(Listeler) kısmından en üstteki kod bloğunu kullanarak yeni boş bir liste oluşturuyoruz.
  3. Lists kısmının 3. hazır kod bloğunu kullanarak, oluşturduğumuz listeye istediğimiz elemanları ekleyebiliriz.
  4. Hangi listeye eleman eklemek istiyorsak buraya yerleştiriyoruz.
  5. Listenin 1. index'ine(sırasına) "Nickname" değişkenini yani kullanıcı adını ekliyoruz.(Yazılım dillerinde index'ler genelde 0'dan başlar, ama app inventor için 1'den başlıyor)
  6. Listenin 2. index'ine şifre verisini ekliyoruz.
  7. Control kısmının 9. hazır kod bloğunu şekildeki gibi yerleştiriyoruz.Bu blok diğer ekranı açmamızı ve geçiş sırasında da veri aktarmamızı sağlıyor.
  8. Geçiş yapmak istediğimiz ekranın adını bir metin kutusunun içine yazarak şekildeki gibi yerleştiriyoruz.
  9. Diğer ekrana geçiş yaparken aktarılacak başlangıç değerini(startValue) buraya yerleştiriyoruz.(Bizim için bu başlangıç değeri "bilgiler" adlı listemiz)

Gerekli düzenlemeyi yaptıysanız giriş ekranımızı kodlamaya geçebiliriz.

Giriş Ekranına Eklediğimiz Bileşenler
*Giriş yapma mantığını düşünecek olursak kişi butona bastığında kullanıcı adı ve şifresi kayıt olurken belirledikleri ile aynıysa "lblSonuc" un text özelliğinde "Bilgiler Doğru Giriş Yapılıyor" yazsın.(Kendinizi geliştirdikçe daha farklı işlemler yaptırabilirsiniz, şimdilik örneği basit tutmak için
sadece ekrana yazı yazdırıyoruz)




Screen1'den aktardığımız bilgileri atamak(set etmek) için yeni değişkenler(variables) oluşturuyoruz
  1. Ekran bileşeninin 3. kod bloğunu kullanıyoruz.Anlamı: "ekran yüklendiğinde/çalışmaya başladığında" aşağıdaki kodları çalıştır.
  2. Yukarıda oluşturduğumuz listeye Screen1'den gönderdiğimiz liste verilerini aktarıyoruz.(get start value'yi Control bloklarında 10. sıradan alabilirsiniz)
  3. Lists kısmı index 9 den alınan bu hazır kod bloğu, bir liste içerisinden girilen index numarasında ki veriyi seçmemizi sağlıyor.
  4. Bu koyu mavi blokları Math kısmının en üstünden alıyoruz."gelenBilgiler" listesinin index 1 verisini(Screen1 den gönderdiğimiz kullanıcı adı), "gelenKullaniciAdi" ismini verdiğimiz değişkene atıyoruz.(Edit:"Sayı kutusunun içini değiştirmeyi unutmuşum siz 1 yapın")
  5. Benzer işlemi şifre verisi için de yapıyoruz. (Sayı kutusunun içi 2 olacak)

  1. MIT 'nin hazır kodlarından logic kısmını açıyoruz.
  2. Mantıksal operatörlerden ve operatörünü seçiyoruz.
  3. Şekilde gördüğümüz gibi yerleştiriyoruz.Hatırlayacak olursak if kod bloğu yanındaki şart doğruysa then kısmındaki kod bloklarını çalıştırıyordu.Tek başına if bloğunun yanına birden fazla kod bloğu yerleştiremiyoruz, giriş işlemini yapabilmek için birden fazla şartımız olduğundan(kullanıcı adı ve şifrenin doğru olması)  ve ikisininde aynı anda doğru olması zorunluluğundan dolayı and(ve) operatörü kullanıyoruz.Eğer şartlardan birisi sağlandığında diğerinin doğruluğu önemli olmadan işlem yapacak olsaydık or(veya/yada) operatörü kullanırdık.
  1. Logic kısmından 2 adet "=" operatörünü alıyoruz.Bu operatör sağ ve solundaki verilerin birbiri ile aynı olup olmadığını kontrol eder.
  2. Bizde kullanıcının uygulamamıza giriş yapmaya çalışırken yazdığı veriyi sola, kayıt olurken yazdığı(Screen1 den gönderdiğimiz) veriyi sağa ekliyoruz.
  3. Şimdi de bu iki şartı aynı anda sağlayıp sağlamadığını kontrol edebilmemiz için, bu kod bloklarını and operatörünün sağına ve soluna yerleştiriyoruz.
  4. Son olarak bütün şartlar sağlandığına göre artık "lblSonucYaz" adlı bileşenimizin text özelliğini"Bilgiler Doğru Giriş Yapılıyor" şeklinde set edebiliriz.
Kod Bloklarının Son Hali

İYİ ÇALIŞMALAR

5 Şubat 2019 Salı

KOLAY ANDROID UYGULAMA GELİŞTİRME

MIT APP INVENTOR

NEDİR?

İlk olarak Google tarafından geliştirilen, sonrasında MIT(Massachusetts Institute of Technology)'nin geliştirmeye devam ettiği bir web uygulamasıdır.Başlangıçta amacı çocuklara android programlamayı öğretmek, daha zevkli ve görsel hale getirmek olsa da sağladığı kolaylıklardan dolayı kullanıcı kitlesi sadece çocuklar olmaktan çıktı ve Google Play Store'da MIT App Inventor ile geliştirilmiş çok fazla sayıda uygulama yerini aldı. 

*Uygulama geliştirmeye başlamak için appinventor.mit.edu/explore/ sayfasında sağ üstte bulunan Create apps! butonuna tıklayıp Google hesabınızla giriş yapmalısınız.
Kısaca, giriş yaptıktan sonra karşımıza çıkan sayfayı tanıtarak başlamak istiyorum.
  1. My Projects: Var olan bütün projelerimize giden kısayol.
  2. Gallery: Diğer App Inventor kullanıcılarının kendi geliştirdikleri uygulamaları gönüllü olarak paylaştıkları galeri. İhtiyacınıza uygun olanları veya geliştirmek istediğiniz bir uygulamanın benzerlerinin olup olmadığını ücretsiz ve hızlı bir şekilde inceleyebileceğiniz bir galeri.
  3. Guide: MIT'nin App Inventor için hazırladığı bütün dokümantasyonlara ulaşabileceğiniz bir kısayol.
  4. Report an Issue: Uygulamada bir hata ile karşılaştığınızda bu kısayolu kullanarak MIT'ye bu hatayı raporlayabilirsiniz.
  5. Bu menüler diğer derslerde kullanıldıkça anlatılacak
  6. Start a New Project ile yeni bir proje oluşturup başlayabiliriz.

İYİ ÇALIŞMALAR

4 Şubat 2019 Pazartesi

Başlarken

Merhaba
Bu bloğu açmaktaki amacım: kendi kodlama ve yeni teknolojileri öğrenme serüvenimi paylaşarak hem ihtiyacı olabileceklere ulaştırmak, hem öğrendiklerimi biriktirdiğim bir kütüphane oluşturmak, hem de bir blogtan ne kadar gelir elde edebileceğimi öğrenmek istiyorum. Blogger olma yolunda ilk çalışmam olduğu için paylaşımlarım da eksikler olabilir, ama inanıyorum  ki zamanla daha profesyonel içerikler oluşturacağım.

Biraz Kendimden Bahsedecek Olursam

12 Mayıs 1995'te Kayseri'de doğdum, büyüdüğüm köyde  8. Sınıfa kadar Gaziler İlköğretim Okulu'nda okuduktan sonra, lise eğitimi için şehir merkezine taşındım ve 4 yıllık eğitimimi İstikbal Lisesi'nde tamamlayıp 2013 yılında Erciyes Üniversitesi Sağlık Bilimleri Fakültesi Hemşirelik Bölümü'nü kazandım. 1 yıl İngilizce hazırlık sonrasında hemşirelik eğitimine başladım, 2. sınıfta öğrenci personel olarak üniversitenin kan merkezinde görev almaya başladım. 2016 yılında 2. sınıf sonunda (biraz geç kalmış olsam da😅)  hemşireliğin hayatım boyunca yapmak istediğim meslek olmadığına karar verdim ve yeniden üniversite sınavlarına hazırlanmaya başlamışken; "merkezi puanla yatay geçiş" hakkım olduğunu öğrendim ve Manisa Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği Bölümü'ne geçiş yaparak üniversite eğitimime sıfırdan başlamış oldum.Umuyorum ki 2020 Haziran ayında mezun olacağım...👍
         
İlgi Alanlarım

  • C#
  • MSSQL
  • App Inventor
  • Flutter
  • Dart
  • Unity
  • Steam
  • ...


Zaman ayırdığınız için teşekkür ederim...



Son Eklenen

C# Ders-5

Döngüler(Loops) Döngüler, bir işlemin defalarca tekrarlanması gerekiyorsa, aynı kodu tekrar tekrar yazmaktan kurtulmamızı sağlar. Gerçekl...

Popüler Yayınlar