Şimdi Ara

Visual Basic Örnekler (4. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
191
Cevap
4
Favori
94.848
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: önceki 23456
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Private Sub Command8_Click()
    Printer.Print Text1
    Printer.EndDoc
    End Sub

    biraz gec gördüm yazını ama ben bunu gecen sene yapmıstım projem vb de word yapmaktı. ve yazdır komutu da vardı. yukardaki kodları kullanmıstım. işe yarıo. kolay gelsin sana


    dostum iyi hoş bu komutlar yazdırıyor. fakat formatlı olarak değil
    örneğin
    adı:ahmet
    soyadı:yeşil
    gibi ama

    ben
    adı____: ahmet
    soyadı_: yeşil
    olarak yazdırmak istiyorum ne yapabilirm.??? ("_" olan yerleri boşluk olarak kabul et )




  • kullanıcı bir listeye kafasına göre sayı eklemek istiyo fakat ekranda bunları sıralı hale dönüştürecek sıralama ile ilgili kodlara ihtiyacım var .. yardım eden olursa sevinirim..
  • proglama.com adresinden alıntı bir kod
    verilen iki sayı arasında asal sayıları bulmaya yarıyor


    Private Sub Command1_Click()
    Dim i, j, asl As Boolean
    On Local Error Resume Next
    List1.Clear
    ProgressBar1.Visible = True
    ProgressBar2.Visible = True
    ProgressBar1.Min = 0
    ProgressBar2.Max = Val(Text2) - Val(Text1)
    For i = Val(Text1) To Val(Text2)
    asal = True
    ProgressBar2.Min = 2
    ProgressBar2.Max = i
    ProgressBar1.Value = i - Val(Text1)
    For j = 2 To i - 1
    ProgressBar2.Value = j
    DoEvents
    If (i Mod j) = 0 Then
    asal = False
    Exit For
    End If
    Next
    If asal Then List1.AddItem i
    Next
    ProgressBar1.Visible = False
    ProgressBar2.Visible = False

    End Sub

    Private Sub Form_Load()
    ProgressBar1.Align = vbAlignBottom
    ProgressBar2.Align = vbAlignBottom
    ProgressBar1.Visible = False
    ProgressBar2.Visible = False
    End Sub




  • quote:

    ProgressBar1.Align = vbAlignBottom


    burada run time error hatası veriyor
  • Teşekkürler baya işime yaradı
  • eyvallah barış

    bu arada öss 1 asama puan hesabı yapan kodlar

    7 text 7 label ve 1 click butonu yeterli...

    Private Sub Command1_Click()
    Dim turk, sosyal, mat, fen As Byte

    turk = Val(Text1.Text)
    sosyal = Val(Text2.Text)
    mat = Val(Text3.Text)
    fen = Val(Text4.Text)

    Text5.Text = 124.873 + (turk * 0.746) + (sosyal * 0.527) + (mat * 2.5) + (fen * 2.064)
    Text6.Text = 120.004 + (turk * 2.125) + (sosyal * 0.844) + (mat * 2.402) + (fen * 0.63)
    Text7.Text = 119.664 + (turk * 2.637) + (sosyal * 1.954) + (mat * 0.795) + (fen * 0.625)
    End Sub

    eğer katsayıları ve sistemi iyi bilen biri varsa yardımcı olabilir mi ona göre bi program yazılabilir...
  •  Visual Basic Örnekler


    Private Sub Command1_Click()
    Dim z1, z2
    z1 = Text1.Text
    z2 = Text2.Text
    If Option1.Value = True Then Text3.Text = z1 \ z2
    If Option2.Value = True Then Text3.Text = z1 Mod z2
    If Option3.Value = True Then Text3.Text = z1 ^ z2
    If Option4.Value = True Then Text3.Text = z1 & z2


    End Sub

    Private Sub Command2_Click()
    End
    End Sub




  •  Visual Basic Örnekler


    Private Sub Command1_Click()
    End

    End Sub

    Private Sub Form_Load()
    List1.AddItem "serseri"
    List1.AddItem "forum"
    List1.AddItem "donanımhaber"
    List1.AddItem "kelime"
    List1.AddItem "visual"
    List1.AddItem "basic"
    List1.AddItem "öğreniyorum"
    List1.AddItem " "
    List1.AddItem "."

    End Sub

    Private Sub List1_Click()
    Label3.Caption = List1.Text
    Label4.Caption = Label4.Caption & List1.Text

    End Sub




  •  Visual Basic Örnekler


    Private Sub Command1_Click()
    If Text1.Text = "serseri" Then
    Timer1.Enabled = False
    MsgBox "Doğru şifre! Hoşgeldiniz!"
    Form1.Hide
    Form2.Show
    Else
    MsgBox "Yanlış Parola, Bir kere daha deneyiniz..."
    End If

    End Sub

    Private Sub Timer1_Timer()
    MsgBox "zamanınız doldu!"
    End

    End Sub




  • vb de saat

    1 label eklemeniz yeterli olacaktır...

    Private Sub Timer1_Timer()
    Dim x
    x = x + 1
    If x = 10 Then x = 0
    Label1.Caption = Time

    End Sub
  •  Visual Basic Örnekler



    Option Explicit
    Private Sub Command1_Click()
    Dim sayı As Double
    Dim hane As Integer
    sayı = Val(Text1.Text)
    hane = Val(Text2.Text)
    Text3.Text = yuvarla(sayı, hane)

    End Sub
    Function yuvarla(ByVal x As Double, n As Integer) As Double
    yuvarla = Int((x * 10 ^ n) + 0.5) / 10 ^ n

    End Function




  • serseri; bugün senin başını çok ağrıttım afedersin :)
    ama yine bi sorunum var, şimdi vb'ye başladım, ilk olarak şöyle bi elim alışsın diye hesap makinesi örneğini olduğu gibi yapıştırıp, fonksiyon ekle fonksiyon çıkar uğraştım biraz, burada hiçbir sorun yok..
    ancak ilk olarak programı çalıştırınca bir eksiklik farkettim...
    textbox'lara dğer olarak sayı ve harf birlikte giriliyor, ancak sadece sayı girilmesini istiyorum, biraz kurcaladım visual studio'yu, ve şöyle bir sonuca ulaştım, textbox'a tıklayıp; properties>data>data format'ı number yapmak yeterli değil.. vbasic bilen bi arkadaşıma sordum, bir kod verdi, ama ascii ile ilgili birşeyler var.. biraz kafam karıştı yani, vaktin olduğu bi zaman hesap makinesi örneğinin altına ascii olayını temel olarak, veya başka bir yol varsa onu anlatabilirmisin?
    saygılar, sevgiler :)

    düzeltme;
    birde değişkenler için tip bildirimi yapıyoruz ya, orda anlamadığım birkaç şey var..
    ilk olarak mutasyon.net'te
    quote:


    -Tip bildirimi için DIM deyimi
    Iyi bir program oluşturmak için,değişkenlerin tiplerini önceden bildirmek faydalı bir alışkanlıktır.Tip bildiriminde bulunulmazsa,değişkenlerin tipi variant olarak atanır.Bu da gereksiz yer kaplamaya neden olur.Değişkenlerin tipini bildirmede alternatif bir yol Dim deyimini kullanmaktır.Dim x as integer gibi.
    Dim a,b,c,d as double şeklindeki ifade,sedece d'yi double olarak atayacak,a,b,c değişkenleri ise variant olarak kalacaktır.
    Dogru kullanım ise: Dim A As Double,B As Double,C As Double,D As Double şeklinde olmalıdır.

    şeklinde bir anlatım mevcut..

    benim sorularıma gelince;

    -serseri'nin örneklerinde, "Dim a, b, c as Double" şeklinde bi kullanım var, en azından benim incelediğim hesap makinesi örneğinde.. hangisi doğrudur?? yani yukarda yazdığı gibi "Dim a, b, c as ..." yazınca sadece c mi .. olarak bildirilir??
    -ayrıca double, integer, variant falan bunların arasındaki farklar nelerdir??

    şimdiden teşekkürler...



    < Bu mesaj bu kişi tarafından değiştirildi misblay -- 17 Haziran 2006; 22:23:04 >




  • Önceki mesajda çok karmaşa çıkacağı için ayrı yazıyorum..
    Şimdi bir sayı tahmin oyunu yapmaya çalıştım, kodları yardım almadan ne kadar kullanabilirim diye, kodları kullanmada sorun yok! Ancak bilmediğim yerler çook ve bu hemen belli oluyor :)

    Kodlar şöyle;
    quote:

    Private Sub Command1_Click() 
    a = Text1.Text
    a = Val(a)
    If a = 12 Then
    MsgBox "Sayı Doğru! Tebrikler!"
    ElseIf a > 99 Then
    MsgBox "Sayı 2 Basamaklı!"
    ElseIf 39 < a < 100 Then
    MsgBox "Ohannesburger! O kadarda büyük düşünemem :))"
    ElseIf a > 12 Then
    MsgBox "Aşağı!"
    ElseIf 0 < a < 10 Then
    MsgBox "Sayı 2 Basamaklı!"
    ElseIf 9 < a < 12 Then
    MsgBox "Yukarı!"
    ElseIf a < 0 Then
    MsgBox "Sayı Pozitif!"



    End If
    End Sub


    İki sorunum var;
    -Sayıyı negatif(-) değer girince ters tepki veriyor ve; sayıyı 39 < a < 100 durumuna göre değerlendiriyor.. Neden böyledir?? negatif sayıları tanıması için yapmam gereken birşeyler mi var??
    -Rasgele sayı seçmesini nasıl sağlarım??

    Teşekkürler



    < Bu mesaj bu kişi tarafından değiştirildi misblay -- 17 Haziran 2006; 23:06:20 >




  • Hocam öncelikle VB dünyasına hosgeldin,

    ilk sorun sayı harf ayrımı. Klavyede bulunan her tusun bir ascii kodu mevcut kodlama da ascii kodları (1.sayfada ascii kodları mevcut) onları temsil etmek icin kullanılıyor.onunla ilgli bir örnek var bulunca foruma koyarım. Gelelim Dim den sonraki yazılanlar tanıtacagın değerlerin ne kadar kapasitede olduğunu belirtiyor. Hos istersen yazmayabilirsinde VB kabul ediyor ama işlem yükü ve hızının azaltılması için yazmayı tercih ederim.Gerci şimdi pc işlemcileri hızlı.

    Söyle söyleyelim bir sınıf listesi yapacaksın öğrenci sıraları yazılacak 200 öğrenci olsun. Öğrenci sırasını tanımlamak için en fazla 200 yazacaksın. Bu durumda bunu tanımlamak için BYTE kullanırsın.

    Bir önceki sayfada yazsılmıstı;

    Byte : 0-255 arasındaki değerler için kullanılabilir. Örneğin sınıf lisesi yapılacaksa bu tür işe yarayabilir.

    Integer : -32768 ile 32767 sayı değerleri arasındadır (genelde en sık kullanılan veri türlerdinde birisidir)

    Long : -2 147 483 648 ile 2 147 483 647 arasında değerler alır.

    Buna göre neyi tanımlayacaksan ona göre bir değer atarsın.


    Yine diğer sayfada yazılanlardan;

    Diyelim

    Dim sıra_no as Byte

    ya da

    Dim sıra_no as Long

    ikisi arasında fark yoktur (sıra numaralarının 256dan büyük olmayacagını düsünürsek) Tek ayrım bilgisayar hesaplamalarda bu işleme daha çok alan ayırmakta böylece işlme süresi uzamaktadır.


    Devam edelim;

    Single : a üssü b şekli gösterime izin verir a ve b yi integer veri türünde düşünürsek. 3.14 pi sayısını göstermek istersek 312*10 üzeri -2 şeklinde ifade edebiliriz. 2 integer ifadesi yer alacagından bellekte 8 byte yer kaplar.

    Double : single ifade eden a ve b değerlerinin long veri türünde olması durumundaki haldir. Çok büyük sayılar bu yolla yazılabilir (örneğin maliye hesaplarındaki parsal değerler)

    Boolean : yalnızca 0 ya da 1 değerini alır bir nevi matematikteki mantık dersinde görülen doğru yanlış ifadesidir. 0 değeri False (yanlış), 1 değeri true (doğru) şeklinde atanır. (örneğin sayı 2ye bölünüyorsa doğru deyip sayıya çift sayı dedirtebiliriz)


    String : Karakterleri tanımlamada kullanırız. Burada karakter kelimesinden kasıt sayısal ifadesizliktir. örneğin bir yer için parola tanımlayaılım bu paralada A30G23T79 şeklinde olsun. Bu parolada rakamlar olmasına rağmen bir sayısal değer ifade etmemektedir bu yüzden

    Dim parola as string şeklinde ifade edilir.


    Umarım biraz sekillenmiştir.

    Gelelim ikinci soru;

    Rnd fonksiyonu sayı üretmede kullanılır.

    Int(Rnd * 10) yazarsan işini görür. Bu su demek rnd ile 0-1 arası sayı üretilir. Bunu 10 ile carpar ve Int fonksiyonu ile sayıyı tam sayıya yuvarlar. Eğer 0-100 arası rassal sayı istersen 100 ile carp. Bu değer = a yaz ondan sonra if a> texte girilen tahmini sayı değeri yaz. Msgbox Aşağı in. if a = text1.text msgbox "doğru bildiniz" gibi birşeyler yapabilirsin.




  • Sayı mı karakter mi girişi olsun sorusuna basit bir örnek; Aşağıdaki gibi bir arayüz yapılabilir.

     Visual Basic Örnekler


    Kodların hepsini yazmadım sadece texte girilen değerin sayı mı harf mi olduğunu anlatan kodları yazıyorum


    Private Sub Text1_KeyPress(KeyAscii As Integer)
    'Gireceğimiz karakterlerin rakam,harf ve karma değer girişleri
    If Option2 Then
    If KeyAscii > Asc("0") And KeyAscii <= Asc("9") Then KeyAscii = "0"
    End If
    If Option3 Then
    If KeyAscii > vbKeyA And KeyAscii > vbKeyZ Then
    KeyAscii = "0"
    End If
    End If
    End Sub



    < Bu mesaj bu kişi tarafından değiştirildi serseri -- 18 Haziran 2006; 1:23:01 >




  • Hmm, anladım.. Sağol
    Sayı, karakter girişi olayına sonra el atsam daha iyi, okuduğumda tam çözemiyorum işlemleri falan.. Zamanla yaparız büyük ihtimal :)
    Şimdi başka bir soru soracağım,

    -Herhangi bir durumda, örneğin; aşağıda "vbOkOnly" yerine "vbOkCancel" yazıp "If b=vbCancel Then .." şu satıra atla demek için GoTo kullanılıyor sanırım, ancak GoTo'dan sonra nereye gitmesi gerektiğini nasıl gösterdiğimi bi ara bi web dersinde görmüştüm ancak bi daha göremedim

    -Birde, Örnekte bir tane buton var, tıklanması durumunda gerçekleşecek olaylar görülüyor, ancak a'yı bir türlü msgbox'ta görülecek şekle sokamadım?? ".." ile belirtilen yere ne gelmesi gerekli??;
    "Private Sub Buton1_Click()
    a = Int(Rnd * 10000)
    b = MsgBox("4 Haneli Şifreniz üretildi, görüntülemek için Tamam'a basın", vbOKOnly)
    If b = vbOK Then MsgBox ("Şifreniz ..")
    End Sub"

    Teşekkürler!




  • Şöyle söyleyeyim GoTo komutu pek sevmiyorum kullanıslı değildir. Sürekli programı parçalar halbuki bana göre programcılıkta parçaları bütünleştirmek daha önemlidir. Ve GoTo komutu bazen hata ile karsılastıgında OnError komutu gibi davranır bunu da kullanıcı bazen farkedemeyebilir.

    Gelelim şifre programına en basitinden söyle birşey yazsak

    a = Int(Rnd * 10000)
    b = MsgBox("4 Haneli Şifreniz üretildi, görüntülemek için Tamam'a basın", vbOKOnly)
    If b = vbOK Then
    Text1.Text = a

    üretilen şifre text'e gelir. Bana göre daha hos olur. Msg box kutusu yerine text box daha iyi olur.Ama burada amacın üretilen sayıyı görmek mi yoksa parolo girişini doğru giriş şeklinde mi yaptırabilmek onu anlamadım.

    Kolay gelsin...
  • peki GoTo yerine kullanabileceğimiz başka birşey varmı??
    ordaki amacım şifreye ulaşmaktı, yani program rasgele şifre üretecek, bende o şifreyi alıp kullanıcam gibi bi mantıktan basit bi denemeydi :) gerçekten textbox'a almak çok daha rahat ve sade oldu..
    teşekkürler :)
  • Kendi kendime bir telefon defteri oluşturmayı denedim..
    Pek başarılı olduğum söylenemez
    Takıldığım -kodun işlevini anlamadığım- bir nokta var..
    Şimdi ilk olarak telefon defterinin db'si olarak .dat uzantılı dosyaları seçtim -random dosya kullanımı olarakta biliniyor sanırım-..
    Bu sorun olurmu hiç fikrim yok, ilk olarak bunu merak ediyorum..

    --->Devam edeyim; tabii ki random dosya kullanımı konusunda bilgilm yoktu, ve bir örnekten (http://www.vbturk.net/idsorgula.asp?id=515) yararlandım..
    Burda ki kodda anlamadığım bir terslik var, gerekli tanımlamalar yapıldıktan sonra şöyle devam ediyor kod;
    quote:

    ....
    Open �C:\Musteri.dat� For Random as #DosyaNo len=len(Kayit)
    ...

    burda len=len(...) komutu ne ifade etmekte??

    -->ayrıca ben bunu telefon kayıt olarak denediğimde bahsi geçen komut dizisini (hepsini demin verdiğim linkte görebilirsiniz o linkin sadece random kısmına bakınız) command1_click şeklinde bir komuttan sonra yazdım, daha sonra f5'e basıp run dedim ve test etmeyi denedim, gerekli verileri girip kaydet butonuna -command1 butonu) basınca hata verdi ve "Private Sub Command1_Click" satırını çizdi?? nedendir
    --->birde db olarak böyle kullanmam şimdilik yeterlimi?? access kullanılıyor bildiğim kadarıyla ancak access kurulu değil ve oficce xp cd'mde yok! dolayısıyla bi ihtimal excel kullanılıyosa diyorum ama emin değilim.. onuda açıklarsanız sevinirim..

    saygılar..
    teşekkürler!

    önemli düzeltme!
    sanırım verdiğim linklerde üyeliksiz kodlar görüntülenemiyor, afedersiniz, oraya ekleyip karıştırmak yerine buraya ekleyeyim dedim;
    "Dim DosyaNo
    DosyaNo=Freefile
    Open �C:\Musteri.dat� For Random as #DosyaNo len=len(Kayit)
    Kayit.MusteriNo = Text1.Text
    Kayit.MusteriAdi = Text2.Text
    Kayit.MusteriAdresi = Text3.Text
    Put #DosyaNo, Kayit.MusteriNo, Kayit
    Close #DosyaNo"



    < Bu mesaj bu kişi tarafından değiştirildi misblay -- 19 Haziran 2006; 23:01:13 >




  • Hocam birinci sayfada yazmıstım

    "Len(String):Girilen stringin kaç karakter uzunluğunda olduğunu öğrenmemize yardımcı olur.Sayısal bir değer alır.A=Len("serseri") dersen A=7 olur. "

    VB calıstırıldığında kodlarda bir hata varsa hatalı kod neresi ise orayı sarı cizerek belirtir.

    Yapacagın programda Access ile databaseden baglantı kurulucaksa bu genelde ADO adı verilen bağlantılarla oluyor. Kİ bana kalırsa ilk asama kullanmanı tavsiye etmem. Bana kalırsa daha daha basit programlardan git derim...

    Verdiğin linki ben acamadım sayfa bulunamıyor uyarısı veriyor :S
  • 
Sayfa: önceki 23456
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.