Jump to content

Projeye Program Ekleme


xarax

Recommended Posts

yeni bir AIO sorusu

bir klasörün içinde adları 1.exe.........50.exe ye kadar dosyalar var.bu klasöre ismi önemli değil bir dosya daha attık X.exe mesela elimizde bir input nesnesi var ve bu inputa [1-50] arası bir sayı giriliyor.

bir butona yazdığımız kodlarla şimdi kontrol etmeye başlayacağız

1)Klasörde pro1.exe....pro50.exe dışında bir dosya var mı? X.exe gibi

2)Klasörde pro1.exe....pro50.exe adlarındaki exe dosyalarından biri veya tamamı eksik mi?

şimdi bu iki şarta göre 1den 50 ye olan exe dosyalarından inputta yazan veya tamamı yoksa içine sonradan attığımız dosyanın(X.exe) adını inputta yazan sayı olarak yeniden adlandıracak.(inputta 5 yazıyorsa 5.exe olacak)

eğer inputta yazan sayı değeri ile aynı dosya varsa mesela inputta 2 yazsın 2.exe de klasörde zaten bulunsun, bu durumda o 2.exe dosyasını silsin ve sonradan eklenen X.exe dosyasının adını inputtaki değer yapsın 2.exe yani.

AMS 8 üzerinde çalışabilecek kodlar lazım.

birkaç deneme yaptım fakat olmadı.sonradan eklediğim dosyayı nasıl algılatacağımızı bulamadım.AMS ustalarından yardım bekliyorum.

Link to comment
Share on other sites

yeni bir AIO sorusu

bir klasörün içinde adları 1.exe.........50.exe ye kadar dosyalar var.bu klasöre ismi önemli değil bir dosya daha attık X.exe mesela elimizde bir input nesnesi var ve bu inputa [1-50] arası bir sayı giriliyor.

bir butona yazdığımız kodlarla şimdi kontrol etmeye başlayacağız

1)Klasörde pro1.exe....pro50.exe dışında bir dosya var mı? X.exe gibi

2)Klasörde pro1.exe....pro50.exe adlarındaki exe dosyalarından biri veya tamamı eksik mi?

şimdi bu iki şarta göre 1den 50 ye olan exe dosyalarından inputta yazan veya tamamı yoksa içine sonradan attığımız dosyanın(X.exe) adını inputta yazan sayı olarak yeniden adlandıracak.(inputta 5 yazıyorsa 5.exe olacak)

eğer inputta yazan sayı değeri ile aynı dosya varsa mesela inputta 2 yazsın 2.exe de klasörde zaten bulunsun, bu durumda o 2.exe dosyasını silsin ve sonradan eklenen X.exe dosyasının adını inputtaki değer yapsın 2.exe yani.

AMS 8 üzerinde çalışabilecek kodlar lazım.

birkaç deneme yaptım fakat olmadı.sonradan eklediğim dosyayı nasıl algılatacağımızı bulamadım.AMS ustalarından yardım bekliyorum.

Kodlamayı bitirdim. Biraz karışık görünebilir ama kodlardaki açıklamaları okuyuncda anlayacaksın eminim. Kodların yaptığı işlemler;

- dosya yolu ile beraber dosya isimlerini buluyor,

- dosya isimlerini yolundan ayrıştırıyor,

- yeni atılan dosya ismini, 1,50.exe arasındaki dosya isimlerinden ayrıştırıyor

- inputa yazdigin dosya ismi ile eşleşen eski dosyayi siliyor

- inputa yazdığın dosya ismini yeni attığın dosyaya veriyor

ek olarak kodları AMS 7.5'de hazırladım. 8.0'da döngülere parse olayı eklendi. Henüz o konuya vakıf değilim. şimdi sen bunu 7.5'de dene. eğer işini, görürse 8.0'a uyarlarız. parse olayını çözmem fazla zamanımı almaz. Ayrıca 1'den 50'ye kadar olan dosyaların isimleri 1,2,3,4 dite değilde; 01,02,03.....10,11,12 şeklinde gitmeli. Çünkü AMS 1'den sonra 10 sayısını görüyor. yani 1,10,2,20,3... şeklinde gidiyor. ilk 9 sayının başlarına 0 eklemeyi unutma.

Kodlar:

TextFile.WriteFromString("Autoplay\\a.txt", "", false) -- a.txt yi boşalt
TextFile.WriteFromString("Autoplay\\b.txt", "", false) -- b.txt yi boşalt
File.Delete("AutoPlay\\data.ini", false, false, false) -- ini dosyasını sil
strBul = File.Find(_SourceFolder .. "\\AutoPlay\\Docs", "*.*", false, false) -- docs klasorundeki dosyalari bul
-- dosya yolunu ve isimlerini a.txt ye yazdir.
for n in strBul do
    TextFile.WriteFromString("Autoplay\\a.txt", strBul[n] .. "\r\n", true)
end

tblOku = TextFile.ReadToTable("AutoPlay\\a.txt") -- a.txt nin içeriğini oku
-- okunan veriden sadece dosya isimlerini al ve ini dosyasina yazdir
for n in tblOku do
strDosya = String.SplitPath(tblOku[n])
INIFile.SetValue("Autoplay\\data.ini", "pro", strDosya.Filename .. strDosya.Extension, "0")
end

-- ilk 9 dosya adını sil
ilk = 1; 
son = 9; 
adim = 1; 
for count = ilk, son, adim do
INIFile.DeleteValue("AutoPlay\\data.ini", "pro", "0" .. count .. ".exe")
end

-- geri kalan 41 dosya adını sil
ilk = 1;
son = 41;
adim = 1;
for count = ilk, son, adim do
INIFile.DeleteValue("AutoPlay\\data.ini", "pro", count .. ".exe")
end

-- dosya isimlerini a.txt ye yazdır
tblNames = INIFile.GetValueNames("AutoPlay\\data.ini", "pro")
TextFile.WriteFromString("Autoplay\\a.txt", "", false)
for n in tblNames do
TextFile.WriteFromString("Autoplay\\a.txt", tblNames[n] .. "\r\n", true)
end

tblIsim = INIFile.GetValueNames("AutoPlay\\data.ini", "pro") -- ini dosyasındaki pro bolumundeki basliklari al
strIname = Input.GetText("Input1") -- inputtaki metni al
File.Delete("AutoPlay\\Docs\\" .. strIname .. ".exe", false, false, false) -- inputtaki yazan pro isminin eşleştiği dosyayi sil
File.Rename("AutoPlay\\Docs\\" .. tblIsim[1], "AutoPlay\\Docs\\" .. strIname .. ".exe") -- yeni dosyayi inputta yazan dosya adiyla değiştir
Dialog.Message("Mesaj", "işlem başarılı")

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...