AutoPlay Media Studio – BAT Dosyası Çalıştırma ve Komut Gönderme

Quandrostr

Yeni Üye
Kayıtlı Üye
Ortadaki büyük ekranda xxx.bat dosyası çalıştırmak ve alt taraftaki yerden ona veri yolluyabilmek istiyorum bat dosyasında şuna basın buna basın gibi şeyler yazıyor bunuda alttaki yerle halletmek istiyorum
 
Son düzenleyen: Moderatör:

AutoPlay Media Studio ile BAT Dosyası Çalıştırma ve Komut Gönderme​

Bu konu 2014 yılında açılmış eski bir AutoPlay Media Studio projesiyle ilgili sorudan güncellenmiştir.

Eski konuda amaç; ortadaki büyük bölümden bir .BAT dosyasını çalıştırmak ve BAT dosyasının istediği;

Kod:
Bir işlem yapmak için bir tuşa basın...
Seçiminizi girin:
Komut giriniz:

gibi istekleri AutoPlay Media Studio'nun alt bölümündeki bir arayüz üzerinden kullanıcıya yaptırmaktı.

AutoPlay Media Studio'da butonlara olaylar ve Action'lar atanabildiği için bu yapı oluşturulabilir.

1. BAT Dosyasını Çalıştırmak​

Örneğin projenizin içinde:

Kod:
Dosyalar\program.bat

şeklinde bir BAT dosyanız olduğunu düşünelim.

Bir buton oluşturup:

Button → Properties → Actions → On Click

bölümüne aşağıdaki Lua kodunu ekleyebilirsiniz:

Kod:
File.Run("Dosyalar\program.bat", "", "", SW_SHOWNORMAL, true);

Bu şekilde butona basıldığında BAT dosyası çalıştırılabilir.

2. BAT Dosyasındaki Soruyu AMS Arayüzüne Taşımak​

Asıl istenen yapı burada başlıyor.

Örneğin BAT dosyası normalde CMD ekranında kullanıcıdan seçim istiyorsa:

Kod:
1 - Uydu
2 - Elektronik
3 - Amfi

Seçiminizi girin:

bunun yerine AutoPlay Media Studio içerisinde:

Kod:
[/HEADING][/HEADING]
[HEADING=1][HEADING=1]| |[/HEADING][/HEADING]
[HEADING=1][HEADING=1]| Seçim: [____________] [ GÖNDER ] |[/HEADING][/HEADING]
[HEADING=1]

şeklinde bir arayüz hazırlanabilir.​

Burada kullanıcı CMD penceresine yazmak yerine AMS içerisindeki Input alanına bilgi girer.​

3. Input ve Button Kullanımı​

Örneğin projeye şu nesneleri ekleyebilirsiniz:​


Bir RichText veya Paragraph: BAT çıktısını göstermek için
Bir Input: Kullanıcının komut/veri girmesi için
Bir Button: Girilen veriyi göndermek için
İsteğe bağlı olarak birkaç hazır komut butonu​

Örneğin Input nesnesinin adı:​

Kod:
[/HEADING]
[HEADING=1]Input1[/HEADING]
[HEADING=1]

Button'ın adı:​

Kod:
[/HEADING]
[HEADING=1]Button_Gonder[/HEADING]
[HEADING=1]
olabilir.​

4. Hazır Komut Butonları​

BAT dosyasının belirli seçenekleri varsa kullanıcıya yazdırmak yerine doğrudan buton da koyabilirsiniz.​

Örneğin:​

Kod:
[/HEADING]
[HEADING=1][ UYDU ] [ ELEKTRONİK ] [ AMFİ ] [ ÇIKIŞ ][/HEADING]
[HEADING=1]

Her buton kendi komutunu çalıştırabilir.​

Bu yöntem özellikle eski CMD tabanlı programları modern bir grafik arayüze dönüştürmek için kullanılabilir.​

5. Önemli Nokta: BAT Dosyasına Veri Göndermek​

