Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => Visual Basic .NET => Konuyu başlatan: mech - 19 Ocak 2013, 00:36:44

Başlık: form dışı komut nasıl çalıştırılır??
Gönderen: mech - 19 Ocak 2013, 00:36:44
Merhaba Arkadaşlar. VB.NET'de bir değişkenin deiğişimine göre form içindeki mesela label1.text'i nasıl değiştirebilirim. Mesela;

class form1
if y=1 then label1.text="Tamam" Else label1.text="Bekliyor"
end class

Bu durumda bu cümle bir kalıp dışında olamaz hatası veriyor. Yardım ederseniz sevinirim. Teşekkürler.
Başlık: Ynt: form dışı komut nasıl çalıştırılır??
Gönderen: muhittin_kaplan - 19 Ocak 2013, 00:39:04
bu olayı hangi olay olunca yapmak istiyorsun
Başlık: Ynt: form dışı komut nasıl çalıştırılır??
Gönderen: OG - 19 Ocak 2013, 01:25:39
VB için konuşuyorum,

y değişkenin general declaration da tanımlanması gerek, yani formun en üstünde. Bunun anlamı y değişkeni tüm prosedürlerde görülebilmesini sağlar.

ayrıca
Alıntı Yapbu olayı hangi olay olunca yapmak istiyorsun
dendiği gibi, o işi ortaya çıkaracak bir durum lazım,
bir butona basmak gibi
veya bir timer ile istediğin sıklıkta y değişkenin o değeri almışmı diye kontrol etmek gibi.
Başlık: Ynt: form dışı komut nasıl çalıştırılır??
Gönderen: mech - 19 Ocak 2013, 09:21:54
Teşekkürler.  Anladığım kadarıyla, biz komutları picbasic'teki gibi boşta her zaman denetlenecek şekilde koyamıyoruz. İlla bir durum olması gerekiyor.
Başlık: Ynt: form dışı komut nasıl çalıştırılır??
Gönderen: OG - 19 Ocak 2013, 13:40:45
pic de durum farklı.
Donanımı ve veya yazılımı çalışan bir işlemci var, donanımı geçersek,
Yazılımın çalışması demek, clock palslerinin her atışında (veya tam doğrusu 1 instruction cycle da) programda 1 adım ileri git demektir.

Yani en üstten başlar en alta kadar adım adım gider. Yolu üstündeki yazılımı icra eder. Yolu üzerindeki tüm olaylar tek bir prosedür kapsamında gibidir.

Yani multitasking yok.

PC de ise işlemci sayısız işlem ile uğraşır. Senin yazdığın program içinde bile ne ile uğraşacağını sen yönlendirmen gerekir.

Başlık: Ynt: form dışı komut nasıl çalıştırılır??
Gönderen: cicjoe - 19 Ocak 2013, 13:55:27
degiskenini property olarak tanimlayip, get/set ozellikleri icinde label.text degistirebilirsin en basitinden, hic event'e falan girmeden..

c# icin ornek vereyim, vb'ye uyarlarsin

private int number;
public int Number
{
   get { return number; }
   set
   {
      labelx.text = number.ToString();
      number = value;
   }
}

VB icin surdan bakabilirsin...

http://msdn.microsoft.com/en-us/library/6b85bc00.aspx (http://msdn.microsoft.com/en-us/library/6b85bc00.aspx)
Başlık: Ynt: form dışı komut nasıl çalıştırılır??
Gönderen: Baypars - 22 Şubat 2013, 20:52:27
Alıntı yapılan: mech - 19 Ocak 2013, 09:21:54
Teşekkürler.  Anladığım kadarıyla, biz komutları picbasic'teki gibi boşta her zaman denetlenecek şekilde koyamıyoruz. İlla bir durum olması gerekiyor.


Durum kontrolü programın işlevselliği ve sağlamlığı açısından önemlidir; ancak illa ki durum olmasına gerek yok.

Form açıldığında bir timer nesnesi koyarız ve interval değerini 1 yaparız.Saniyenin binde biri aralıkta, istediğimiz komutu çalıştırabiliriz.Bu da yeterli olur diye düşünüyorum.

