KintaRo Posted November 9, 2010 Share Posted November 9, 2010 Uzun zamandır bir çok kişiden gelen sorulara kayıtsız kalamadım ve Projedeki birden çok sayfadaki checkboxları tek kur buttonunda algılatıp kurmak için bir örnek hazırladım. Kafanız karışmasn diye nerdeyse tüm işlemler otomatikleştirilmiştir. Size sadece kodları ve nesneleri kopyalayıp yapıştırmak kalıyor. Kodlarla başlayalım:Global Functions:[spoiler] nSayi = 0; function sec(sObject, sName) bChecked = CheckBox.GetChecked(sObject) if bChecked then INIFile.SetValue("Autoplay\\Docs\\kurulum.ini", sName, "kur", "1") nSayi = nSayi+1 Label.SetText("sayi", nSayi .. " adet program seçildi") else INIFile.DeleteSection("Autoplay\\Docs\\kurulum.ini", sName) nSayi = nSayi-1 Label.SetText("sayi", nSayi .. " adet program seçildi") end end function kontrol() Label.SetText("sayi", nSayi .. " adet program seçildi") tSections = INIFile.GetSectionNames("AutoPlay\\Docs\\kurulum.ini") if tSections ~= nil then for i=1,100 do for y in pairs(tSections) do if CheckBox.GetText("CheckBox" .. i) == tSections[y] then CheckBox.SetChecked("CheckBox" .. i, true) end end end else for i=1,100 do CheckBox.SetChecked("CheckBox" .. i, false) end end end function kur() tTablo = INIFile.GetSectionNames("AutoPlay\\Docs\\kurulum.ini") if tTablo ~= nil then Progress.SetRange("Progress1", 0, Table.Count(tTablo)) Progress.SetCurrentPos("Progress1", 0) for i in pairs(tTablo) do if INIFile.GetValue("AutoPlay\\Docs\\kurulum.ini", tTablo[i], "kur") == "1" then nPos = Progress.GetCurrentPos("Progress1") Progress.SetCurrentPos("Progress1", nPos+1) nPos=nPos+1 Progress.SetText("Progress1", "%" .. Math.Round(100/nSayi*nPos, 0) .. " | " .. tTablo[i] .. " Kuruluyor...") Dialog.TimedMessage("Kurulum", tTablo[i] .. "Kuruldu!", 1000, MB_ICONINFORMATION) File.Run("AutoPlay\\Docs\\Programlar\\" .. tTablo[i] .. ".exe", "", "AutoPlay\\Docs\\Programlar", SW_SHOWNORMAL, true) end end File.Delete("AutoPlay\\Docs\\kurulum.ini", false, false, false, nil) Progress.SetCurrentPos("Progress1", 0) Label.SetText("sayi", 0 .. " adet program seçildi") for i=1,100 do CheckBox.SetChecked("CheckBox" .. i, false) end Progress.SetText("Progress1", "%0") Dialog.Message("Kurulum", "Seçilen " .. nSayi .. " programın kurulumu tamamlandı", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1) nSayi = 0; else Dialog.TimedMessage("Hata", "Hiç bir program seçilmedi!", 1000, MB_ICONEXCLAMATION) end end[/i][/i][/i][/i][/spoiler]Actions>On StartupFile.Delete("AutoPlay\\Docs\\kurulum.ini", false, false, false, nil)Tüm Sayfaların On Show evresine: kontrol()Tüm CheckBoxların On Click Evresine: sec(CheckBox.GetProperties(this).ObjectName,CheckBox.GetText(this))Kur Buttonu: kur()Programlar:Programlar Autoplay\Docs\programlar\ klasorü içinde Checkbox ile aynı isimde olmalıdır ve uzantısı EXE olmalıdır. yani Winamp adlı bir checkbox koyduysanız onun dosyası Autoplay\Docs\programlar\winamp.exe şeklinde olmalıdır.Bu kodları doğru şekilde yerlerine yerleştirirseniz başka birşey yapmanıza gerek kalmıyor. Projedeki her sayfaya ektsradan sayi adında bir label, ve kur buttonun olduğu sayfaya Progress1 adında bir progress yerleştirin. Aşağıdaki örnekte ne demek istediğimi anlayacaksınız zaten. Lütfen kodları değiştirmeye çalışmayın. İşinizi en kolay hale getirecek şekilde hazırladım zaten. Eğer sorun yaşarsanız kodlarla oynamadan buraya yazın çözümleriz. Fikir almak için aşağıdaki örneğe bakabilrsiniz.http://www.mediafire.com/?ti0sskiavb3sz2o [/code] DÜZENLEME #1 Projede progress yerine StatusDlg yani: Kullanmak isteyen arkadaşlar sadece Global Functions kodlarını aşağıdaki kodlarla değiştirsinler:[spoiler]nSayi = 0; function sec(sObject, sName) bChecked = CheckBox.GetChecked(sObject) if bChecked then INIFile.SetValue("Autoplay\\Docs\\kurulum.ini", sName, "kur", "1") nSayi = nSayi+1 Label.SetText("sayi", nSayi .. " adet program seçildi") else INIFile.DeleteSection("Autoplay\\Docs\\kurulum.ini", sName) nSayi = nSayi-1 Label.SetText("sayi", nSayi .. " adet program seçildi") end end function kontrol() Label.SetText("sayi", nSayi .. " adet program seçildi") tSections = INIFile.GetSectionNames("AutoPlay\\Docs\\kurulum.ini") if tSections ~= nil then for i=1,100 do for y in pairs(tSections) do if CheckBox.GetText("CheckBox" .. i) == tSections[y] then CheckBox.SetChecked("CheckBox" .. i, true) end end end else for i=1,100 do CheckBox.SetChecked("CheckBox" .. i, false) end end end function kur() tTablo = INIFile.GetSectionNames("AutoPlay\\Docs\\kurulum.ini") if tTablo ~= nil then Window.Hide(Application.GetWndHandle()) StatusDlg.SetMeterRange(0, Table.Count(tTablo)) StatusDlg.SetMeterPos(0) for i in pairs(tTablo) do if INIFile.GetValue("AutoPlay\\Docs\\kurulum.ini", tTablo[i], "kur") == "1" then nPos = StatusDlg.GetMeterPos() StatusDlg.SetMeterPos(nPos+1) nPos=nPos+1 StatusDlg.Show(MB_ICONINFORMATION, false); StatusDlg.SetTitle("Programlar kuruluyor..."); StatusDlg.SetMessage("%" .. Math.Round(100/nSayi*nPos, 0) .. " | " .. tTablo[i] .. " Kuruluyor...") File.Run("AutoPlay\\Docs\\Programlar\\" .. tTablo[i] .. ".exe", "", "AutoPlay\\Docs\\Programlar", SW_SHOWNORMAL, true) Application.Sleep(1000) StatusDlg.SetMessage(tTablo[i] .. "Kuruldu!") end end File.Delete("AutoPlay\\Docs\\kurulum.ini", false, false, false, nil) StatusDlg.SetMeterPos(0) Label.SetText("sayi", 0 .. " adet program seçildi") for i=1,100 do CheckBox.SetChecked("CheckBox" .. i, false) end StatusDlg.Hide() Dialog.Message("Kurulum", "Seçilen " .. nSayi .. " programın kurulumu tamamlandı", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1) nSayi = 0; Window.Show(Application.GetWndHandle()) else Dialog.TimedMessage("Hata", "Hiç bir program seçilmedi!", 1000, MB_ICONEXCLAMATION) end end [/code][/spoiler] Quote Link to comment Share on other sites More sharing options...
egemynet Posted November 9, 2010 Share Posted November 9, 2010 Sanırım artık bu konuda başka soru olmaz, Oldukça iyi bir içerik olmuş eline sağlık. Quote Link to comment Share on other sites More sharing options...
dryusufbal Posted November 9, 2010 Share Posted November 9, 2010 eline sağlık dostum 3 gundur bunu yapmanı beklıyordum. diğer konuya da bır kafa yor bakalım benım aklıma gelmedı hala bırsey Quote Link to comment Share on other sites More sharing options...
KintaRo Posted November 9, 2010 Author Share Posted November 9, 2010 müsait bir zamanda onada bakarız. Bu arada download linkini düzelttim. Quote Link to comment Share on other sites More sharing options...
djonur007 Posted November 9, 2010 Share Posted November 9, 2010 Eğer özel değilse @dryusufbal diğer konu nedir? belki işe yararım Quote Link to comment Share on other sites More sharing options...
dryusufbal Posted November 9, 2010 Share Posted November 9, 2010 ikinci düzenleme tam işimi görecek dostum teşekkur ederım dostum eline tekrar sağlık Quote Link to comment Share on other sites More sharing options...
CapTann Posted December 3, 2010 Share Posted December 3, 2010 arkadaşlar ben bu programı indirdim ve kurdum diğer buton tıklayarak olan kurulumu yapmayı gerçekleştirdim videolu olduğu için ama buna baktığımda bu daha iyi teşekkür ederim kodlar filan verilmişte mesela şöyle anlatsanız "programdan şuna tıklanır. açılan sayfadaki şu yere şu kodu yapıştırınız kaydetiniz sonra kullanacağınız programı kopyalayıp şu klasöre kopyalayınız"Gibi yani ayrıntılı bir şekilde anlatırsanız daha iyi olur yada videolu şimdiden teşekkür ederim yha arkdaşım kodları vrmişsinde ben bu kodları yapıştıracağım yerleri bilmediğim için daha detaylı anlatırmısın yada videolu bir şekilde ayrıntılı ise programa girin şunu açın şuraya yapıştırın gibi teşekkür ederim Quote Link to comment Share on other sites More sharing options...
korasoglu Posted December 3, 2010 Share Posted December 3, 2010 emeğinize sonsuz teşekkür... Hocam ne olduğunu anlayamadım bir incelermisiniz. http://www.dosyaupload.net/6914809.html Quote Link to comment Share on other sites More sharing options...
korasoglu Posted December 9, 2010 Share Posted December 9, 2010 tamam ben sorunun ams 8 olduğunu anladım fakat... Quote Link to comment Share on other sites More sharing options...
KintaRo Posted December 9, 2010 Author Share Posted December 9, 2010 evet dosyayı açmanız için v8 kullanmanız gerekiyor. Quote Link to comment Share on other sites More sharing options...
zamaneberduşu Posted December 29, 2010 Share Posted December 29, 2010 KintaRo hocam ben eğer müsait olursanız sizden videolu anlatım yapmanızı isticem beceremedim özürdilerim eğer videolu anlatım yaparsanız çok sevinirm Quote Link to comment Share on other sites More sharing options...
korasoglu Posted December 30, 2010 Share Posted December 30, 2010 hocam bütün söylediklerinizi yaptım şöyle bir uyarı aldım http://img801.imageshack.us/img801/1338/simsiz3w.jpg Quote Link to comment Share on other sites More sharing options...
OzgrGvnc Posted December 30, 2010 Share Posted December 30, 2010 @Korasoğlu Sonradan verilen global functions kudlarını tümüyle kopyaladığından emin ol. Kullandığın ams versiyonu 8 olmalıdır. Versiyon 8 ise Türkçe yamalı olmayan bir versiyon kullanmalısın.. Şimdi denedim kodlar çalışıyor. Quote Link to comment Share on other sites More sharing options...
KintaRo Posted December 31, 2010 Author Share Posted December 31, 2010 korasoglu global functions daki kodları kopyalamamışsın evet. o yüzden hata veriyor. Quote Link to comment Share on other sites More sharing options...
coxefgun Posted January 20, 2011 Share Posted January 20, 2011 [b]Kintaro yine ben Biliyorum çok zahmetli bir iş olacak ama aklıma şey geldi; CheckBoxun tıklanma bilgisiyle beraber adını da okutuyoruz ya, onunla beraber "Program Boyutu", "Tahmini Kurulum Süresi" gibi verileri de bir labela yazdırmayı düşündüm. Ve bu işten kurtulamadım. Yani demem o ki, TimedMessahe yerine page üzerindeki labellara Program adını, tahmini kurulum süresini checkboxtan okutarak yazdırsak daha şık olmaz mı? Ben az biraz kurcalayacağım ama uzman elinin değmesi çok daha güzel olur gibime geliyor Şimdiden teşekkürler.[/b] Quote Link to comment Share on other sites More sharing options...
egemynet Posted January 20, 2011 Share Posted January 20, 2011 (edited) Dilim döndüğü kadar aktarayım ben File.GetAttributes : Dosyanın niteliklerini alır File.GetCRC : CRC değerni alır File.GetDefaultViewer : Dosya uzantısındaki varsayılan programı alır File.GetSize : Dosya boyutunu alır File.GetVersionInfo : Dosyanın version gibi bilgilerini alır. iç ad sürüm vs. buradan alınır Edited January 20, 2011 by egemynet Quote Link to comment Share on other sites More sharing options...
korasoglu Posted February 4, 2011 Share Posted February 4, 2011 hocam bu çalışmada programlar File.Run("AutoPlay\\Docs\\Programlar\\" .. tTablo[i] .. ".exe", "", "AutoPlay\\Docs\\Programlar", SW_SHOWNORMAL, true) bu adreste peki ben Docs Klaösründe internet-müzik-resim-klasörleri oluştursam ve oraya atsam o zaman nasıl olacak ---------------- geçen bir soru sordum anlatamadım burada uygulamalı soruyum mesela bu çalışmaya sonradan nasıl exe ico ekleyebiliriz yani atıyorum 5 program belirledik sıkıldım 5 program yeriine başka 5 program eklemek istiyorum... Quote Link to comment Share on other sites More sharing options...
korasoglu Posted February 7, 2011 Share Posted February 7, 2011 (edited) hocam diyelimki bir dvdlik arşiv hazırlayacak olsak bütün exe ler program klasöründe birbirine girecek bunlar ketegorilere ayrılarak aynı klasöre atılsa daha derli toplu olur. yani File.Run("AutoPlay\\Docs\\Programlar\\" .. tTablo[i] .. ".exe", "", "AutoPlay\\Docs\\Programlar", SW_SHOWNORMAL, true) değiştirme şansımız varmı acaba benim istedğim olmuyormukide cevap alamıyorum çünkü diğer yazdıklarıma hemen cevap geliyor. korasoglu boşuna uğraşma olmaz eyvallah Edited February 7, 2011 by korasoglu Quote Link to comment Share on other sites More sharing options...
coxefgun Posted February 12, 2011 Share Posted February 12, 2011 [b]Yolunu belirttiğin sürece istersen "AutoPlay\\Docs\abuksabukklasorismibunebicimisimlanboyle\\ufuruktenteyyareselamsoyleoyare" diye de isimlendirebilirsin [/b] Quote Link to comment Share on other sites More sharing options...
fatih29 Posted April 8, 2011 Share Posted April 8, 2011 evet arkadaşlar ben bu kodları sormuştum ama galiba yanlış yerde sordum ve cevabını alamadım şimdi soruyorum kodlar normalde sorunsuz calışıyor ama cd veya dvd yada iso formatında yazılır veya kaydedilirse hata veriyor buna bir bakarmısınız tşk Quote Link to comment Share on other sites More sharing options...
KintaRo Posted April 9, 2011 Author Share Posted April 9, 2011 INI yollarını şu şekilde değiştirirseniz CD/DVD'de de doğru şekilde calisir: "Autoplay\\Docs\\kurulum.ini" - bunu _TempFolder .. "\\kurulum.ini" - bunla değiştirin Quote Link to comment Share on other sites More sharing options...
fatih29 Posted April 9, 2011 Share Posted April 9, 2011 bu kotları paylaşan arkadaıma tşk ederim benin sorunum kudlarda degil ama tüm kodları yerlerine yazdım aynen söylendigi gibi ve program autopayda güzel calışıyor ama cd dvd imaj olarak yazılınca çalışmıyor örn= vergiginiz linkteki programıda aynen dedigim şekilde yaptım calışmadı bir bakarmısınız lütfen yardım eden arkadaşlara şimdiden tşk umarın dogru yere sorunumu yazmışımdır Quote Link to comment Share on other sites More sharing options...
KintaRo Posted April 9, 2011 Author Share Posted April 9, 2011 paşam bir önceki mesajımda cd/dvd lerde çalışmayan arkadaşların ne yapacağını yazdım? Quote Link to comment Share on other sites More sharing options...
ATTACK_09 Posted April 10, 2011 Share Posted April 10, 2011 bu çalışmada tümünü seç,önerilen seçim nasıl yapacaz bi türlü yapamadım da... Quote Link to comment Share on other sites More sharing options...
KintaRo Posted April 19, 2011 Author Share Posted April 19, 2011 büyük grafiker MC_Ecel sahalara dönmüş Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.