Burada BAT dosyasını sadece çalıştırmak ile çalışan programın standart girişine veri göndermek birbirinden farklıdır.​

Eğer BAT dosyası:​

Kod:
[/HEADING]
[HEADING=1]set /p secim=Seciminizi girin:[/HEADING]
[HEADING=1]

gibi kullanıcıdan stdin üzerinden veri bekliyorsa, yalnızca:​

Kod:
[/HEADING]
[HEADING=1]File.Run(...)[/HEADING]
[HEADING=1]

kullanmak yeterli olmayabilir.​

Bu durumda BAT dosyasının nasıl çalıştığına göre farklı bir yöntem gerekir.​

Örneğin BAT dosyası komutu parametre olarak kabul edecek şekilde düzenlenebiliyorsa:​

Kod:
[/HEADING]
[HEADING=1]program.exe 1[/HEADING]
[HEADING=1]

veya:​

Kod:
[/HEADING]
[HEADING=1]program.exe Uydu[/HEADING]
[HEADING=1]

gibi çalıştırılabilir.​

Bu yapı AutoPlay tarafından da parametre verilerek kullanılabilir.​

6. Daha Kullanışlı Yapı​

Eğer amaç eski bir CMD/BAT programına grafik arayüz hazırlamaksa, en kullanışlı yapı genellikle şöyledir:​

Kod:
[/HEADING]
[HEADING=1]AutoPlay Media Studio[/HEADING]
[HEADING=1]|[/HEADING]
[HEADING=1]+-- Menü[/HEADING]
[HEADING=1]|[/HEADING]
[HEADING=1]+-- Seçim Butonları[/HEADING]
[HEADING=1]|[/HEADING]
[HEADING=1]+-- Veri Giriş Alanı[/HEADING]
[HEADING=1]|[/HEADING]
[HEADING=1]+-- Çalıştır Butonu[/HEADING]
[HEADING=1]|[/HEADING]
[HEADING=1]+-- Sonuç / Çıktı Alanı[/HEADING]
[HEADING=1]|[/HEADING]
[HEADING=1]+-- BAT veya EXE[/HEADING]
[HEADING=1]

Böylece kullanıcı CMD ekranıyla uğraşmadan bütün işlemleri AutoPlay Media Studio içerisinden yapabilir.​

7. Eski Projeler İçin Not​

Bu konu 2014 yılında açıldığı için eski projelerde AutoPlay Media Studio 8 veya daha eski sürümler kullanılmış olabilir.​

Güncel AutoPlay Media Studio 9'da Lua sürümü 5.3'e yükseltilmiştir; AMS 8'de ise Lua 5.1 kullanılmıştır. Bu nedenle eski Lua kodlarının güncel sürümde kullanılması sırasında bazı uyumluluk farklılıkları görülebilir.​

Ayrıca eski projelerde kullanılan bazı plugin'ler AMS 9 ile uyumlu olmayabilir. AMS 9, Plugin SDK 3 veya daha yeni sürümlerle oluşturulmuş plugin'leri gerektirir.​

Sonuç​

Eski konudaki fikir günümüzde de yapılabilir:​

BAT dosyasını AutoPlay Media Studio üzerinden çalıştırmak​

Kullanıcıdan veri almak​

Hazır komutlar için butonlar oluşturmak​

BAT/EXE programına parametre göndermek​

Program çıktısını uygulama içerisinde göstermek​

CMD tabanlı bir program için grafik arayüz hazırlamak​

Ancak BAT dosyasının kullanıcıdan nasıl veri istediğini görmeden tek bir kod vermek doğru olmaz. Özellikle set /p, choice veya doğrudan EXE'ye parametre gönderme yöntemlerinden hangisinin kullanıldığı bilinmelidir.​

Bu nedenle BAT dosyasının içeriği paylaşılırsa, ona göre AutoPlay Media Studio tarafındaki arayüz ve çalışır Lua kodu hazırlanabilir.​

 
Geri
Yukarı