Sizin için örnek bir proje yazdım buyrun, umarım işe yarar:
Dil:vb 2008

http://s2.dosya.tc/server/vCbDdd/formd___.rar.html (http://s2.dosya.tc/server/vCbDdd/formd___.rar.html)

Her ihtimale karşı kodlar:



Public Class Form1
    Dim y As String
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            Timer1.Interval = 1
            Timer1.Start()
        Catch ex As Exception

        End Try
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Try
            If y = "1" Then
                Label1.Text = "Tamam"
            Else
                Label1.Text = "Bekliyor ..."
            End If
        Catch ex As Exception

        End Try
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            y = 1
        Catch ex As Exception

        End Try
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Try
            y = 0
        Catch ex As Exception

        End Try
    End Sub
End Class







Başlık: Ynt: form dışı komut nasıl çalıştırılır??
Gönderen: muhittin_kaplan - 23 Şubat 2013, 11:02:19
hocam sizin tabirinizle bu bile bir durumdur

Alıntı YapForm açıldığında bir timer nesnesi koyarız ve interval değerin

timer tick olayını tetikler bu dediğiniz.
Eğer vb.net te olay temelli program yazmak istemiyorsanız console da yazmanız gerekir. diğer durumlarda yolunuz kesinlikle EVENT lere çıkar.
Başlık: Ynt: form dışı komut nasıl çalıştırılır??
Gönderen: Baypars - 23 Şubat 2013, 11:15:44
Alıntı yapılan: muhittin_kaplan - 23 Şubat 2013, 11:02:19
hocam sizin tabirinizle bu bile bir durumdur

timer tick olayını tetikler bu dediğiniz.
Eğer vb.net te olay temelli program yazmak istemiyorsanız console da yazmanız gerekir. diğer durumlarda yolunuz kesinlikle EVENT lere çıkar.


Haklısınız aslında bu da "form load" olayıdır; ancak "form_load" kendiliğinden başladığı için arkadaşın ihtiyacını karşılar nitelikte olacağı kanısındayım.
Başlık: Ynt: form dışı komut nasıl çalıştırılır??
Gönderen: mech - 25 Şubat 2013, 22:41:22
Alıntı yapılan: Baypars - 22 Şubat 2013, 20:52:27

Durum kontrolü programın işlevselliği ve sağlamlığı açısından önemlidir; ancak illa ki durum olmasına gerek yok.

Form açıldığında bir timer nesnesi koyarız ve interval değerini 1 yaparız.Saniyenin binde biri aralıkta, istediğimiz komutu çalıştırabiliriz.Bu da yeterli olur diye düşünüyorum.

Sizin için örnek bir proje yazdım buyrun, umarım işe yarar:
Dil:vb 2008

http://s2.dosya.tc/server/vCbDdd/formd___.rar.html (http://s2.dosya.tc/server/vCbDdd/formd___.rar.html)

Her ihtimale karşı kodlar:



Public Class Form1
    Dim y As String
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            Timer1.Interval = 1
            Timer1.Start()
        Catch ex As Exception

        End Try
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Try
            If y = "1" Then
                Label1.Text = "Tamam"
            Else
                Label1.Text = "Bekliyor ..."
            End If
        Catch ex As Exception

        End Try
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            y = 1
        Catch ex As Exception

        End Try
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Try
            y = 0
        Catch ex As Exception

        End Try
    End Sub
End Class



Teşekkürler. Time Tick olayını kullanarak işimi gördüm. Yalnız, Bu catch try kullanmadım. Bunları kullanmazsam ne olur.
Başlık: Ynt: form dışı komut nasıl çalıştırılır??
Gönderen: muhittin_kaplan - 27 Şubat 2013, 13:48:30
Hata Olursa Program Çöker. Try Catch -end try blogu kullanıcıya bir hata oluştuğunda bildirmek yada bu hatayı yakalayıp programın çökmesini engellemek için kullanılır.

try
   çalıştırılıcak kodlar...
   ...
   ...
catch
   hata oluştuğunda çalışacak kodlar....
   ...
   ...
endtry