boroz Posted February 26, 2011 Share Posted February 26, 2011 (edited) @ KintaRo ustam bilgilerinizi bizler ile paylaşmanızı büyük bir keyif ile takip etmekteyim, harika bilgiler sunuyorsunuz, sabrınızında hayranıyım; MAŞAALLAH Diyorum. Hoş görünüze sıgınarak biraz uzun soracağım. 1-ben bir oyunu kolaylıkla kurmak için ams ile hazırlayacagım. oyun 8 gb bunu 2 adet dvdiye yazdıracağım ams bu işlemi otamatik yaparmı yapmaz ise nasıl yaptırmalıyım. 2-arayüzde 1 buton olacak bu butona tıklandığında zip ile dosyalar istedigim yere cıkarılacak, oyun için gerekli ek yazılımlar yüklenecek DirectX VE Microsoft Visual C++ 2008 kurulacak, ve ara yüzdeki progress çalışacak tüm işlemler için aynı progres çalışsın istiyorum. ben bir örnek yapıp hazırladım dosya copy ve zip ile progressi ayrı projelerde calıştırdım ancak şimdi ben progress i zip ve run komutlarında aynı progresi kullanmak istiyorum aşagıda benim örneği veriyorum. [code]real_password = "lidervideo"; user_password = Dialog.PasswordInput("BoroZ UstA Diyorki", "Parola (Şifre) Giriniz:", MB_ICONQUESTION); if real_password ~= user_password then result = Dialog.Message("BoroZ UstA Diyorki ", "YaNLıŞ Şifre Girdin Arkadaşım.\r\nTekraR DeNe", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1); Application.ExitScript(); end function CopyCallback (Source,Destination,Copied,Total) Progress.SetCurrentPos("Progress1", (Copied / Total) * 100); Label.SetText("Label1", Source) Label.SetText("Label2", Destination) yuzde = Math.Floor((Copied / Total) * 100); Progress.SetText("Progress1", "%"..yuzde..""); end File.Copy("AutoPlay\\Docs\\Battlefield_Vietnam\\*.*", "C:\\Lider_GameS\\Battlefield Vietnam", true, true, false, true, CopyCallback); error = Application.GetLastError(); if error ~= 0 then Dialog.Message("Hata!", "BoroZ Usta DiyorKi\r\nKuruluM sırasında bir hata oluştu!", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1); end result = Dialog.Message("BoroZ UstA Diyorki", "KuRuLuM TamaMLandI.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1); Application.Exit(0);[/code] [code]function zip (sPath, nPercent, nStatus) if nStatus == ZIP_STATUS_MAJOR then Progress.SetCurrentPos("Progress1", nPercent); Progress.SetText("Progress1", "%"..nPercent) end end Zip.Extract("AutoPlay\\Docs\\Redist.zip", {"*.*"}, "C:\\Test", true, true, "", ZIP_OVERWRITE_NEVER, zip);[/code] Edited February 26, 2011 by boroz Quote Link to comment Share on other sites More sharing options...
KintaRo Posted February 26, 2011 Share Posted February 26, 2011 [quote name='boroz' date='26 Şubat 2011 - 20:58 ' timestamp='1298747310' post='970512'] @ KintaRo ustam bilgilerinizi bizler ile paylaşmanızı büyük bir keyif ile takip etmekteyim, harika bilgiler sunuyorsunuz, sabrınızında hayranıyım; MAŞAALLAH Diyorum. Hoş görünüze sıgınarak biraz uzun soracağım. 1-ben bir oyunu kolaylıkla kurmak için ams ile hazırlayacagım. oyun 8 gb bunu 2 adet dvdiye yazdıracağım ams bu işlemi otamatik yaparmı yapmaz ise nasıl yaptırmalıyım. 2-arayüzde 1 buton olacak bu butona tıklandığında zip ile dosyalar istedigim yere cıkarılacak, oyun için gerekli ek yazılımlar yüklenecek DirectX VE Microsoft Visual C++ 2008 kurulacak, ve ara yüzdeki progress çalışacak tüm işlemler için aynı progres çalışsın istiyorum. ben bir örnek yapıp hazırladım dosya copy ve zip ile progressi ayrı projelerde calıştırdım ancak şimdi ben progress i zip ve run komutlarında aynı progresi kullanmak istiyorum aşagıda benim örneği veriyorum. [/quote] [color="#000000"]yorumlarınız için teşekkürler. 1- bence bunun için AMS ye gerek yok, Winrar ile dosya üzerine sağ tıklayın ve [b]Arşive Ekle[/b]'ye basın. Açılan pencerede aşağıdaki resimdeki gibi [img]http://i.imgur.com/MJzNb.png[/img] [b]Ciltlere böl [/b]kısmına [b]4.5 GB[/b] yazın ki her parça 1 DVD'ye sığsın, daha sonra [b]SFX Arşivi oluştur[/b]'u seçin ve [b]Gelişmiş[/b] sekmesinden[b] SFX Seçeneklerini[/b] açın. Çıkarttıktan sonra çalıştır kısmına oyunun kurulum dosyasının yolunu yazın. yani [b]gta [/b]klasorune sağ tıklayıp bu işlemi yaptiysaniz su sekilde yazmalisiniz: [b]GTA\setup.exe[/b] Yok kurulum tek exe den olusuyorsa direk dosya adını yazın [b]setup.exe[/b] gibi. Çıkartılacak yola [b]%temp%[/b] yazınki tempe çıkartsın, [img]http://i.imgur.com/uhSql.png[/img] Modlar sekmesindende işaretli kısımlar seçili hale getirin. [img]http://i.imgur.com/KrGj6.png[/img] Daha sonra pencerelere tamam diyip onaylayın. işlem bittikten sonra elinizde bir kaç dosya olacak [quote]gta.part1.exe gta.part2.rar gta.part3.rar[/quote] bu dosyalarin her birini bir dvd ye çekeceksiniz. 1. DVD'ye part1.exe olanı koyun ve yanına bir autorun.inf adlı bir dosya oluşturup içine sunlari yazin: [quote][autorun] open=gta.part1.exe[/quote] DVD'leri çekip 1. dvdyi test için taktığınızda kurulum açılıp başlayacaktır. Sadece 2. ve 3. partı istediğinde uyarı penceresi çıkar ve sizde dvd yi değiştirip tamam'a basarsiniz. önce daha küçük boyutlu dosyalarda deneyinki yanlış yaparsanız dvd ler ve zamnınız heba olmasın.[/color] 2. Soru içinse Kodların en basina: [quote]Progress.SetRange("Progress1", 0, 2) Progress.SetCurrentPos("Progress1", 0)[/quote] sonra kurulum dosyasını [b]File.Run() [/b] ile çalıştıracaksın bu kodun hemen altına [quote]nPos = Progress.GetCurrentPos("Progress1") Progress.SetCurrentPos("Progress1", nPos+1)[/quote] yazarsan program kurmak için callback fonksiyonu kullanmana gerek kalmaz. Copy ve Zip içinde fonksiyonların varmış zaten, incelemedim ama çalışmazsa onlar içinde yardımcı oluruz. Quote Link to comment Share on other sites More sharing options...
boroz Posted February 27, 2011 Author Share Posted February 27, 2011 @KintaRo Usta cevapınız için çok teşekkur ederim. winrar ile oyunu paketlemeyi biliyorum anlatımınız için yinede teşekkür ederim lakin ben aynı işlemi ams ile yaptırmak istiyorum. oyunu hdd de bir kılasör oluştutturarak oyunun dosyalarını bu klasöre copyalamak veye zip den cıkarttırmak ve oyun için gerekli yazılımları yuklettirmek directx ve c++ gibi ve son olarak masa ustüne kısayol atamak istiyorum. tüm bu islemleri winrar ile icine bir cmd comut satırı yaparak yaptırıyorum.şimdi sizden istedigim bunun ams ile bir yolu var ise tüm bunları ams ile yaptırmak. yani: zipten cıkartmak directx kurdurmak c++ kurdurmak masa üstüne kısayol atamak Quote Link to comment Share on other sites More sharing options...
KintaRo Posted February 27, 2011 Share Posted February 27, 2011 [quote name='boroz' date='27 Şubat 2011 - 22:43 ' timestamp='1298840034' post='971290'] @KintaRo Usta cevapınız için çok teşekkur ederim. winrar ile oyunu paketlemeyi biliyorum anlatımınız için yinede teşekkür ederim lakin ben aynı işlemi ams ile yaptırmak istiyorum. oyunu hdd de bir kılasör oluştutturarak oyunun dosyalarını bu klasöre copyalamak veye zip den cıkarttırmak ve oyun için gerekli yazılımları yuklettirmek directx ve c++ gibi ve son olarak masa ustüne kısayol atamak istiyorum. tüm bu islemleri winrar ile icine bir cmd comut satırı yaparak yaptırıyorum.şimdi sizden istedigim bunun ams ile bir yolu var ise tüm bunları ams ile yaptırmak. yani: zipten cıkartmak directx kurdurmak c++ kurdurmak masa üstüne kısayol atamak [/quote] Aklımda bir yol var ama denemek gerekir; 1- anlaıtını yaptığım şekilde winrarı paketle. 2- AMS de projeyi oluştur, projedeki kur buttonu su sekilde olcak: [quote]File.Run("Autoplay\\Docs\\oyun.part1.exe", "", "Autoplay\\Docs", SW_SHOWNORMAL, true) File.Run("Autoplay\\Docs\\directx.exe", "", "Autoplay\\Docs", SW_SHOWNORMAL, true) File.Run("Autoplay\\Docs\\Credist.exe", "", "Autoplay\\Docs", SW_SHOWNORMAL, true)[/quote] daha sonra oyun.part1.exe, directx.exe, Credist.exe dosyalarını docs klasorune at, projeyi web/mail executable seklinde build et. 3- oyun.part2.exe dosyasını 2. dvd ye, varsa diğer dosyalarda ayrı dvd lere çek. Şimdi olay su sekilde geliscek; 1- kur buttonuna tiklayinca part1.exe yi calistircak, part1.exe kurulmaya basliyacak, (SW_SHOWNORMAL, true) dediğimiz için diger dosyalari kurmak için bu işlemin bitmesini bekleyecek) 2. ve varsa diger dvdleri isteyecek. (proje tempe ciktigi için 1. dvd yi çıkartmak sorun olmayacaktır) 2- 2. ve varsa 3. dvdleride takip oyunun çıkma işlemi bittikten sonra directx ve Credist kurulacak ve olay bitecek. directx ve C++ Redistributable 'in katilimsiz versiyonlarını koyarsan problem çıkmaz. 3- sanırım oldu bu iş Quote Link to comment Share on other sites More sharing options...
boroz Posted February 28, 2011 Author Share Posted February 28, 2011 (edited) @ KintaRo hocam cevabınız için tekrar tekrar teşekkürler. aklıma takılan birkaç yer var izninizle. projeyi web/mail executable build nasıl yapacagım. 4 secenek var cd/dvd ye yaz, klasör yarat, exe yap, iso yap yanılmıyorsam klasör yarat web/mail executable olmalı. verdiginiz komutlar ile işlem tamam ancak progress ilişkilendirmesini yapamıyorum bu komutlar için progres nasıl olmalı, benim istedigim progres tek seferde 100% olabilir her işlem için ayrı olmasına gerek duymuyorum not: daha önceki verdiginiz komut ile progresi çalıştıramadım, yarıya kadar gelip kalıyor yarıyakadar gelirkende sayarak degil bir hareketle hop %50 [quote name='KintaRo' date='28 Şubat 2011 - 08:04 ' timestamp='1298880892' post='971449'] 2. Soru içinse Kodların en basina: Progress.SetRange("Progress1", 0, 2) Progress.SetCurrentPos("Progress1", 0) sonra kurulum dosyasını File.Run() ile çalıştıracaksın bu kodun hemen altına nPos = Progress.GetCurrentPos("Progress1") Progress.SetCurrentPos("Progress1", nPos+1) [/quote] Edited February 28, 2011 by boroz Quote Link to comment Share on other sites More sharing options...
KintaRo Posted February 28, 2011 Share Posted February 28, 2011 Sanırım türkçe ams kullanıyorsun. Gözünüzü sevim kaç oldu kullanmayın şu türkçe versiyonu, hem problem çıkartıyor hemde böyle terimlerde karışıklık çıkıyor. Yav İngilizce kullansanız ordaki terimler bütün programlarda işinize yarayacaktır. File, Edit, Project, Publish, View, Help gibi terimleri bütün programlarda var, yapmayın etmeyin. İngilizceyi kurup Web/Mail Executable seçeneğini seçip projeyi build etmeni umut ediyorum, türkçe karşılığını söylemicem Progressi şu şekilde yapacaksın: [codebox]Progress.SetRange("Progress1", 0, 3) -- burdaki 3 sayısı program sayısı ile doğru orantılı. Progress kaç kere ilerleyecekse yani bi anlamda kaç program varsa bu sayı o kadar olmalı Progress.SetCurrentPos("Progress1", 0) nPos = Progress.GetCurrentPos("Progress1") Progress.SetCurrentPos("Progress1", nPos+1) File.Run("Autoplay\\Docs\\oyun.part1.exe", "", "Autoplay\\Docs", SW_SHOWNORMAL, true) nPos = Progress.GetCurrentPos("Progress1") Progress.SetCurrentPos("Progress1", nPos+1) File.Run("Autoplay\\Docs\\directx.exe", "", "Autoplay\\Docs", SW_SHOWNORMAL, true) nPos = Progress.GetCurrentPos("Progress1") Progress.SetCurrentPos("Progress1", nPos+1) File.Run("Autoplay\\Docs\\Credist.exe", "", "Autoplay\\Docs", SW_SHOWNORMAL, true)[/codebox] sanırım bu şekilde olacaktır. Quote Link to comment Share on other sites More sharing options...
boroz Posted February 28, 2011 Author Share Posted February 28, 2011 @ KintaRo ustam tekrar tekrar teşekkurler şimdi kaldırıp ingilizce kurayorum hemen. siz insanların işlerine yardımcı oluyorsunuzya CC ALLAH'ta sizin işlerinize yardımcı olsun. akşam komutları deneyecegim yarın sonucu paylaşırım. hocam birde kısayol atamak vardı masa üstüne ama neyse ben onu winrara yaptırrım artık. 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.