Şimdi Ara

Proje Yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
13
Cevap
0
Favori
1.079
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar bir proje üzerinde çalışıyorum ve yapmak istediğim bir şey var .Yapmak istediğim şey şu örneğin program bitti ve müşteriye sattım.İstediklerim şunlar ;

    1 - Daha sonradan güncelleme yardımı ile nasıl bir modül ekleyebilirim (örneğin bitmiş projeye daha sonradan güncelleme ile telefon defteri eklemek istiyorum mesala)
    2- Programda güncelleme olayı nasıl oluyor bunun için neler yapmak gerekir

    mantıktan biraz bahseder ve örnek kod bulabileceğim yerler varsa çok iyi olur tşk



  • Veri tabanı kaynaklı bir program ise sanırım mümkün. Mesela proje atıyorum güneş panellerinin güneşe yöneltilmesini sağlayan motorları kontrol ediyordur sen sonradan buna ek bir özellik eklemek için(mesela güneş panelinin güç seviyesinin ölçümü olsun) veritabanına ek satır eklersin.

    Ana program veri tabanından çektiği program parçalarını çalıştırıyordur. İlk satırda bir dosya adı vardır, ölçüm programını eklemek istediğinde dosya adını bu veri tabanına ekliyorsundur ve dosyayı da güncellemeyle gönderiyorsundur.

    Garip gözüküyor olabilir ama veritabanı kullanmak işleri koalylaştırabilir. Hatta projenin kullanıcı arayüzündeki tıklanacak düğmeler, resimler ve bunların koordinatlarını da veritabanından çektirirsin(yani kulanıcının kendi veritabanı olacak, güncelleye tıklayınca senin veritabanından güncellenecek, gerekli dosyaları falan da bir yandan alacak)



    < Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 4 Kasım 2013; 18:12:03 >




  • Merhaba,

    Programınızda, programın o sürümünün sayısının tutulduğu bir değişken tutabilirsiniz. Daha sonra bu değişkendeki değer ile sizin sunucunuzdaki bir xml dosyasında bulunan değeri karşılaştırıp yeni versiyon olup olmadığına bakabilirsiniz. Bu işlemi programınızın başlangıcına eklerseniz program her başlatıldığında yeni versiyon kontrol edecektir bende bir projemde bu şekilde kullandım tavsiye ettiğim bir yöntemdir. Eğer güncelleme var ise yine xml dosyasındaki belirtilen yoldan güncellemeyi indirip programı tekrar kullanılabilir hala getirir. Fakat bunun için ayrı bir program yapmalısınız ki açık olan bir programı güncelleyemesiniz, programda yeni versiyon yada güncelleme var ise program kapansın ve aynı dizinde bulunan güncelleyici yada artık size kalmış ismi o program açılır güncelleme işlemi bittiğinde ise tekrar güncel bi' şekilde programı çalıştırır.

    Kolay gelsin...
  • Tugrul_512bit kullanıcısına yanıt
    hocam zaten veritabanı kullanıyorum ama dediğiniz gibi butonların vs. kordinatlarını vtye gömebilirim ama kodlarını nasıl gömeceğim veya oluşturacağım bir harici class dosyasını (dll) yi nasıl vtdeki kodla adama yükleyeceğim bunu anlayamadım biraz daha açarmısınz üstelik oluşturacağım bir class satırlarca kod tutabilir buda vtyi zorlamazmı vt olarak SqLite kullanıyorum.
  • özgür beyin kullanıcısına yanıt
    peki bu güncelleyici nasıl bir yapıda olmalı c# ile yapacağım , temel düzeyden biraz ileri biliyorum fakat sizin dediğinizi nasıl yapacağımın mantığını bu şekilde olabilirmi ; örneğin adam güncelleme çekerken dosyalar kopyalama şeklinde eskileri ile değişecek heralde değil mi ?
  • quote:

    Orijinalden alıntı: forkboysf1

    hocam zaten veritabanı kullanıyorum ama dediğiniz gibi butonların vs. kordinatlarını vtye gömebilirim ama kodlarını nasıl gömeceğim veya oluşturacağım bir harici class dosyasını (dll) yi nasıl vtdeki kodla adama yükleyeceğim bunu anlayamadım biraz daha açarmısınz üstelik oluşturacağım bir class satırlarca kod tutabilir buda vtyi zorlamazmı vt olarak SqLite kullanıyorum.

    İşte veritabanı olayını tam bilmiyorum. Yeniyim veri tabanı konusunda. Veri tabanına belki sadece dosyadakiş satırların adresleri de konulabilir belki. Kusura bakmayın daha yeni sql olayına giriyorum.
  • Tugrul_512bit kullanıcısına yanıt
    tm hocam yinede teşekkürler ...
  • Yapay Zeka’dan İlgili Konular
    Elektrik proje ödevi yardıım
    8 yıl önce açıldı
    Daha Fazla Göster
  • İnternet üzerinde bir adres satın alırsın. Sql server bulundurur üzerinde. Veritabanında bir tabloda mesela program için serial tarzı bişey düşünüyorsan bnlarıda tutabilirsin ama güncelleştirme için veritabanında bir alanda versiyon numarasını yazarsın. Yazdığın application zaten bir versiyon numarasına sahiptir. App Settingsden bakarsan görürsün. Bunu değiştirip internetteki veri tabanındaki alanındada versiyon numarasınıdeğiştirdinmi mantık şöyle işler.

    Program Başları--->İnternet Bağlantısı Varmı Bakar---->Varsa İnternetteki yeni sürüm varmı sql serverda tuttuğun sürüm no ile programın sürümünü karşılaştırır--->Eğer değişikse yükleme için exeyi indirir--->Yükleme Dosyasını Çalıştırır----->Açık uygulamayı kapatır
    ------>İnternet yoksa eski versiyonla çalışmaya devam eder.




  • _NumB_ kullanıcısına yanıt
    tm hocam kafamda bir şeyler canlandı fakat sana bir sorum daha olacak şimdi bir güncelleme paketi oluşturdum bu exe bunu program sayesinde nasıl müşteriye müdahale ettirmeksizin çalıştırırım . Yani nasıl sessiz kurulum tarzı yaparım .Versiyon karşılaştırması filan kolay oraları zaten yaparım da asıl olay burada sanırım bunda zorlanırım biraz bunu anlatırsanız sevinirim . Zaten hemen hemen benimde düşündüğüm şeyleri söylüyorsunuz ama benim için asıl mesele güncelleme exesini müşteriye müdahale ettirmeden kurdurma
  • quote:

    Orijinalden alıntı: forkboysf1

    tm hocam kafamda bir şeyler canlandı fakat sana bir sorum daha olacak şimdi bir güncelleme paketi oluşturdum bu exe bunu program sayesinde nasıl müşteriye müdahale ettirmeksizin çalıştırırım . Yani nasıl sessiz kurulum tarzı yaparım .Versiyon karşılaştırması filan kolay oraları zaten yaparım da asıl olay burada sanırım bunda zorlanırım biraz bunu anlatırsanız sevinirim . Zaten hemen hemen benimde düşündüğüm şeyleri söylüyorsunuz ama benim için asıl mesele güncelleme exesini müşteriye müdahale ettirmeden kurdurma

    Dostum ozmn yükleme dosyası yapmayacaksın. Direk program buildini zip halinde sunucuda tutacaksın. Mantık yine aynı tek fark şu olacak.
    Sana bunu programcı diliyle yazıcam
    ikitane proje açacaksın. Birde projen için update.exe olacak mesela


    Çalışan Program----------------------------------------------
    if(internetbaglantisi==true)
    {
    if(programversiyonu==sunucudakiversiyon)
    {
    download(build.zip,"D:\ProgramFiles\ProgramYolu\");
    calıştır(update.exe);
    Apllication.Exit(); ---->Burda Çalışan programı kapatıyor update.exe yi çalıştırıyor
    }
    }

    Şimdide Update.exe nin işleyişine bakalım

    Update.exe------------------------------------
    DeleteFiles("D:\ProgramFiles\Programyolu\AsılProgram.exe");
    DeleteFiles("D:\ProgramFiles\Programyolu\AsılDll.dll"); //Yani eski programın dosyalarını siliyorsun
    ZipiAç("İndirilenZip.zip"); Burda Yeni versiyonun dosyalarını çıartıyorsun birde update exede bu işlemi yapan bir progressbar gösterirsin güncelleinior die dadından yinmez
    Çalıştır("AsılProgram.exe");
    Delete("İndirilenZip.zip");
    Application.Exit();

    //YAni senin anlıycağın ikinci exe indirilen zipi açtı ve programın yeni versiyonunu çalıştırıp kendini kapattı... İşleyiş böyle kardeşim. Kolay gelsin...




  • _NumB_ kullanıcısına yanıt
    eyvallah hocam şimdi kaptım olayı kodla açıklaman çok iyi olmuş aşağı yukarı düşündüğüm gibi yani çok teşekkürler...
  • quote:

    Orijinalden alıntı: forkboysf1

    eyvallah hocam şimdi kaptım olayı kodla açıklaman çok iyi olmuş aşağı yukarı düşündüğüm gibi yani çok teşekkürler...


    if(programversiyonu==sunucudakiversiyon) kısmında hayata yapmışım değilse olacaktı ... :D sen anladıysan sorun yok ama...
  • _NumB_ kullanıcısına yanıt
    :) fark ettimdi bende
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.