PColik Posted March 14, 2017 Share Posted March 14, 2017 Merhaba arkadaşlar, Takıldığım yerler oluyor, iki tane sorum var da Birincisi yaptığım programı bir dizine gitmesi, veya bir programı çalıştırması için parametre ile çalıştırabilir miyim? Örnek: "...\autorun.exe" -C:\Program Files (x86)\Google\Chrome\Application parametresi ile açtığım zaman bu dizine gidecek. "...\autorun.exe" -C:\Program Files (x86)\Google\Chrome\Application\chrome.exe parametresi ile açtığım zaman da bu dosya açılacak. İkinci sorum da şu: Projemde Dialog.FileBrowse ile seçilen dosyayı Input1'e yazdırıyorum. Fakat sadece dosya seçilebiliyor. Ben hem dosya, hem de klasör seçilebilir olmasını istiyorum. Ayrıca örneğin Google Chrome'un kısayolunu seçtiğim zaman Input1'e: C:\Program Files (x86)\Google\Chrome\Application\chrome.exe yazılıyor. Fakat ben; C:\Users\Crab\Desktop\Google Chrome.lnk şeklinde yazılmasını istiyorum. Biraz uzun bi konu oldu, umarım sıkmamışımdır. Şimdiden teşekkür ederim arkadaşlar... Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted March 16, 2017 Share Posted March 16, 2017 1 Quote Link to comment Share on other sites More sharing options...
PColik Posted March 17, 2017 Author Share Posted March 17, 2017 On 16.03.2017 at 04:55, DivaneTR yazdı: Kardeş çok sağol bu konuda da yeni bir şey öğrenmiş oldum fakat yapmak istediğim şeyi yapamadım :/ Quote Link to comment Share on other sites More sharing options...
blackman12 Posted March 28, 2017 Share Posted March 28, 2017 Divane ilk sorun için gerekli yardımı yapmış geri kalan gelen komutu yorumlamak, mesela parametren buysa: -"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" burada left trim ile - kısmını sildirdikten sonra " işaretini de replace ettirip dosya/klasör yolunu elde edebilirsin. Bundan sonraki aşamada bu yolun bir exe mi klasör mü olduğuna karar vermek. bunu da file.isDirectory() gibi bir komutla kontrol edebilir, klasör açma ya da uygulama açma komutunu gönderebilirsin. sorunun ikinci kısmında: windowsun tek bir butonla hem klasör hem dosya seçebileceğin bir penceresi yok. O yüzden radioboxları kullan ve hangisi seçiliyse ona göre seçim penceresini açtır. 1 Quote Link to comment Share on other sites More sharing options...
PColik Posted March 29, 2017 Author Share Posted March 29, 2017 23 saat önce, blackman12 yazdı: Divane ilk sorun için gerekli yardımı yapmış geri kalan gelen komutu yorumlamak, mesela parametren buysa: -"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" burada left trim ile - kısmını sildirdikten sonra " işaretini de replace ettirip dosya/klasör yolunu elde edebilirsin. Bundan sonraki aşamada bu yolun bir exe mi klasör mü olduğuna karar vermek. bunu da file.isDirectory() gibi bir komutla kontrol edebilir, klasör açma ya da uygulama açma komutunu gönderebilirsin. sorunun ikinci kısmında: windowsun tek bir butonla hem klasör hem dosya seçebileceğin bir penceresi yok. O yüzden radioboxları kullan ve hangisi seçiliyse ona göre seçim penceresini açtır. İlk açıklaman için teşekkür ederim fakat ben AMS hakkında çok detaylı bilgiye sahip olmadığım için bu söylediklerini nasıl yapacağımı bilmiyorum Quote Link to comment Share on other sites More sharing options...
Dark_Angel Posted March 29, 2017 Share Posted March 29, 2017 (edited) 1. Soru: params = { "-C:\\Program Files (x86)\\Google\\Chrome\\Application", "-C:\\Program Files (x86)\\Google\\Chrome\Application\\chrome.exe", "-test" }; if _CommandLineArgs[1] ~= nil and _CommandLineArgs[1] ~= "" then for index, param in pairs (_CommandLineArgs) do if param == params[1] then File.ExploreFolder(params[1]:gsub("%-", ""), SW_SHOWNORMAL); elseif param == params[2] then File.Open(params[2]:gsub("%-", ""), "", SW_SHOWNORMAL); elseif param == params[3] then Dialog.Message("Test", "Test parametresi"); end end end 2. Soru: blackman12' da dediği gibi bunu tek bir butonla yapamazsın .lnk yazmasını istiyorsan örneğin: local text = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"; yeni_text = text:gsub("%.exe", "%.lnk"); Dialog.Message("", yeni_text); ayrıca AMS'de yol\yol gibi kullanma yol\\yol\\... gibi bu arada parametre kodlarını On Show veya On Preload bölümüne yazman gerekiyor Edited March 29, 2017 by Dark_Angel Quote Link to comment Share on other sites More sharing options...
PColik Posted September 26, 2017 Author Share Posted September 26, 2017 Dark_Angel, 29.03.2017 - 21:35 yazdı: 1. Soru: params = { "-C:\\Program Files (x86)\\Google\\Chrome\\Application", "-C:\\Program Files (x86)\\Google\\Chrome\Application\\chrome.exe", "-test" }; if _CommandLineArgs[1] ~= nil and _CommandLineArgs[1] ~= "" then for index, param in pairs (_CommandLineArgs) do if param == params[1] then File.ExploreFolder(params[1]:gsub("%-", ""), SW_SHOWNORMAL); elseif param == params[2] then File.Open(params[2]:gsub("%-", ""), "", SW_SHOWNORMAL); elseif param == params[3] then Dialog.Message("Test", "Test parametresi"); end end end 2. Soru: blackman12' da dediği gibi bunu tek bir butonla yapamazsın .lnk yazmasını istiyorsan örneğin: local text = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"; yeni_text = text:gsub("%.exe", "%.lnk"); Dialog.Message("", yeni_text); ayrıca AMS'de yol\yol gibi kullanma yol\\yol\\... gibi bu arada parametre kodlarını On Show veya On Preload bölümüne yazman gerekiyor Kardeş 1. sorunun cevabını verdiğin için teşekkür ederim ama bunları nereye yazacağım konusunda bir bilgiye sahip değilim. Ayrıca ikinci sorumu tam anlatamadım galiba arkadaşlar. İkinci sorumda benim için önemli olan şey şu: Ben örneğin masaüstündeki Nero Express kısayolunu seçiyorum. Biliyorsunuz Nero Express tek başına açılan bir uygulama değil. Nero Burning Rom exe dosyasına /w parametresini ekleyince açılıyor. Ama cevap verirken Nero üzerinden cevap vermeyin, ben sadece örnek verdim. Neyse, daha sonra seçtiğim bu dosyanın konumu Input1'e yazılıyor ama Input1'e kısayolun konumu değilde asıl dosyanın konumu yazılıyor. Yani ben "C:\Program Files (x86)\Nero\Nero 2017\Nero Burning ROM\nero.exe" /w şeklinde yazmasını istiyorum ama C:\Program Files (x86)\Nero\Nero 2017\Nero Burning ROM\nero.exe şeklinde yazılıyor. Input1'e seçtiğim dosyanın asıl konumu değilde seçtiğim kısayolun konumunun yazılmasını istiyorum. Bunu nasıl yapabilirim diye sormuştum. Bu arada uzun süredir TNCTR'ye girmediğim için çok erken cevap verdim arkadaşlar. Kusura bakmayın 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.