http://www.grafikerler.org/diger/5491-visual-basic-anlatimi.html
PictureBox
Resim Kutusu) =Bitmap, Icon, GIF resimlerin gösterilmesini sağlar.
Label(Etiket) =Sadece bilgi vermek yada görüntü olarak form üzerinde durur. Genellikle metin kutularının adlarını göstermek için kullanılır.
TextBox(Metin Kutusu) =Genellikle veri girişi için kullanılan bir kontroldür. Hemen hemen bütün programlarda kullanıcılardan veri girişi, değiştirme yapması gereken alanlar gerekir. İşte metin kutusunu bu amaçla kullanabiliriz...
Frame (Çerçeve) =Kontrolleri gruplamak için kullanılır.
Command Button (Komut Düğmesi)=Bir işlemin başlatılmasını sağlar. Genellikle fare üzerine tıklanarak kullanılır.
CheckBox (İşaret Kutusu)=Bir seçim yapmayı sağlar.
OptionBox (Seçenek Kutusu)=Seçim yapmayı sağlar.
ComboBox (Açılan Kutu)
ListBox (Liste Kutusu) =Birçok elemanı liste biçiminde göstermek için kullanılır
HscrollBar (Yatay Kaydırma Çubuğu)=Yatay olarak kullanılan kaydırma çubuğu
VscrollBar (Dikey Kaydırma Çubuğu)=Dikey olarak kullanılan kaydırma çubuğu
Timer (Zamanlayıcı)=Zamanın takip edilmesini sağlar.
DriveListBox (Sürücü Listesi)=Sistemdeki sürücüleri listeler.
DirListBox (Dizin Listesi)=Sistemdeki dizinleri (klasörleri) listeler.
FileListBox (Dosya Listesi)=Bir dizin içindeki dosyaları listeler.
Shape (Şekil)=Şekil çizmeyi sağlar.
Line (Çizgi)=Çizgi çizmek için kullanılır.
Image (İmaj)=Sadece resimleri göstermek için kullanılır.
Data (Veri)=Verileri göstermek için kullanılır.
Software Engineering.
Categories
- vb (10)
- visual basic (10)
- Glassfish (9)
- java (8)
- Software engineering (5)
- pardus (4)
- C++ (3)
- Canım İstedi (3)
- OpenSolaris (3)
- jdk (3)
- Database (2)
- Mim (2)
- BackTrack (1)
- Basit Dos Komutları (1)
- Binary Tree Traversals (1)
- Dim (1)
- Hakkımda (1)
- Java öğren (1)
- Larry Ellison (1)
- Msn (1)
- Pardus geliştircileri toplantısı (1)
- Programlama Dilleri (1)
- Ramazan Bayramı (1)
- Steve Jobs (1)
- Streaming (1)
- VritualBox (1)
- Windows (1)
- film (1)
- merkez bankası (1)
- parallel Computing (1)
- virüs (1)
- xml (1)
- yazılım mühendisliği (1)
Links
Etiketler: vb, visual basic
2 tane komut vardır.
'or 1=1--
'or 1=1-- ifadesinin TextBox'a girilmesi sonucu sorgu ifadesi şu şekle dönüşmüş olur.
Select * From users Where username = ' 'or 1=1--' AND password = '"+ txtpassword.Text +"'
Kullanıcı adını yazdığımız TextBox nesnesine girilen 'or 1=1-- ifadesinde yer alan -- işaretlerinin anlamı; -- işaretlerinden gelen sonraki ifadeleri yoksay olacaktır. Yani sonuç olarak ifademiz;
Select * From users Where username = ' 'or 1=1--
şekline dönüşecektir.Bu ifadede yer alan or 1=1 ifadesi sürekli doğru sonucu vereceğinden sonuç olarak sorgu işlemi bir kayıt döndürecektir.
diğeri: kullanıcı adına yazınca
';UPDATE users SET password = '123456' WHERE username = 'ali' --
Bu ifade ile users tablosunda yer alan kullanıcı adı ali olan kişinin şifresini 123456 olarak değiştiriyor.
Geçen birşleyler araştırıken güzel bir yazı buldum orginal web sayfasına ulaşabilirsiniz alıntıdır. = http://www.capraz.net/ders_oku2.asp?ders_id=453&kat_id=59
DATASET
DataSetin alacağı methods, Constructors, Properties, Events lere bu sayfadan ulaşabilirsiniz= http://msdn.microsoft.com/en-us/library/system.data.dataset.aspx#Y0
Dataset Veritabanınızdan bağlantısız olan çalışan bir nesnedir. Saf XML tabanlı yapısı sayesinde web formları ve DotNet component'leri ile kusursuz bir entegrasyon sağlar. Bir kez veritabanına bağlandıktan sonra veriyi alır ve bağlantıyı keser. Elinizde Excel tablosuna benzer bir veri yığını olur. Aslında çok daha gelişmiş bir yapıdır ama bunu biraz daha ileride işleyeceğiz. Bu Excel tablosuna benzer yapıda; veriler üzerinde değiştirme, silme gibi işlemleri yapabildiğiniz gibi yeni kayıt da ekleyebilirsiniz. Bütün bunları yaparken database'e herhangi bir bağlantı kurmaz. Ancak siz ona kayıtları database'den güncelleme komutu verdiğinizde bağlantıyı kurar ve işlemi gerçekleştirir. Bu Server'ın kaynaklarını daha düzgün kullanmak için çok iyi bir yoldur.
Dataset'ler Server-Client tabanlı Windows uygulamaları geliştirdiğinizde .NET Framework altyapısı sayesinde programınız çalıştığı sürece server'dan dataset e çekilen bilgileri Client'ın memory'sinde XML olarak Cache'te tutar. Fakat bu durum web uygulamalarında biraz değişiyor. Dataset kendisini bu sefer server üzerinde cache'lenen bir nesne olarak gösteriyor. İstekte bulunduğunuz data server üzerinde bir kez bağlantı kurulduktan sonra aynı bağlantıdan gelen istekler Server cache'inden karşılanıyor.
Daha önceki yazımda dataset hakkında ufak bir bilgi verirken bu örneği kullanmıştım ama önceki makalemizi okumayanlar için tekrar yazmak istiyorum :
Farzedelim ki sizin yazdığınız Server-Client tabanlı bir uygulama var. Satış grubunuzdan birisi Laptop'uyla (bu bilgisayarın laptop olması örneğimiz açısından önemli) server'a network vasıtasıyla bağlandı ve ürünlerinizin fiyat listesini programdan çağırdı. Sayfalar halinde, belki 1000 tane ürün listelendi (bütün listeyi bir anda ekrana getirmediğimize dikkatinizi çekerim.). Fiyat listesi dataset sayesinde Client'ın memory'sinde cache'lenmiş oldu. Üzerinde istediği değişiklikleri yaptı ve network kablosunu çıkartarak server ile olan bütün bağlantısını kesti. Sonra satış yapmak üzere müşterisine gitti. Eeee??? Şimdi ne olacak? Normalde bütün bağlantıyı kestiği için ekran üzerinde gözükmeyen kayıtlara ulaşamayacak değil mi?
Hayır ulaşacak ! İşte Dataset in güzelliği burada; bütün bu data client memory'sinde cache'lenmiş durumda. Yani müşterisinde, sanki kendi network'üne bağlıymışcasına ürünlerini görebilecek ve bilgilerini müşterilere aktarabilecek.
Web uygulamalarında Windows uygulamalarına benzer biçimde Client Cache'inin kullanımına başlanması için Microsoft'un native .NET Framework destekli bir browser sürümü çıkarması gerekiyor galiba
DataSet ve Verileriniz Arasındaki Köprü : DataADAPTER !
Command nesnesi yardımıyla DataReader kullanarak sorgu gönderip sonucunu alabiliyorduk. Tabiiki istersek DataSet'imize veri doldurmak için DataReader nesnesini kullanabiliriz, ama bu pek kullanışlı bir yol olmaz. Üstelik DataSet için Disconnected (Bağlantısız) yapıya uygun başka bir nesne geliştirilmiş olmalı değil mi? Peki DataSet kullanmak istediğimizde ne yapmalıyız? İşte sorumuzun cevabı : DataAdapter !
DataAdapter Nedir?
ilgili web sitesi=http://msdn.microsoft.com/en-us/library/haa3afyz%28v=vs.80%29.aspx
DataAdapter Nedir?
DataAdapter nesnesi Connected ve Disconnected bağlantı yapısı ile veri arasında köprü vazifesi görür. Database'inizden çektiğiniz veriyi DataSet'inize doldurmak yada DataSet'inizde güncellenerek cache'lenmiş verilerinizi veri kaynağınızda da güncellemek için istediğiniz zaman DataAdapter nesnesini kullanabilirsiniz. Konuyu daha fazla dağıtmamak için şu anda bu nesnenin DataSet ile kullanımı ve veriye erişim konuları üzerinde yoğunlaşmalıyız.
Bilmeniz gereken bir-iki ufak ayrıntı da şunlar:
- DataAdapter Disconnected Data ile çalışmak için tasarlanmıştır.
- DataAdapter ve DataSet arasında direkt olarak bir bağlantı yoktur.
DataAdapter ile DataSet'e veri doldurulurken database bağlantısı kapalı ise açılır, dataset doldurulur ve işlem bittiği anda otomatik olarak kapatılır. Eğer bağlantı halihazırda açıksa herhangi bir hata vermeden işlemi yapar ve bağlantıyı kapatarak işlemini sonlandırır. Böylece bizlerin de fazla detayla uğraşmadan hızlıca işlemlerimizi yapmamızı sağlar.
Kullanımına gelince; Temelde iki adet argüman alır. Bunlardan birincisi DataSet'e doldurmak istediğimiz veriyi belirten "SELECT * from Nothwind" gibi bir SQL cümlesidir. Ikincisi ise bağlantıyı açıp veriyi almasını ve bağlantıyı kapatmasını sağlayan Connection String adını verdiğimiz database'e bağlantı cümlesidir. Son olarak DataSet'e veriyi doldururken de Fill() methodu kullanılır.
Aşağıdaki paragrafta DataAdapter'in temel olarak kullanımına dair örneği göreceksiniz.
DataSet Oluşturma ve DataTable yapısı
Dataset deyince aklımıza bir yapı daha gelmeli: DataTable !
Dataset'i bir excel dosyasına, DataTable'ı ise Excel içerisindeki WorkSheet'lere benzetebiliriz dersem herhalde DataSet yapısı aklınızda daha iyi oluşur.
Datatable, Dataset'in içerisinde birden fazla bulunabilen, kayıtların tutulduğu tablolardır. Dataset, DataTable'lara bir kap vazifesi görüyor; onları yeniden oluşturup birbirine kopyalayabiliyor, aynı dataset içerisinde bulunan DataTable'lar arasında ilişki kurabiliyor, hatta database olmadan direkt olarak cache'de DataTable'lar yaratabiliyor. Bu durum bizi elektronik ticarette alışveriş sepeti tarzında uygulamalar oluştururken bayaa rahatlatacak bir teknik. Tabii sadece bu bir örnek, kullanım alanının sınırsız olduğunu düşünüyorum. Bunun yanında sıralama, arama ve filtreleme özellikleri de var.
Bir Dataset'i oluşturduğunuz anda veritabanındaki bir tabloyu yada sorgu sonucunu atayabilirsiniz. Bu durumda Dataset kendi içerisinde otomatik olarak bir tablo oluşturacaktır.
web sitesine bakmakta yarar var örnekler için
İyi Çalışmalar Kolay Gelsin...
Etiketler: Database, vb, visual basic
SELECT *,
decode(MUSTERI_ID, 10000,'IBM', 10001, 'Microsoft',10002,'Hewlett Packard')AS MUSTERITURU FROM MUSTERI
Etiketler: vb, visual basic
txtTarih1.Focus() : txtTarih1.Select() açılınca ilgili txte gider ve seçmek için imleci orada tutar
Etiketler: vb, visual basic
Gidip gried view üzerinden Run Designer a tıklayın daha sonra şimşek işaretine ordan
CustomDrawCell i bulun ve üzerine 2 defa tıklayın açılan kod sayfasında
Private Sub gv_CustomDrawCell(ByVal sender As System.Object, ByVal e As DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs) Handles gv.CustomDrawCell
end sub
arasına aşağıda verdim koda benzer şekilde kodunuzu düzenleyin ve renklendirin
If (Utils.Nvl(gv.GetRowCellValue(e.RowHandle, "GIZLI"), 0) = 1) Then
e.Appearance.BackColor = Color.Olive
e.Appearance.ForeColor = Color.White
End If
If (Utils.Nvl(gv.GetRowCellValue(e.RowHandle, "EVRAKTUR"), "") = "A") Then
e.Appearance.BackColor = Color.Red
e.Appearance.ForeColor = Color.White
End If
A adli evrak ise demek
Etiketler: vb, visual basic
Bu yazıda gried view içersinde oluşturduğumuz column ların kaçtane oldugunu eğer onların içersinde bir değer varsa toplamlarını bulmayı anlatacağım
örnekleyecek olursak bir gried view içersinde databaseden kişileri ve maaşları çekiyorsunuz ve bu kişilere ait gelen verilerde ne kadar maaş ödediğinizi öğrenmek istiyorsunuz hemen gried view altında kod falan yazmanıza gerek yok yapmanız gereken
1) gried view Run Designer ına gelin -> views açın ordan -> OptionsViews a tıklayın oradan -> showfooter ı True yapın
sonra ise
2) Run Designer -> Columns a gelin hangi column için işlem yaptıracaksanız onun üzerine bir defa tıklayın ve ardından
Summary Item da ki + işaretine tıklayın daha sonra orda bulunan SummaryType tıklayın
orada sum min max average hangisini istiyorsanız seçin.
İyi Çalışmalar.
Etiketler: vb, visual basic
Arkadaşlar Merhaba ;
Kullanıcıdan alınan ikitane farklı tarih alıp ona göre istediğimiz işlemi yaptırmayı anlatacağım ama öncelikle
2 tane dateEdit Ekleyelim veya textBox ekleyelim dateEdit1 bizim gelen Evrak
dateEdit2 ise bizim giden evrak ı ifade etsin
If (dateEdit1.Text.Trim <> "" And dateEdit2.Text.Trim <> "") bu kontrolü tarih alanlarından herhangi biri boş bırakılmasın diye kontrol ediyorum sonra
else if lede convert ederek tarihleri check edeceğim ve ekrana bir tane mesaj msgBox ilede hata mesajı yazıdıracagım orada gördüğünüz messageBox sizde msgBox olarak görünecektir.
Sonunda return false ile geldiğ yere geri dönecek.
If (dateEdit1.Text.Trim <> "" And dateEdit2.Text.Trim <> "") Then
ElseIf (Convert.ToDateTime(dateEdit1.Text) > Convert.ToDateTime(dateEdit2.Text)) Then
MessageBox.Show("dateEdit1 Tarihi dateEdit2 Tarihinden büyük olamaz", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Information)
dateEdit1.Focus() : dateEdit1.Select()
Return False
End If
focus lanarak hatanın oldugu yere düzleltmesi için geri dönecektir. : işaretin anlamı hani alt satıra geçmek yerine küçük bir kod : koydum ve devam ettim :) kolay gelsin.
Etiketler: vb, visual basic
Veri Tipi Değer büyüklük
Boolean True-False 2 Bayt
Byte 0-255 1 Bayt
Char Tek bir Unicode karakteri tutar 2 Bayt
Date 01.01.01 tarihi 00:00:00 ssati 31.12.9999 23.59.59 8 Bayt
Decimal Maksimum 29 haneli sayı tutar +/1 79.147 arasıdır bu değerler. 16 Byte
Double negatif sayı aralığı -1,79769E+308 ile -4,94065E-324
pozitif sayı aralığı 4.94065E-324 ile 1,79769E+308 değer alır. 8Byte
Int32 -2,147,438,648 -2,147,438,647 4 Byte
Int16 32,768 - 32767 2 byte 2 Byte
Int64 -9,223,372,036,854,775,808 - 8 Byte
9,223,372,036,854,775,807.
Single Negatif Sayi aralığı -3,4028235E+38 ile -1.401298E-45
Pozitif Sayi aralığı 1,401298E-45 ile 3,4028235E+38 4 Byte
String Maksimum 2,147,483,647 Unicode karakter tutar
12 E -3 ifadesi 12*0,001 demektir
int16=Short
int32=Integer
int64=Long
Etiketler: vb, visual basic
Değişkenler Dim Anahtar Kelimesi ile Tanımlanır.
dim değşken_adı As Değişken_Tipi şeklinde olur
örn:
dim sure As Integer
dim alfabe As String
dim alfabe de doğru kullanımdır ama tipi biliniyorsa yazmak performasn açısından önemlidir. yani ilk iki örnek daha doğrudur bu yüzden.
Boşluk, nokta, soru işareti vb değişken adı olamaz
Sayi ile başlayamazsınız.
keyword yani vb kendi dilinde tanımlı anahtar kelimeleri kullanmazsınız.
dim dim as double yanlış olur
dim (sayi) as Short yanlış olur
dim 3asd as Integer yanlış olur
dim "kelime" as String yanlış olur bunlara dikkat edin.
dim değişken1,değişken2 As Integer doğru bir kulanımdır.
yine atama yapmak istersek = operatoru kulanmamız yeterli olacaktır.
dim adsoyad As String = " Mesut ALTINYAPRAK " DOĞRU BİR KULLANIMDIR
Dim ile oluşturulan bir değişkene ancak kendi scope (kapsama alanı ) içersinden ulaşabilirsiniz. bu değişkenler bellkete saklanırlar. değişkenleri tanımlandıkları yer kullanaılacağı amaca göre seçilmelidr. yani bir değişken ir defa kullanılacaksa form içersinde tutulabilir ama bir değişken birden fazla formda kullanılacaksa class tanımlamaları gerekmektedir. bun tarz işler performansı artırır.
Dim sözcüğü, "Boyut" anlamına gelen Dimension kelimesinin kısaltmasıdır...
bu şekilde tanımlanan değişkenler Object (Nesne) tipindendir. Yani Her türlü veriyi Tutabilirler. tabi bunlar performanısı önemli ölçüde düşürürler.
İyi Çalışmalar.
Etiketler: Dim, vb, visual basic
Arkadaşlar vb ile merkez bankasından xml kullanarak dolar kuru çek diye aratığınızda bir sürü hikaye çıkar en basit ve temiz olanı
1) bir tane forum açın
içine bir tane griedwiev ekleyin ben adına gwxml dedim
2 ) kod sayfasına gelin page load un içine
Dim dsXmlReader As New DataSet
dsXmlReader.ReadXml("http://www.tcmb.gov.tr/kurlar/today.xml ")
gwxml.DataSource = dsXmlReader.Tables(1)
yazın ve run edin hepsi bukadar :D
isim dediğimde yerde index veya tablo ismini vereceksiniz örneğin merkez bankasında 2 tane indexi var 0=Tarih_Date 1=currency
veya
Dim dsXmlReader As New DataSet
dsXmlReader.ReadXml("http://www.tcmb.gov.tr/kurlar/today.xml ")
gwxml.DataSource = dsXmlReader.Tables("Currency")
yazıncada verileri görebilirsiniz.
peki bu tablo isimlerini nasıl görebiliriz mailli için ekran görüntüsü aşağıda
dsXmlReader.ReadXml("http://www.ensonhaber.com/sitemap.xml ") kodun yazdığı yere kahverengi noktanın olduğu yere bir defa tıklayın sizde de o nokta olacak.
sonra kodu run edin
daha sonra f10 basın kodun üstü kırmızı altı sarı olacak daha sonra
dsXmlReader kodnun üstünü seçin bekleyin büyüteç göreceksiniz ona tıklyaın
artık index yada tablo isimleri karşınızda birinci tablonun ilk indexi sıfırdır 0 1 2 diye gidiyor dikkat edin buna :)
İyi Çalışmalar...
Etiketler: merkez bankası, vb, visual basic, xml