Şimdi Ara

ASP.NET Programlama ile VB formları yönetme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
4 Misafir (1 Mobil) - 3 Masaüstü1 Mobil
5 sn
9
Cevap
0
Favori
945
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar siz ustalara bir sorum olacak; Mümkünse tabii;

    Selam; Eğer mümkünse hiç bir yerde bulamadığım bir konuyu sormak istiyorum.

    Sorum; visual basic 2010 ile yazılmış formları ve kontrolleri olan bir program var ve PC de çalışıyor. İsteğimiz bu programın kontrollerinin asp.net ile yazılmış web formları tarafından yönetmek. Mesela bir vb programı var. başlat butonu veya butona basınca labele yazı yardıran bir program. basit bir örnek. Şimdi bir web form oluştursak ve burada bir başlat butonu oluştursak ve buna basınca visual basic programdaki başlat butonuna basılsa ve labele yazı yazsa.

    Amaç vbasicle yazılmış basit bir formu uzaktan yönetilebilir yapmak. Yani güzel yazılmış bir pc yazılımımız var. Ben buna bir web form ara yüzü yazmak istiyorum. Ağdaki herhangi bir pc den yayındaki bu web forma browser den erişilecek. bu formda kontroller olacak. Bu kontroller yayının yapıldığı pc deki programın kontrollerini çalıştıracak. Daha ilerisinde bu kontroller vasıtası ile gelen veriler web form ile alınarak gösterilecek.

    Malesef ASP ile web talepleri karşılayan programlar yazılabiliyor. Komutlarda buna göre ve kısıtlı. Bizdeki program vb form ile oluşturulmuş bir seri port cihazla konuşuyor ve onu yönetiyor. Eğer programı web arayüzü ile yönetebilirsek uzaktan erişilebilir ve yönetilebilir kılacağız. Tabii bilgi edine bilirsek.

    Teşekkürler.







  • yok mu bi cevap. Nasıl bulacağız bu konuyu ???



    < Bu mesaj bu kişi tarafından değiştirildi yasesa -- 12 Kasım 2014; 16:16:47 >
  • Eger bu bahsettigin programin acik kaynak kodlari yoksa isin zor ancak acik kaynak kodlari varsa bu dedigin olabilir. Ancak datalar uzerinde bi kontrol saglayacagim diyorsan eger, ayni veri tabanini kullanmak sarti ile sistem uzerine web form olusturulabilir.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: veli_0300

    Eger bu bahsettigin programin acik kaynak kodlari yoksa isin zor ancak acik kaynak kodlari varsa bu dedigin olabilir. Ancak datalar uzerinde bi kontrol saglayacagim diyorsan eger, ayni veri tabanini kullanmak sarti ile sistem uzerine web form olusturulabilir.

    Selam Veli;

    Öncelikle cevabın için teşekkür ederim. Programın kaynak kodu var. Tamamı bizim tarafımın dan yazıldı. Aslında program üzerinde fazla bir şey yok. bir adet bağlan butonu, cihazdan kayıt indir (txt), Cihaz saatini ayarla ve seçilen cihaz ayarlarını yükle butonları.

    ben şöyle bir kod olursa bu mantığı uygularım diye düşünüyorum. VB form ile bir buton ve basıldığında merhaba yazan bir label etiketi.

    Şimdi öyle bir şey yapsak ki bir VB asp.net form sayfası açsak ve buraya bir buton yerleştirsek. şimdi aynı pc üzerinde yayın yapan bir web form var. ve üzerinde de sadece bir buton. Aynı pc de çalışan bir vb basic form ile oluşturulmuş yukarıdaki dediğim labele merhaba yazdıran program.

    Nasıl olabilir acaba; VB.net web form ile VB form program arasında bir bağlantı olacak. Öyle bir kod yazılacak veya ilişkilendirilecek ki; web form daki butona tıklayınca vb formdaki buton aktif olup label merhabaya dönecek.

    Sadece bunun tek bir mantık örneğini görsem gerisini benzer şekilde yapabilirim diye düşünüyorum.

    Yardımınız için şimdiden teşekkürler.




  • Kaynak kodlari varsa olur bu bast bak simdi Bir web projesi olustur ve bu projeler arasinda iletisim kuran bir dll olustur eger wcf kullanmayacaksan ancak fotmlar yuklendigi anda ofline olduklari icin arka tarafta kutuphaneni refreshlryecek bir mekanizma olistur en basitinden timer bu sekilde isini halledersin masaustunden webi kontrol ederken ajax kullanman lazim webdende masaustunu kontrol ederken timer kullan bu sayede degisiklikleri canli tutmus olursun

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Ben vb den. Fazla anlamam ama istersen c# ile yapariz bu dedigini

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Veritabanı veyahut xml gibi bir yapı olustur yada web servis yaz masa üstü uygulaması ile sürekli dinle oradan, event tetikle asp.net ile servisi sürekli dinlediğin için gelen dataya göre istediğini yaparsın.
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • Son durumuda bir söyleyeyim.

    programın kaynak kodu var. söylemiştim.


    windows formdaki kodları alarak web olarak açılan visual basic fomlara yapıştırdık. mesela oluşturulmuş bir butona yazılmış vb kodları (windows formda) .aspx bir boş web formda buton oluşturarak kodları bu butonun içine yapıştırdık.

    öncel olmaz diye düşümüştük. ancak 2 adet buton bir adet label ve seri port iletişimi ekledik. ve vb formdaki kodlar çalıştı. Ancak başka bir sorun çıktı ve aşamıyoruz.

    programda bir adet bağlan butonu 1 adet veri gönder butonu var. bir adette label var. label seri porta gönderilen bilgi sonucu dönen bilgiyi gösteriyor. Tabi gerek windows formda ve gerekse web formda seri port komponentini sürükleyip kod sayfasının altında görmelisiniz. afedersiniz web formda başka türlü. çözüm explorerde .aspx sayfanın sağ tık özelliklerinde bileşen ekleme şeklindeydi şanırım.

    aslen program çalıştı.

    windows formdaki gibi. ancak bilgisayar seri porta erişim izni vermiyor. Daha doğru şekilde çalışan programı İİS ile yürütünce asp.net in seri porta erişim izni vermediğini gördük. Veya asp.net seri port erişim kodlarını yürütünce bir şekilde engelleniyor.

    izin konusunu epey irdeledik. otantikauthor identity anonim velhasıl full yerkili kullanıcılar tanımlasakta hala seri port erişimi reddedildi deniyor. çıkamadık işin içinden. program hata vermiyor. cath ile tanımlanan hatayı fırlatıyor ki buda zaten aynı nokta yaNİ seri port erişim hatası.

    İSS de bir takım ayarlar gerekiyor veya bilgisayar seri port erişim izinleri gibi bir özellik var seri portta. Aslen web formda böyle bir izin gerekmiyor. erişim direk gerçekleşiyor. Sorun web sayfasındaki programın (aspx) işletilmesi olunca olmuyor. Acaba browser ayarı falan olabilir mi ki?

    basit bir ayardır ayardır muhtemelen ama bilmeyince haftalar.




  • Selam arkadaşlar. Sorunları tamamen anladım ve çözdüm diyebilirim. Sizlere de faydası olur belki diye yazıyorum. Elinizdeki windows form ile yazılmış programları web tabanlı olarakta yazabilirsiniz.

    Benim yapmaya çalıştığımda bu zaten. Seri port ile iletişim kurabilen ve bu özelliğini kullanmak üzere windows form ile visual basic dilinde yazılmış bir programı web platformuna taşımaya çalışıyorum. Bundaki amaç program uzak erişimli hale geliyor. Yani cihazı evinizden bile ayarlayıp değerlerini takip edebileceksiniz.

    Şimdi konuya gelirsek başlangıçta çaresiz kaldık. Neden derseniz internette bilgi bulamadık bu konuda. yada biz bilemedik neyse.

    yeni boş bir web form yarattık VB dilinde. Seri port tanıttık. bu windows formdakinden farklı. Araç kutusundan direkt formun üzerine bırakmıyorsunuz.

    boş web sayfanızı oluşturduktan sonra çözüm gezgini içinde default.aspx veya webaplication.aspx her ne ise sağ tıklayarak bileşen tasarlayıcısını gör ü seçeceksiniz. daha sonra aktif olan araç kutusundan serialpor1 i ekleyeceksiniz.

    Programa gelince elinizdeki kod varsa birebir aynı öğelere taşıyacaksınız. yani buton1 öğesindeki kodları buton1 oluşturun içine yapıştırın. Eğer sıfırdan yazıyorsanız tabi direk buralara yazacaksınız.

    Yalnız kodlarda da malesef bir kısım değişiklikler gerekti. Aşağıdaki ilk bölümü eklememiz gerekti web form olarak. İkinci bir sorun tekbir buton içinde yazmamız gerekti seri port erişimini. Yani bir butonla portu açayım diğer butonda veri göneririm dediniz mi? 2 ay kadar bir süre port erişimi engellendi diye bir hata görüyorsunuz ve kodları hallaç pamuğu gibi atıyorsunuz olmuyor. Seri porta izin arıyorsunuz. İİS de port izni arıyorsunuz. veya oturum izini arıyorsunuz. anonim author vs. ama hiç biri ilgisi yok. Hata sizi yanlış yönlendiriyor.

    aşağıdaki web form için programa bakarsanız port açma veri yollama ve veriyi alma ve portu kapatma tek bir sub içinde. yinede alt program kullanabilirsiniz sub baglan() .............end (sub) gibi buda çaılıyor tabi.

    İkinci kod başarılı bir şekilde çalıştı. Şimdi programın diğer bölümlerini web forma taşıyorum.

    Uğraşan arkadaşlara başarılar. Yani VB programların web forma taşınmasında ki mantık bu şekilde. Çok alakasız bilgiler var arkadaşlar. zor bulunabiliyor bazı bilgiler.

    Herkeze başarılar.

    Bu arada önemli bir konu İİS de (internet information Server) web yayını yapacağınız klasöre yetki vermeyi unutmayın. klasörü sınayın ve kullanıcı adı ve şifresini yazarak yetkilendirin. Ayrıca klasör yetkili kullanıcılarına İİS yide eklemeniz gerekiyor.

    Bendeki kullanıcılar;

    Authenticated User;
    IUSR
    SYSTEM
    NETWORK
    XXXXXXXXXXXXXXX domain kullanıcı olarak kendim
    Administrators (kendim)
    Users (kendim)
    Network Configuation Operators
    IIS_IUSRS
    interactive

    Bu kullanıcılar yayın klasörüne tam erişim yetkisine sahip. Bunların hepsinin eklenmesi gerekmiyor. Sadece ben uğraşmak zorunda kaldığım için böyle fazla oldu. İİS ile ilgili yetkiler yeterlidir. Ayrıca İİS içindede kimlik dogrulama - anonim kimlik doğrulama (etkin) - sağ tıkla düzenle belirli kullanıcı ile giriş yapabilirsiniz. (yani klasöre erişim için yetkili kullanıcı izni verirsiniz. Klasör oluştururken daha doğrusu İİS ye yol gösterirken de aynı girişi yapmanız istenecektir.





    WEB FORM A EKLENEN KODLAR
    --------------------------------------
    Imports System
    Imports System.Collections.Generic
    Imports System.Linq
    Imports System.Web
    Imports System.Web.UI
    Imports System.Web.UI.WebControls
    Imports System.IO.Ports

    Public Class WebForm1

    Inherits System.Web.UI.Page
    Public SerialPort1 As SerialPort
    Public components As System.ComponentModel.IContainer

    Dim sent1 As String
    Dim veri(99) As Integer

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    InitializeComponent()

    End Sub

    Private Sub InitializeComponent()

    Me.components = New System.ComponentModel.Container()
    Me.SerialPort1 = New System.IO.Ports.SerialPort(Me.components)

    End Sub


    --------------------------------------------------------------------------------------------------------------------------------------------------------------
    VB FORM İLE YAZILI KODLAR

    Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    SerialPort1.Close() 'portun başlangıçta açık olma ihtimaline karşı kapatalım.

    SerialPort1.BaudRate() = 115200 'port ayarlarını yapalım.
    SerialPort1.Parity = IO.Ports.Parity.None

    SerialPort1.DataBits = 8
    SerialPort1.StopBits = IO.Ports.StopBits.One
    SerialPort1.Handshake = IO.Ports.Handshake.None

    SerialPort1.ReadTimeout = 3000
    SerialPort1.WriteTimeout = 5000

    SerialPort1.Open() 'portu açalım

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

    Dim sent1 As String

    Dim veri(99) As Integer


    Try

    sent1 = "Merhaba" 'Bu veri sizin göndereceğiniz özel bilgidir. Protokolünüze göre değişkenlik gösterir.
    SerialPort1.WriteLine(sent1) 'seri porta verimizi gönderelim.

    For i = 1 To 63 'bizim döngümüz 63 sizin farklı olabilir. 1 den 63 e kadar veriyi sırayla alıyoruz

    veri(i) = SerialPort1.ReadByte() 'veri okuyoruz.

    TextBox1.Text = TextBox1.Text & " " & Convert.ToString(veri(i)) 'textBox'a okuduğumuz veriyi gösteriyoruz. okunanveri & sonraki veri ....

    Next


    Catch ex As TimeoutException
    TextBox1.Text = "hata1"

    Catch ex As InvalidOperationException
    TextBox1.Text = "hata2"

    Catch ex As UnauthorizedAccessException
    TextBox1.Text = "hata3"

    End Try

    SerialPort1.Close() 'işimiz bitti portu ayarladık - portu açtık - veri gönderdik - veri okuduk ve gösterdik - portu kapattık.


    End Sub

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
    End Class
    -----------------------------------------------------------------------------------------------------------------------------------------------------------
    WEB FORM İLE YAZILI KODLAR

    Imports System
    Imports System.Collections.Generic
    Imports System.Linq
    Imports System.Web
    Imports System.Web.UI
    Imports System.Web.UI.WebControls
    Imports System.IO.Ports


    Public Class WebForm1

    Inherits System.Web.UI.Page
    Public SerialPort1 As SerialPort
    Public components As System.ComponentModel.IContainer


    Dim sent1 As String
    Dim veri(99) As Integer


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    InitializeComponent()

    End Sub

    Private Sub InitializeComponent()

    Me.components = New System.ComponentModel.Container()
    Me.SerialPort1 = New System.IO.Ports.SerialPort(Me.components)

    End Sub

    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click



    SerialPort1.BaudRate() = 115200
    SerialPort1.Parity = IO.Ports.Parity.None
    SerialPort1.DataBits = 8
    SerialPort1.StopBits = IO.Ports.StopBits.One
    SerialPort1.Handshake = IO.Ports.Handshake.None
    SerialPort1.ReadTimeout = 3000
    SerialPort1.WriteTimeout = 5000

    SerialPort1.Open()

    Response.Write(" COM1 PORT BAĞLANTISI SAĞLANDI ")
    Response.Write("")
    Response.Write("")


    sent1 = "Merhaba" b]'Bu veri sizin göndereceğiniz özel bilgidir. Protokolünüze göre değişkenlik gösterir.


    SerialPort1.WriteLine(sent1)



    For i = 1 To 63
    veri(i) = SerialPort1.ReadByte()
    TextBox1.Text = TextBox1.Text & " " & Convert.ToString(veri(i))
    Next

    SerialPort1.Close()

    If SerialPort1.IsOpen = False Then Label1.Text = "Port Kapatıldı"


    End Sub


    End Class



    < Bu mesaj bu kişi tarafından değiştirildi yasesa -- 26 Aralık 2014; 10:15:30 >




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.