Jump to content

ortho

Üye
  • Posts

    46
  • Joined

  • Last visited

Posts posted by ortho

  1. Ustalarım, sayenizde autoit'le az bişeyler yapabiliyorum. Eskiden oynadığımız sayı oyunu vardı, dün onu yapayım dedim. 4 rakamlı ve rakamları birbirinden farklı bir sayı tutuyor bilgisayar. Sonra bizden tahmin istiyor. Rakamları ve yerleri tutarsa + olarak, rakamları tutup da yerleri tutmazsa - olarak bize ip ucu veriyor. +4 olursa sayıyı bildik demektir. Muhtemelen çoğu kişi bu oyunu biliyordur. Kodlarını yazdım ve çalışıyor. Bir eksiğim ya da yanlışım varsa ve düzeltirseniz sevinirim:

    Global $sRandom1 = ""
    Global $randarray[4]
    Global $answer1
    Global $ansarray[4]
    Global $Plus = 0
    Global $Minus = 0
    Global $Ok = 1
    Global $Ok2 = 1
    Global $Yard = 0
    Global $Sayac = 0
    
    For $i = 0 To 3
    	$randarray[$i] = Random(0, 9, 1)
    	If $i = 0 Then
    		If $randarray[0] = "0" Then
    			Do
    				$randarray[$i] = Random(0, 9, 1)
    			Until $randarray[0] <> "0"
    		EndIf
    		$sRandom1 &= $randarray[$i]
    	EndIf
    	If $i = 1 Then
    		$a = StringCompare($randarray[1], $randarray[0])
    		If $a = 0 Then
    			Do
    				$randarray[$i] = Random(0, 9, 1)
    				$a = StringCompare($randarray[1], $randarray[0])
    			Until $a <> 0
    		EndIf
    		$sRandom1 &= $randarray[$i]
    	EndIf
    	If $i = 2 Then
    		$a = StringCompare($randarray[2], $randarray[0])
    		$b = StringCompare($randarray[2], $randarray[1])
    		If $a = 0 Or $b = 0 Then
    			Do
    				$randarray[$i] = Random(0, 9, 1)
    				$a = StringCompare($randarray[2], $randarray[0])
    				$b = StringCompare($randarray[2], $randarray[1])
    			Until $a <> 0 And $b <> 0
    		EndIf
    		$sRandom1 &= $randarray[$i]
    	EndIf
    	If $i = 3 Then
    		$a = StringCompare($randarray[3], $randarray[0])
    		$b = StringCompare($randarray[3], $randarray[1])
    		$c = StringCompare($randarray[3], $randarray[2])
    		If $a = 0 Or $b = 0 Or $c = 0 Then
    			Do
    				$randarray[$i] = Random(0, 9, 1)
    				$a = StringCompare($randarray[3], $randarray[0])
    				$b = StringCompare($randarray[3], $randarray[1])
    				$c = StringCompare($randarray[3], $randarray[2])
    			Until $a <> 0 And $b <> 0 And $c <> 0
    		EndIf
    		$sRandom1 &= $randarray[$i]
    	EndIf
    Next
    
    MsgBox(0, "", "Aklımdan 4 basamaklı ve rakamları birbirinden farklı" & @CRLF & "bir sayı tuttum. Bakalım bilebilecek misin?")
    While Not $Plus = 4
    	Do
    		$Plus = 0
    		$Minus = 0
    		$k = 0
    		$Ok = 1
    		$Ok2 = 1
    		$answer1 = InputBox("Tahmin", "Tahmininizi yazın" & @CRLF & "(Çıkış için Cancel'a basınız)" & @CRLF & 'Yardım için "help" yazınız', "", " M4", 190, 140)
    		If @error = 1 Then Exit
    		$i = 0
    		If $answer1 = "help" Then
    			MsgBox(0, "KOPYA", $sRandom1)
    			$Yard = 1
    			ExitLoop
    		EndIf
    		For $i = 0 To 3
    			$ansarray[$i] = StringMid($answer1, $i + 1, 1)
    			If $i = 0 And $ansarray[$i] = "0" Then
    				MsgBox(0, "Uyarı", "İlk rakam sıfır olamaz")
    				$Ok = 0
    				$Ok = 0
    			EndIf
    			$IsNum = StringIsDigit($ansarray[$i])
    			If $IsNum = 0 Then
    				MsgBox(0, "Uyarı", "Sadece rakam giriniz")
    				$Ok = 0
    				ExitLoop
    			EndIf
    		Next
    		$i = 0
    		If $Ok = 1 Then
    			For $i = 0 To 2
    				If $i = 0 Then
    					If ($ansarray[0] = $ansarray[1]) Or ($ansarray[0] = $ansarray[2]) Or ($ansarray[0] = $ansarray[3]) Then
    						MsgBox(48, "Uyarı", "Lütfen rakamları farklı olsun")
    						$Ok2 = 0
    						ExitLoop
    					EndIf
    				EndIf
    				If $i = 1 Then
    					If ($ansarray[1] = $ansarray[2]) Or ($ansarray[1] = $ansarray[3]) Then
    						MsgBox(48, "Uyarı", "Lütfen rakamları farklı olsun")
    						$Ok2 = 0
    						ExitLoop
    					EndIf
    				EndIf
    				If $i = 2 Then
    					If ($ansarray[2] = $ansarray[3]) Then
    						MsgBox(48, "Uyarı", "Lütfen rakamları farklı olsun")
    						$Ok2 = 0
    						ExitLoop
    					EndIf
    				EndIf
    			Next
    		EndIf
    
    		$i = 0
    		For $i = 0 To 3
    			If $randarray[$i] = $ansarray[$i] Then
    				$Plus = $Plus + 1
    			EndIf
    		Next
    		$i = 0
    		$k = 0
    		For $i = 0 To 3
    			For $k = 0 To 3
    				If $ansarray[$i] = $randarray[$k] Then
    					$Minus = $Minus + 1
    				EndIf
    			Next
    		Next
    		$Minus = $Minus - $Plus
    		$Sayac = $Sayac + 1
    		If $Plus = 4 Then
    			If $Yard = 1 Then
    				MsgBox(0, "Tebrikler", $Sayac & " hakta bildiniz!" & @CRLF & "(Biraz yardım aldık galiba:))")
    			Else
    				MsgBox(0, "Tebrikler", $Sayac & " hakta bildiniz!")
    			EndIf
    		Else
    			If $Ok = 1 And $Ok2 = 1 Then MsgBox(0, "İpucu", "+" & $Plus & "  -" & $Minus)
    		EndIf
    	Until $Plus = 4
    WEnd

    Ayrıca birkaç sorum olacaktı:

    1.Inputbox aracılığıyla alınan girdi string olarak mı alınıyor sadece? IsNumber komutuyla girilen değerin rakam içerip içermediğini kontrol etmeye çalıştım ama olmadı. Sonradan StringIsDigit komutuyla işi yaptım.

    2.Inputbox veya MsgBox ile yazdığımız stringleri kutuya ortalayarak yazdırabilir miyiz?

    3.Setup'ı aracılığıyla kurmakta olduğumuz bir programın nereye hangi dosyaları attığını, registry'e neler girdiğini öğrenebilir miyiz? Araştırdım ama bir yöntem ya da bu işi yapan bir program bulamadım. Şimdiden yardımlarınız için teşekkürler.

  2. @ortho

    Aslında basit bir örnek verecektim, ama konuya dalınca çok karıştı! Fazla kafa karıştırmamak ve ayrıca bu konuyla alakasız bir çalışma olacağından Tools paketime ekledim!

    Açıklama html dosyasının sonunda!

    Yani, /filerename parametresinde bir çok ek özellik var!

    Kendine uygun olanları regedite ekler kullanırsın.

    Tabi istediğin bir yazıyıda tüm dosyalara rahatlıkla yazdırabilirsin. (Bir çok arka kapı bıraktım)

    Bu arada verdiğim *.reg dosyasını kullanmak için BL-STools.exe dosyasını system32 ye atmalı veyahut konum bilgisini düzeltmelisin.

    http://www.4shared.com/file/cP9qFJHZ/BL_STools_v13.html[/CODE]

    Denedikten sonra, sonucu yazmayı unutma. Sorun yaşarsan tekrar bakarım...

    Kolay gelsin....

    Ustam eline sağlık valla süper bir program olmuş! Sadece rename kısmını nasıl yaptığını eğer copyright olayına aykırı değilse öğrenebilir miyim? Bir de sadece dosya ismi değiştirebiliyoruz sanırım. Klasörü de yapabilir miyiz?

  3. @ortho

    Tabiki mümkün. Lakin bir kaç soru sorip sana basit bir örnke verim.

    Sen sadece seçili dosya içn mi yapmak istiyorsun, yoksa bir klasörü seçince içindeki tüm dosyalara mı tarih vermek istiyorsun?

    Ustam ben asistanım bir üniversitede, aldığımız hasta fotoğraflarının isimlerinin sonuna tarih eklememiz gerekiyor. Bayağı zahmetli oluyor. Benim yapmak istediğim sadece seçtiğim dosya ve/veya klasörlerin isimlerine sonuna 24.12.09 gibi o günün tarihi ne ise eklemek. "Ahmet DAYIOĞLU 12.05.10" olacak mesela. Hatta bunu yapabilirsem sabit bir metin + array+o günün tarihi şeklinde de geliştirebilirsem iyi olur benim için. Hasta ismi+array+o günün tarihi şeklinde yani."recursive" olayına gerek yok. Konu katılımsızın dışına çıktı, kusura bakma.

  4. Ustam başının belası oldum ama birkaç sorum daha olacak. Öncelikle bu senin fileinstall recorder süper işime yaradı, teşekkürler. Dünden beri Autoit help dosyasında bir dosyanın ya da klasörün ismini öğrenme komutunu arıyorum ama bulamadım öyle birşey. Yapmak istediğim programı sağ tık eklentisi olarak kullanacağım. Sağ tıklayıp "tarihle adlandır" gibi bir komut seçerek klasör isminin ya da dosya isminin sonuna o günün tarihini ekleyecek. Aslında böyle bir eklenti var ama mesela bugün için 12052010 gibi noktasız virgülsüz birşey ekliyor. Sen fileinstall recorderda seçilen klasör içindeki dosya isimlerini alabilmişsin. Bunu hangi komutla yaptın? Sağ tık eklentisi yapmak için dosya ismine bi eklenti yapmak gerekecek sanırım. Tarih.exe desek, tarih (dosya ismi) gibi. Bir de böyle bir program yapmak mümkün müdür Autoit'le? Eğer değilse hiç uğraşmıyım :lol:

  5. @ortho

    İlk mesajın sonuna Babylon eklenmiştir. Incele!

    Tabi crackını ve sözlüklerini ekle!

    Bu arada kullanışlık Eng - Tur \ Tur - Eng sözlükleri verebilirmisin!

    Kısa sürüde temin ederimde, arayasım gelmiyor ... ( Kullandığım sözlükler çok eski!)

    Global,Dim,Local ile bir değişkeni scriptimize tanıtıyoruz. Misal ben;

    Global $Blue = "Deneme"[/CODE]

    ile bir değişken atayıp bunu scripthin herangi bir yerinde kullanabilirim.

    [CODE]Tabi değiştirmem gekektiğinde değiştiririm. Anlamak için bol bol mesaj kullan!
    Global $Blue = "Deneme"
    MsgBox(64,"",$Blue)

    $Blue = "Deneme2"
    MsgBox(64,"",$Blue)[/CODE]

    İkinci soruna gelirsek " işaretini içerikte kullanmak için ' işatetini kullan.

    [CODE]MsgBox(64,"",'Selam "millet"')[/CODE]

    gibi,

    Kolay gelsin....

    Sağolasın ustam. Önceden bi forumda paylaşmıştım elimdeki tüm sözlükleri. Ne kadar eskidir bilmem ama buyur:

    [CODE]http://www.mediafire.com/?uwo53nb1lin[/CODE]

    İçindeki sözlüklerden işine yaramayanlar olabilir, bilgine.

    Bu Global,Dim,Local belirteçlerini kullanmasak da olur anladığım kadarıyla. Bunlar arasında bir fark var mı acaba,help dosyasında yazmış ama tam anlamadım. Cevap ve babylon script için teşekkürler.

  6. Ustam değişkenlerimizi Global, dim olarak tanımlamamız neye bağlı ve script başında tanımlamadan direkt işlemler arasında değişkene değer atasak ne olur? Bir de text kısmında "" şeklinde tırnak işareti barındıran pencereleri winwaitactive gibi komutlara nasıl yazarız, kabul etmiyor da ("Babylon English" sözlük dosyası yüklenemedi gibi)

  7. Blue_life ustam valla eline sağlık. Sayende bişeyler öğrendim. Babylon'u katılımsız yaptım ama pencereleri gizlemedim şimdilik. İki dosyayı script içine alma olayı için örnek olarak vereyim dedim, katkım olsun benim de:

    http://www.qooy.com/files/EUWKHK9O/Babylon_Autoit_1.rar[/CODE]

    Sen senin scripti yenilemeden önce başladığım için senin script olmadan yazdım. Hatamı görür de söylersen sevinirim. Arşiv içinde Setup dosyası, script dosyası ve kırılmış babylon.exe vardır. Script içinde açıklamaları yaptım elimden geldiğince. Herkese kolay gelsin.

    EK: Bu da sözlük dosyalarının yüklenmesi için yazdığım Script. Yaklaşık 26 adet .bdc uzantılı sözlük dosyası var, onları scrtipte dahil edip tek bir KUR dosyasında birleşitiriyorum. Buradan:

    [CODE]http://freetexthost.com/wc2bmmkeu0[/CODE]

  8. @ortho

    Tmm bugün bakıp gerekli örneği payalaşıırım

    Zaten BlueLife.au3 dosyasında bazı hatalar vardı. Bakmışken onları da düzenlerim...

    Ustam ben onu başka bir yolla çözdüm. Baştan inceledim programı ama senin scripti kullanmadan çözebildim. Hata verdi sürekli, bişeyleri yanlış yaptım sanırım.

    Run("unlocker.exe")
    WinWaitActive("Installer Language", "Please select a language.")
    Send("{DOWN}")
    Send("{DOWN}");Türkçe seçiliyor
    ControlClick("Installer Language","Please select a language.", "Button1")
    WinWaitActive("Unlocker 1.8.9 Kurulumu", "Unlocker 1.8.9 Kurulum sihirbazına hoş geldiniz")
    ControlClick("Unlocker 1.8.9 Kurulumu","Unlocker 1.8.9 Kurulum sihirbazına hoş geldiniz", "Button2")
    WinWaitActive("Unlocker 1.8.9 Kurulumu", "Install the new Bing Bar")
    ControlClick("Unlocker 1.8.9 Kurulumu","Install the new Bing Bar", "Button4")
    ControlClick("Unlocker 1.8.9 Kurulumu","Install the new Bing Bar", "Button2")
    WinWaitActive("Unlocker 1.8.9 Kurulumu", "Hedef dizini seçimi")
    ControlClick("Unlocker 1.8.9 Kurulumu","Hedef dizini seçimi", "Button2")
    WinWaitActive("Unlocker 1.8.9 Kurulumu", "Bileşen seçimi")
    Send("{DOWN}")
    Send("{DOWN}");Assistant üzerine geliniyor
    Send("{SPACE}");Assistant üzerindeki işaretleme kaldırılıyor
    ControlClick("Unlocker 1.8.9 Kurulumu","Bileşen seçimi", "Button2")
    WinWaitActive("Unlocker 1.8.9 Kurulumu", "Unlocker 1.8.9 Kurulum sihirbazı tamamlanıyor.")
    ControlClick("Unlocker 1.8.9 Kurulumu","Unlocker 1.8.9 Kurulum sihirbazı tamamlanıyor.", "Button2")[/CODE]

    Winrarla da katılımsız yaptım. Ama pencereyi gizleyemedim:

    [CODE]http://sharebee.com/d172a920[/CODE]

    Setup ile benim scripti birleştirip bir dosya haline getirmeyi beceremedim bir türlü, ancak winrarla yapabildim. Bu konuda da yardımcı olabilir misin? Senin script olmadan olmuyor mu acaba?

    Bir de çok soru olacak ama mesela ben yükleme işleminden önce kullanıcıya bir mesaj vermek istiyorum. Örneğin bende kaspersky virus uyarısı veriyor. Bu uyarıya aldırmayın, Kabul ediyorsanız devam edin yoksa No diyin gibi. Aslında inceledim, if...then... kalıbıyla kolayca oluyor. Ama pascaldaki prosedür olayında if...then go to... vardı. Onu burda nasıl yaparız, prosedür içine almayı yani?

    Son olarak da içinde keygeni olan bir programı nasıl Autoit'le katılımsız yapabiliriz.Teşekkürler şimdiden.

  9. blue_life ustam anlatımlar için teşekkürler. Ben senin anlatımının da yardımıyla Unlocker programına el atmaya çalıştım. Yalnız "Bileşen seçimi" peceresindeki Assistant seçeneğindeki çeteleyi nasıl kaldıracağım bulamadım. Diğer kutucuklardaki gibi class:button olarak görünmüyor, SysTreeView32 olarak görünüyor. Yardımcı olursan sevinirim.

  10. İstediğiniz programı ( katılımsız yaptığınız sürece) ve sınırsız program ekleyebilirsiniz.

    Ustam ya ben kendi bilgisayarımı downgrade yapıp xp yükledim 1 sene önce. Toparladığım driver'larıyla ve istediğim bazı programlarla birlikte XP'nin kurulması için bilgisayarıma özel XP yapacağım. Yalnız bir sorunum var sen katılımsız yaptığınız sürece demişsin ya NVidia ekran kartı sürücüsü ve Ses kartı gibi sürücülerim kendi setup programıyla kuruluyor ve bunların ne silent parametrelerini bulabildim ne de katılımsız yapabildim. Bunları direkt silent olmadan cab'lasak da XP'ye entegre etsek olmaz mı? Bir de mesela bazı programlarda keygen oluyor. Onları nasıl entegre edebiliriz? Silent olarak entegre etmezsek bize normal kurulurkenki şeyleri soracaksa da varsın öyle olsun. Bilgisayarı kurarken yeniden başlatma olayından yeğdir ^_^ Yanıt için şimdiden teşekkürler.

  11. Ya arkadaşlar, özellikle bu işten anlayan mühendis arkadaşlar cevaplayabilirse sevinirim. Ben bir diş hekimliği fakültesinde asistanım ve Finite Element yöntemi ile ilgili tez yapacağım. Yalnız inşaat mühendisliğinden konuştuğum bir hoca bana crackli ANSYS programının da sınırlı olduğunu, belirli bir sayıda eleman oluşturabildiğini söyledi. O sayıdan fazlası için lisanslısını almak lazımmış. Doğru mudur acaba?

  12. Sitemizde piky basket adı altında verilen bir program daha buldum.Bu program farklı klasörler içerisindeki dosyaları işaretleyerek aynı anda kopyalama imkanı sunuyor fakat böyle herkesin işine yarayacak bir özelliğin ingilizce ve yüklemeli olması beni harekete geçirdi ve türkçeleştirdim hemen...Buyrun KopyalamaSepeti:

    http://rapidshare.com/files/97802996/KopyalamaSepeti.exe.html[/CODE]

    Blackman hocam, öncelikle ellerine sağlık, hepsi de kullanışlı eklentiler. Yalnız belki küçük bi ayrıntı ama bazı yüklediğim modifiye xplerde gördümdü de kopyalama sepeti eklentisi sağtuşta ismi de kopyalama sepeti şeklinde çıkıyordu. Seninkinde ismi Piky Basket olarak kalmış, sonradan açılan menü Türkçe sadece. Acaba tamamı Türkçe olanı var mı elinde? Türkçe takıntısı var da biraz:) Bi de kopyalama sepetini nasıl uninstall yapacağımızı anlatabilirsen sevinirim.

  13. Hocam ben nette "Windows Updates Downloader" diye bi program buldum. Windows updateleri exe olarak indiriyor. Şu an update pack olarak en son kasıma kadar olan updateleri içeren pack var sitede. Kasım sonrası updateleri indirdim. Onları da mı 7z formatına çevirip sonra nlite ile entegre edeceğiz?

×
×
  • Create New...