Jump to content
Son zamanlarda artan kullanıcı hesap hırsızlıkları sebebiyle tüm kullanıcılara şifre sıfırlama maili gönderilmiştir. Lütfen güveli şifreler seçiniz. Mevcut e-mail adresinize erişemiyorsanız, en aşağıdaki destek linkinden bize ulaşınız. ×

Ams'de Parametre Ile çalıştırma Ve Dosya Seçme Ile Ilgili Bir Soru


PColik
 Share

Recommended Posts

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...

Link to comment
Share on other sites

  • 2 hafta sonra ...

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.

  • Like 1
Link to comment
Share on other sites

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 :)

Link to comment
Share on other sites

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 by Dark_Angel
Link to comment
Share on other sites

  • 5 ay sonra...
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 :)

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...