Jump to content

MostWanted

Emekli
  • Posts

    3255
  • Joined

  • Last visited

Posts posted by MostWanted

  1. Sanırım bu bir algoritma analizi dersinden alınma bir kod. Bu algoritma "bubble sort"a benziyor ama değil. Algoritmanın detaylarını ;

     

    http://www.sorting-algorithms.com/bubble-sort

     

    burda görebilirsiniz. Ama elimden geldiğince Türkçe anlatmaya çalışırsam; 

     

    Senin algoritmanın nasıl çalıştığının tüm adımlarını göstermek uzun sürecektir ama ilk 4 adımı gösterirsek

     

    10, 21, 9, 7, 5, 2, 12, 16, 25

     

    1-  9, 21, 10, 7, 5, 2, 12, 16, 25

    2- 7, 21, 10, 9, 5, 2, 12, 16, 25

    3- 5, 21, 10, 9, 7, 2, 12, 16, 25

    4- 2, 21, 10, 9, 7, 5, 12, 16, 25

     

    Kısaca her gördüğün büyük sayıyla küçük sayının yerini değiştiriyor. Biliyorum çok açıklayıcı olmamış olabilir ama algoritmanın tam adını ne yazık ki bulamadım ama dediğim gibi bubble sort mekanizmasına benziyor.Visual Studio'da breakpointler koyarak (mesala sayilar[j] = temp kısmına) algoritmanın işleyişini aşağıda görüldüğü gibi çok güzel takip edebilirsin.

     

    Rlan56W.png

  2. Bunları ayrı ayrı cmd ile yazarak yapmana gerek yok. Cmd de yapabileceğin her şeyi zaten autoit ile yapabilirsin. Cmd bi nevi komutları çalıştırmak için kullanılan arayüz oldu şimdilerde (senin de kullanımın o yönde). İllaki cmd kullanmak istiyorsan autoit kullanmana gerek yok, .bat ve .cmd dosyalarıyla işini halledebilirsin.Öğrenmek için : http://www.tnctr.com/topic/258935-cmd-scripting/

    İllaki autoit kullanacam ve kara ekran da olsun diyorsan : http://www.tnctr.com/topic/252171-konsol-uygulamasy-yapymy/

    Konusuna bakabilirsin. Fakat şu halde yaptıkların (bana sorarsan) gereksiz.

  3. Normalde altyazı dosyalarını da düzeltiyor olması lazım fakat kendisi de altyazı dosyaları bulup indirince düzeltmiyordu eğer başka bi hataysa incelemek gerek :) Onun dışında yıl olmadan da bulunabilir fakat isimlendirme kısmı için çok radikal değişiklikler yapmak gerek o da isimlendirme süresini gereksiz yere uzatacağı için yapmayı düşünmüyorum.Geri besleme için teşekkürler. :)

  4. MYgTZ0U.png

     

    http://www.tnctr.com/topic/215477-film-ysimlendirici-2013/   Konusundaki programın ikinci versiyonu.

     

    Ek olarak gelen özellikler;

    1. Saçma sapan hatalar vererek isimlendirmeme problemleri azaltıldı ve kodlar düzenlendi.Daha sonra eğitim amaçlı yayınlanacaktır.
    2. F5 tuşu ile seçenekleri güncelledikten sonra listedeki filmleri tekrar ekleyebilmek eklendi.
    3. Seçenek kısmı getirildi.En önemli olarak 6 dilde altyazı indirebilme seçeneği getirildi (Maviler altyazı, kırmızılar silinecekler).Daha fazlası için alttaki resime bakınız.

     

     

    OhHg3BA.png

     

    Bilinen problemler:

    1. Dosyaları istediğiniz gibi isimlendiremiyorsunuz.Program nasıl bulduysa öyle isimlendiriyor.
    2. Başka bi sürücü taşıma yapılamıyor.
    3. CD li filmlerde küçük problemler var.

    İndirme Linki:

    https://db.tt/s8Et41SD

    Program şimdilik TNC Severler için özel olarak paylaşılmıştır.Diğer kullanıcılara sonra açılacaktır.

  5. Çünkü _DeleteItem fonksiyonundaki IniDelete fonksiyonu "müsteri.ini" yi silmeye çalışıyor senin inin ise $INI_FILE değişkeninde.

     

    IniDelete("müsteri.ini", "Musteri_" & $BLUE_ARRAY[$i][1])

     

    yerine

     

    IniDelete($INI_FILE, "Musteri_" & $BLUE_ARRAY[$i][1]) 

     

    yazarsan sorunun çözülür.

  6. Verdiğim kod zaten bu işe yarıyor. "str" değişkeninin içeriğinde "alt tireli isim" olduğunu varsaydım.Kodunu ona göre düzenlemen gerekiyor.

     

    Edit: find_last_of metodu verdiğin parametreden bulunan son char ın poziyonunu verir.Parametre olarak "_" verdik, metod bize string içinde o değerin son bulunduğu yeri verecek.Buda soyisimden önceki "_" oluyor.Bulunan poziyona göre substr ile ayırma işlemi yapıyorsun.Acaba yazdığım şeyi hiç denedin mi?

     

    Edit2: 

    #include <string>
    #include <iostream>
    
    using namespace std;
    
    int main(){
    	string tnctr = "Mehmet_Ali_Yılmaz";
    	unsigned found = tnctr.find_last_of('_');   //str şu anki stringin
    	cout << "isim kısmı: " << tnctr.substr(0,found) << endl;
    	cout << "soy isim  : " << tnctr.substr(found+1) << endl;
    	return 0;
    }
    

    Çalışan örnek de ekledim.

  7. Herhangi bi kod parçası vermediğin için aşağıdaki örneği tamamen farazi yazdım, kendine göre düzenlersin;

     unsigned found = str.find_last_of('_');   //str şu anki stringin
     cout << " isim kısmı: " << str.substr(0,found) << '\n';
     cout << " soy isim  : " << str.substr(found+1) << '\n';

    iki isimlilerde "_" silmen gerekebilir onun içinde replace metodunu kullanabilirsin.

  8. $pencere = WinWait("[CLASS:TfmAdaParsel]","")
    
    If _ClipBoard_Open($pencere) Then
    
    	; Show clipboard formats available
    	MemoWrite("Clipboard formats ..: " & _ClipBoard_CountFormats())
    
    	; Enumerate clipboard formats
    	Do
    		$iFormat = _ClipBoard_EnumFormats($iFormat)
    		If $iFormat <> 0 Then
    			$iCount += 1
    			MemoWrite("Clipboard format " & $iCount & " .: " & _ClipBoard_FormatStr($iFormat))
    		EndIf
    	Until $iFormat = 0
    
    	; Close the clipboard
    	_ClipBoard_Close()
    EndIf
    

    Şunu çalıştırır mısın abi?Bakalım sonuç olarak ne gelecek.Bir de önce kod için ControlSend de text yerine ^v yollar mısın bi de onu deneyelim.

  9. $pencere = WinWait("[CLASS:TfmAdaParsel]","")
    
    ControlSend($pencere, "", "TDBWPRichText1" , "^a");
    ControlSend($pencere, "", "TDBWPRichText1" , "^c");
    $icindekiyazi = ClipGet()
    $yeniyazi = StringReplace($icindekiyazi, "aradığın yazı", "değiştireceğin yazı");
    $icindekiyazi = ControlSend($pencere, "", "TDBWPRichText1", $yeniyazi);
    

    Fantezi bitmez :) Tek sorun kopyala yapıştır kısmını kullanıyor ne yazık ki.

  10. #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=c:\a\Form3.kxf
    $Form3 = GUICreate("Windows WIM Kurulum Menüsü", 445, 203, 465, 263)
    $List1 = GUICtrlCreateList("", 32, 40, 225, 84)
    $Button1 = GUICtrlCreateButton("Kuruluma Başla", 8, 160, 417, 25)
    $List2 = GUICtrlCreateList("", 328, 40, 73, 84)
    $Group1 = GUICtrlCreateGroup("İşletim Sistemleri Menüsü", 16, 16, 257, 129)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Kurulacak Sürücü", 296, 16, 129, 129)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    GuiCtrlSetData($List1, "Windows XP Professional SP3 x86|Windows 7 Ultimate SP1 x86|Windows 7 Ultimate SP1 x64|Windows 8.1 Professional x86|Windows 8.1 Professional x64", "Windows 7 Ultimate SP1 x64")
    GuiCtrlSetData($List2, "Surucu C:|Surucu D:|Surucu E:|Surucu F:|Surucu G:|Surucu H:", "Surucu C:")
    Global const $GEN_PARAM = "/ref winkur.wimm /apply winkur.wim "
    Global $yerel_param;
    While 1
    $nMsg = GUIGetMsg()
    	Switch $nMsg
    	Case $GUI_EVENT_CLOSE
    		Exit
    	Case $Button1
    		Switch GUICtrlRead($List1)
    			Case "Windows XP Professional SP3 x86"
    				$yerel_param = "5"
    			Case "Windows 7 Ultimate SP1 x86"
    				$yerel_param = "1"    ;böyle gider
    		EndSwitch
    	
    	$yerel_param &= StringRight(GUICtrlRead($List2),2);
    	ShellExecuteWait(@ScriptDir&"\imagex.exe", $GEN_PARAM & $yerel_param);
    	
    	EndSwitch
    WEnd
    

    windows xp için her zaman 5 gibi sabit olmuyor diyorsun ama sabitlik yada bir şeye göre değişkenlik olmazsa bu programı yapamazsın.Şimdilik ben böyle bi örnek gösterdim fakat şöyle de yapılabilir; bi ini dosyasına winxpnin değeri bu bilmem neyin değeri bu diye girdilerini koyarsın program ordan okur.Demek istediğim birinci için 5 sabit değilse  ya onun elinle gireceksin ya program bi yerden okuyacak ya da sürekli programın kaynak kodunu değiştireceksin ki bu saçma olur :)

    • Like 1
  11. _GUICtrlRichEdit_ReplaceText($edinme, "testttt")     richtext'teki texti değiştirmek için kullanılır doğru ama kendi programın içinde bulunan richtext için :D Orda bi yanlışlık olmuş.

     

    $pencere = WinWait("[CLASS:TfmAdaParsel]","")
    $icindekiyazi = ControlGetText($pencere, "", "TDBWPRichText1") ;
    $yeniyazi = StringReplace($icindekiyazi, "aradığın yazı", "değiştireceğin yazı");
    $icindekiyazi = ControlSetText($pencere, "", "TDBWPRichText1", $yeniyazi);
     
    ;ControlSend ile oluyorsa onla yeniden düzenlersin :)
    
    
  12. Bi sistem için bi tane örnek verebilirsen yardımcı olabilirim şöyle ki;

    Windows Xp ve sürücü c seçildiğinde imagex.exe hangi parametre ile çalışacak?Aynı şekilde sürücü H: seçildiğinde?Bu kombinasyonların arasında bi bağlantı olmalı :)

×
×
  • Create New...