Jump to content

mustafavanli

Üye
  • Posts

    12
  • Joined

  • Last visited

Profile Information

  • Male

Recent Profile Visitors

358 profile views

mustafavanli's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. Öncelikle mobilden yazdığım için örnek kodları ancak fotoğraflarla verebileceğim kusura bakmayın. Program bir çeşit otomatik program kurucu bitince kaynak kodları ile birlikte burada yayınlacağım. Ayrıca bu konu altına sizce otomatik program kurucuda hangi özellikler olmalı? Sorusunu Cevaplarsanız sevinirim. Son olarak tasarım konusunda kendine ve zevkine güvenen arkaşlar bana özelden mesaj atabilirler. Sorunumu ukısaca anlatmak gerekirse datagrid içine checkbox ekledim ve onlar kontrol edildiğinde geri bildirim almak hangi Satır için seçildiğini öğrenmek istiyorum. Yabancı forumlarda araştırma falan yaptım ama maalesef isime yarar bir şey bulamadım. .Net 4.0 için çalışıyorum. Datagride bir acess dosyasından bağlanıyorum. Checkbox ekleme yöntemim:
  2. Bir kaç gün önce kodlarla tekrar ilgilenirken fark ettim ama konuya yazmamıştım. Konunun altında durması aynı sorunları yaşayacak arkadaşlar için iyi olabilir. Teşekkür ederim.
  3. Ufak bir sorunum daha var yeni konu açmak istemedim.Eğer bu pencere aktifse demek için hangi if kodunu kullanabilirim. Bildiğim kadarı ile WinWaitActive kodu bunu desteklemiyor. Önerilerinizi bekliyorum...
  4. Teşekkür ederim, while döngüsünü aşağıdaki haline getirdim lag yok oldu ve artık pencere fare imlecinin yanına taşınmıyor. Döngüdeki $a değişkeni "true-false" dışında değer almıyor. Bu da döngüyü sadece gerektiği zaman çalıştırıp diğer zamanlarda çalıştırmıyor.
  5. Merhabalar, autoit ile program yazmaya yeni başladım ve bir şeyler yazdım fakat yazdığım programın daha stabil çalışmasını istiyorum. Stabilden kastımı tek tek anlatacağım. Ama ondan önce kodu ve ne işe yaradığını bilmeniz lazım. Bir arkadaşım benden metin 2 de hızlı ch atmak için bir program yazmamı ve bunun ban sebebi olmadan olmasını istedi bende yolu aşağıdaki kodlarda buldum ama ufak tefek sorunlar var(aslında onun için onun beklediğinden de iyi çalışıyor ama ben daha iyisini istiyorum). Önce kodlar;   [spoiler]#Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_UseX64=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include #include #include #include #include #include Opt("GUIOnEventMode", 1) Opt("MustDeclareVars", 0) $mpos = MouseGetPos() #Region ### START Koda GUI section ### Form= $Form1= GUICreate("Metin2 CH ATICI", 335, 71, $mpos[0], $mpos[1]) GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close") GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1Minimize") GUISetOnEvent($GUI_EVENT_MAXIMIZE, "Form1Maximize") GUISetOnEvent($GUI_EVENT_RESTORE, "Form1Restore") $Button3 = GUICtrlCreateButton("CH4", 8, 40, 75, 25) GUICtrlSetOnEvent($Button3, "Button4Click") $Button4 = GUICtrlCreateButton("CH2", 88, 8, 75, 25) GUICtrlSetOnEvent($Button4, "Button2Click") $Button5 = GUICtrlCreateButton("CH3", 168, 8, 75, 25) GUICtrlSetOnEvent($Button5, "Button3Click") $Button6 = GUICtrlCreateButton("CH6", 168, 40, 75, 25) GUICtrlSetOnEvent($Button6, "Button6Click") $Button1 = GUICtrlCreateButton("CH5", 88, 40, 75, 25) GUICtrlSetOnEvent($Button1, "ch5Click") $Button2 = GUICtrlCreateButton("CH1", 8, 8, 75, 25) GUICtrlSetOnEvent($Button2, "ch1Click") GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### $serveradiiii="Reklam olmasın :)" $serverx = 840 $servery = 640 $chx = 1074 $ch1y= 620 $ch2y= 635 $ch3y= 650 $ch4y= 665 $ch5y= 690 $ch6y=705 $idee= "bosver id yi" $pwee= "id yoksa zaten önemli değil" $tmmtusuy=932 Func clientkontrol() WinWait($serveradiiii) Sleep(250) WinActivate($serveradiiii) Sleep(250) WinWaitActive($serveradiiii) Sleep(250) BlockInput(1) EndFunc While 1 $winpos = WinGetPos($Form1) $ssss = PixelGetColor(1877, 956) if $ssss = "0" Then $mpos1 = MouseGetPos() WinActivate($Form1) if $mpos1[0] > $winpos[0]+335 Or $mpos1[0] < $winpos[0] Then WinMove($Form1,"",$mpos1[0],$mpos1[1]) EndIf EndIf Sleep(500) WEnd Func IDPW() Send($idee) Send("{TAB}") Send($pwee) Sleep(250) Send("{ENTER}") BlockInput(0) EndFunc Func ch1Click() clientkontrol() MouseClick("left",$serverx,$servery,2,0) Sleep(250) MouseClick("left",$chx,$ch1y,2,0) Sleep(250) MouseClick("left",$chx,$tmmtusuy,1,0) Sleep(250) IDPW() EndFunc Func Button2Click() clientkontrol() MouseClick("left",$serverx,$servery,2,0) Sleep(250) MouseClick("left",$chx,$ch2y,2,0) Sleep(250) MouseClick("left",$chx,$tmmtusuy,2,0) Sleep(250) IDPW() EndFunc Func Button3Click() clientkontrol() MouseClick("left",$serverx,$servery,2,0) Sleep(250) MouseClick("left",$chx,$ch3y,2,0) Sleep(250) MouseClick("left",$chx,$tmmtusuy,2,0) Sleep(250) IDPW() EndFunc Func Button4Click() clientkontrol() MouseClick("left",$serverx,$servery,2,0) Sleep(250) MouseClick("left",$chx,$ch4y,2,0) Sleep(250) MouseClick("left",$chx,$tmmtusuy,2,0) Sleep(250) IDPW() EndFunc Func ch5Click() clientkontrol() MouseClick("left",$serverx,$servery,2,0) Sleep(250) MouseClick("left",$chx,$ch5y,2,0) Sleep(250) MouseClick("left",$chx,$tmmtusuy,1,0) Sleep(250) IDPW() EndFunc Func Button6Click() clientkontrol() MouseClick("left",$serverx,$servery,2,0) Sleep(250) MouseClick("left",$chx,$ch6y,2,0) Sleep(250) MouseClick("left",$chx,$tmmtusuy,2,0) Sleep(250) IDPW() EndFunc Func Form1Close() Exit EndFunc Func Form1Maximize() EndFunc Func Form1Minimize() EndFunc Func Form1Restore() EndFunc #EndRegion form1 kodları[/spoiler] Şimdi anlatmaya başlayayım. Koddan anladığınız üzere metin 2 giriş ekranına döndüğünde kendini ön plana çıkararak bir ch seçmemi istiyor ve seçene kadar kendini fare imlecinin yanına taşıyor. Bunu yaparken ise sanki ufaktan bir lag hissediyorum tuşlara basarken bunun nedenin aşağıdaki döngüden olduğunu düşünüp birazcık uyutmayı denedim ama olmadı maalesef :(.Ayrıca oradaki 2. "if" döngüsü fare imleci formun içinde değilse formu fare imlecine taşı demek için orada.(if döngüsünün şartlarında da sorun var galiba) Birincisi ise sadece giriş ekranında iken bu döngü gerçekleşsin diye orada. Bana biraz fazla acemi çözümü gibi(ayrıca iyi çalışmadığını hissettiriyor bana) geldi bu döngü, daha profesyonel ve daha stabil her türlü çözüm önerisi veya kod parçası burada geçerli. While 1 $winpos = WinGetPos($Form1) $ssss = PixelGetColor(1877, 956) if $ssss = "0" Then $mpos1 = MouseGetPos() WinActivate($Form1) if $mpos1[0] > $winpos[0]+335 Or $mpos1[0] < $winpos[0] Then WinMove($Form1,"",$mpos1[0],$mpos1[1]) EndIf EndIf Sleep(500) WEnd Bir diğeri ise butonlara bastıktan sonra bazen en son basması gereken sol tuşa basmıyor.Basmaması için hiç bir sebep göremedim. Ben bunu da çözemedim maalesef. Konuya bakan ve ilgilenen herkese sonsuz teşekkürler.
  6. Auto-Resize özelliği resimleri belirli bir boyuttan sonra auto-Resize yapamıyor, ve ben bir tür slayt hazırlamaya çalıştığım için malesef istedğim çözüm değil, teşekkür ederim
  7.   Objeler her boyuttaki ortamda o boyuta göre koordinatları tekrar ayarlansın, bir obje sağ alt köşede ise öle kalsın tam ekranda da. Yani tam erkan olsa da mevcut tasarım korunsun. Paragraflar ve labeller o boyutlara genişlik ve yükseklikleri ayarlansın falan, büyük bir kısmı var kodu incelersen ama resimleri taşımada sorun çıkarıyor. Gerekli noktaya taşımıyor. 
  8. Ams'yi mecburen kullanıyorum ve çok yeni bir kullanıcıyım. Linki Güncelliyorum. Resim için dediğiniz ayarları yaptım, Resim gereksiz derecede büyüyor. İstediğim çözüm değil malesef. Teşekkür ederim.
  9. Merhabalar,     Ams ile üniversite için tam ekran bir slayt hazırlamaktayım, Ams'nin tam ekran yapma özelliğini; [spoiler]]function CikisButonuEngelle(hWnd, bEnable) local nEnable=0 if bEnable then nEnable = 1 end local hMenu = DLL.CallFunction("user32.dll", "GetSystemMenu", hWnd..", 0", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL) if hMenu then DLL.CallFunction("user32.dll", "EnableMenuItem", hMenu..", 61536, "..nEnable, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL) DLL.CallFunction("user32.dll", "DrawMenuBar", hWnd, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL) end end function TamEkran(hWnd) local ekran = System.GetDisplayInfo(); Window.SetPos(hWnd, 0, 0); Window.SetSize(hWnd, ekran.Width, ekran.Height);[/spoiler] yukarıdaki kodla kullanıyorum, bu kodu da bu forumda şu an hatırlamadığım bir ismin projesinden aldım. Bu kodda sorun yok güzel bir şekilde çalışıyor. Kendisine çok teşekkür ederim.  Ben proje boyutlarını 790x545 şeklinde tanımladım(tam ekran çözünürlüğü 1366x768) Proje tam ekran yapılırken butonlar ve diğer nesneler taşınmıyor. Bu sorunu çözmek için ben ; [spoiler]function ObjKrdntyrl(objname,objetr) local ekran = System.GetDisplayInfo(); local btnnm = objetr.GetPos(objname); local objkrdntX = (ekran.Width*btnnm.X)/790; local objkrdntY = (ekran.Height*btnnm.Y)/545; objetr.SetPos(objname, objkrdntX, objkrdntY); end [/spoiler] yukarıdaki kodu kullanıyorum bunu tamamen kendim yazdım. Butonlar, labeller ve Paragraph için denedim ve güzel çalışıyor fakat iş resime gelince kod sapıtıyor ve resmi gerekli yere taşımıyor. Bu sorunu nasıl çözebilirim. Koddaki sorun ney ? Yada farklı bir çözüm yolu varmı ? Örnek proje olarak; http://www.mediafire.com/download/q3v25b202tj3c0d/tamekran.apz Şimdiden herkese çok teşekkür ederim.
  10. Teşekkür ederim inceleyeceğim.     Düzenleme:     Sorunumu yukarıdaki gibi halletmeye çalıştım , daha iyi çözüm bilen üstadlardan yardım istiyorum, ayrıca  belirttiğim gibi "while-wend döngüsünün send komutunu etkilemeden fakat sürekli döngüdeki işlemi  işlemi yapmasını nasıl sağlayabilirim ?"  İlgilenen herkese sonsuz teşekkürlerimi sunarım.
  11. Merhaba Tnctr ailesi bir süredir forumun programlama bölümünü takip ediyorum(misafir olarak) ve acemi olarak auto-it programlama yapmaya çalışıyorum. Sözü fazla uzatmadan sorunumu anlatmak istiyorum.(Konuma başlık bulmakta biraz zorlandım.Başlık saçma ise mazur görülmesini rica ediyorum. ) Bir programımda aktif bulunan pencerenin kullanıcı tarafından kapatıldığı yada simge durumuna indirildiği durumda kodların belirli bir yere geri dönüp baştan başlamasını istiyorum ben biraz denedim ama beceremedim.   Run("notepad.exe") WinWait("Adsız - Not Defteri") WinActivate("Adsız - Not Defteri") WinWaitActive("Adsız - Not Defteri") Sleep(100) Send("a") ;harflerin yazılması esnasında program aşa inerse not defteri kapatılıp baştan açılacak ve ilk send komutundan baştan başlayacak ama bir türlü çıkamadım işin içinden Sleep(2000) Send("a") Sleep(2000) Send("a") Sleep(2000) Send("a") Sleep(2000) Send("a") While 1 ; bunu buraya koyduğumda bitmesini bekliyo en başa koyduğumda program açılmıyor, arala konduğunda ise döngüyü durduruyor WinWaitNotActive("Adsız - Not Defteri") ProcessClose("notepad.exe") Sleep(100) Exit WEnd                    
×
×
  • Create New...