hocam mesajınızı yeni gördüm sanırım numpy'e gerek kalmadan hallettim gibi. |
bu windows api'siyle alakalı. GetAsyncKeyState Short türünde veri döndürüyor (16 bit). 2^15 = 32768 tuşa bastığınızda MSB (most significant bit) ayarlanınca da dönen sayı negatif olmuş oluyor. şurada açıklanmış: http://msdn.microsoft.com/en-us/library/windows/desktop/ms646293(v=vs.85).aspx |
hocam çok sağol oturdu gibi şimdi. ama benim sorularım bitmiyor :P şimdi ben örneğin bir oyunda bi tuşa basılmış gibi yapmayı istiyorum. mesela ben J'ye basınca actif olan pencerede enter+s+s+enter yapıcak. böylece mesela lolde chate ss yazmış olucak. keybd_event la denedim fakat olmadı. ama şöyle birşey var. mesela oyunda kendim enter'a basıp ss yazması için kod yazarsam bu sefer ss yazıyor. ama enter'a basma olayı olmuyor. neden olabilir? directxle bir alakası var mıdır? bu arada sizi de yorduysam affola :) |
ben de öğreniyorum bazı şeyler :) şöyle bir şey denedin mi?
yukarıdaki kod pek verimli değil, cpuyu boşa kullanıyor. pyhook modülünü incele derim. http://sourceforge.net/apps/mediawiki/pyhook/index.php?title=Main_Page |
Dediğiniz kod çalıştı. Peki örneğin G'ye basılmasını nasıl gönderebilirim? direk "g" yazdım düz mantık olmadı :( pyhook'u tam kuruyodum, py3 versiyonu yokmuş maalesef:( |
Büyük harf olması lazım. klavyedeki diğer tuşların kodu için: http://delphi.about.com/od/objectpascalide/l/blvkc.htm pyhook python 3.x için şurada var: http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook |
peki sizce şöyle bişey yapsam performans kaybı çok olur mu? Programın büyük çoğunluğunu pythonda yaptım. Sadece bu tuşa basma kısmı kaldı. Bu kısmı c++'ta kodlayıp python'da gerektiği yerde çağırsam? |
daha pratik bir çözüm olarak time.sleep çok düşük bir değerle kullanabilirsin while True döngüsü içinde. kontrol ettiğimde işlemciyi fazla yormadığını farkettim.
|
hocam ilginiz için teşkkürler :) fakat sanırım oyuna "komut" verme olayıyla ilgili daha farklı bir yol izlemem lazım. Ne yaptıysam komut veremedim. Yani Örneğin shell.SendKeys("W") yazıyorum. Normalde text alanında denediğimde W karakteri yazılıyor alana fakat oyunda denediğimde hiç bir etkisi olmuyor :/ Ama örneğin enter için "~" yada alt+f4 için %{F4} yaptığımda işliyor anlamadım neden :/ |
hocam oyunlara göndermeyi buldum :) Scan Code diye bi olayla çalışıyormuş snaırım directx'de. http://www.gamespp.com/directx/directInputKeyboardScanCodes.html şurdan scan codelara bakıp win32api.keybd_event(ord('G'), 0x22) (0x22 G'nin scan codeu) bu tarz yazınca oyunda da işliyor. @DocZ |
http://twistedmatrix.com/trac/wiki/Documentation |
Selam ben sorayim def kokAl(sayi, derece=2): kokAl islevindeki, kok degiskeninde tanimli olan sayi**(1/derece) isleminde tek bolu isareti ile cikan sonuc: 5.477225575051661 peki cift bolu isaretinde 1 cikiyor. Bunun sebebi nedir? kokAl islevinin programdaki kullanimi kokAl(30) programin geneli: https://gist.github.com/agoren/6243145 ozel bi sey degil deneme yaparken sasirdim sadece. |
Çift bölü işareti kullanıldığında size Python sadece bölüm kısmının tam sayı kısmını döndürür, buradaki referanstan da bakabilirsiniz.http://www.tutorialspoint.com/python/python_basic_operators.htm Programınızda bunun etkilediği nokta ise şu; derece geçmediğinizi varsayarsak, fonksiyon karekök alma işlemini uygulasın. 1//2 işlemi bize 1/2 işleminin sonucu 0,5 olduğu için, 0 döndürecektir. Herhangi bir sayının 0ncı üssü de 1'e eşit olduğundan, fonksiyon sonucu 1 olacaktır. :) |
Teşekkür ederim. Burada olayı tetikleyen şey python ama değil mi? çift ve tek bölü işareti her dilde yok mesela :) |
Aynen öyle. Benzer bir olay VB/VB.NET üzerinde \ ile var. Örneğin; 1 \ 2 işlemini geçtiğimizde, bize gene 0 geliyor. |
bu dilin bir özelliği. tek bölü işareti klasik ondalıklı bölme işlemi yapıyorken (operator.div) çift bölü işareti ondalık kısmı hesaba katmıyor (operator.floordiv). Python 2.x de ise tek bölü işareti Python 3.x deki çift bölümü işareti gibi davranıyor. bölen float'a çevrilebilir ya da şöyle yapılabilir: from __future__ import division # 2.x de bu satırı devre dışı bırakırsanız sonuç 0 olur. print 4/6 >>> 0.666666666667 |
zamanmı alır ![]() ilk python programımhttp://www.inndir.com/YVI-Sociisoft-50138p.html#.UhZwX6x_X-B 3 saat sürdü. kütüphane araştırtırıp, youtube url'lerini decode yapmak zaman aldı ![]() |
şurayı incele: http://www.istihza.com/forum/viewforum.php?f=41 |
Cok fazla nedeni var aslinda C ve C++'a gore :) Bu demek degildir ki C ve C++ berbat kotu vs. :) Ama D dilini gelistirilenler, C ve C++ dilinin un salmis kisileri :) Ayrica bu dilde C kutuphaneleri de kullaniliyor :) Ve yine ayrica C ya da C++ ile bazi kutuphaneler Windows ve Linux ortaminda ayriliyorlar.. D dilinde birazdan atacagim gorseldeki programin kodlarini ister Linux, ister windows, ister OsX ile kullanayim derlemede sorun yaratmiyor. C'de hello world ve kullanicidan veri almak icin bile linux ayri windows ayri kutuphaneler kullaniriz. Neredeyse her kutuphane ortak :) Tabii ki windows, linux ve osx, unix, bsd icin de kutuphaneleri var. Ornegin kalkip windows ise windowsta linux'u kullanmayi bekleyemeyiz :) Ayrica bellek yonetimi olayi bunda da var. Makina ile iletisim var, inline assembler olayi da var http://dlang.org/iasm.html buradaki kod ornegi D dilinden verilmis mesela http://en.wikipedia.org/wiki/Inline_assembler C ve C++ ile yapabildiginiz her seyi bu dille yapabilirsiniz. Embbedded Linux projem var benim VYS bittikten sonra. :) Yani isletim sistemi yazilabilecek bir dil. Bunu sadece ben soylemedim. Pardus'ta 5 yilini geciren bir tanidik da soyledi :) Isim vermek sorun olur mu bilmiyorum ama kendisi VLC Player'in programci takiminda Ama yine de bir kaynak vereyim:https://github.com/xomboverlord/xomb => Kernel yazilmis D ile :) Dilin kaynak kodlarina buradan bakabilirsiniz:https://github.com/D-Programming-Language Asagidaki ornek programda mesela D dili ile sifreleme sistemi gelistirdim, gelistirmeye devam ediyorum :) Tek tipli bi sistem geri donusu olmayan. Veri iletisiminde kullanilabilir. Bu gorselde 64 karakter cikti veren sistem var ama ben 64, 128, 256, 512, 1024, 2048 olarak dusunuyorum da 512'den sonrasinda matematik konusunda bilgim de yetmiyor artik. Dusunun her girdi degeri icin benzersiz bir deger uretilecek. Normalde hafizadan silinebilir bu degerler. Ama isin matematigi burada devreye giriyor. < Resime gitmek için tıklayın > Ben kendime ait bi ilişkisel veritabani yonetim sistemi yaziyorum ayriyetten ornegin MySQL de bi İlişkisel VYS'dir. akliniza gelebilir bu manada dedim ki zaten biliyorsunuzdur. Verileri goruntuleyici masaustu arayuzlu bi program da yaziyordum. Ama en hosuma giden dil Python oldu PyQt ile :) Linux altinda onu kullanacagim. Python sqlite ile cok iyi de benim kendi sistemimden verileri cekerken ben 2,5 milyonluk kayıt denedim çok zorlanıyor. VYS'nin kendi interpreter'ı ile 2,5 milyonluk string veriyi, python'a gore daha hizli cekiyor yaklasik 4.6 dakika kadar hiz farki var :) ben de işte performansı isteyen bölümleri kendi dll'imden çağırmak istiyorum. bir nevi PyPy biliyorsunuzdur kimi yerlerde C++'ı vs. gecebiliyor hiz konusunda. Neden D dilini kullaniyorum, Neden C ya da C++ degil sorusuna gelecek olursak soz dizimi cok rahat digerlerine gore.. Oyle header file dosyalariyla saatlerce ugrasmak yok. Yok onu oraya kopyala, yok onu sisteme kaydet vs. istedigimi bir module ekleyerek hemen isimi hallediyorum :) Peki masaustu goruntuleyicisi olarak neden Python? Herseyin basinda programlamayi ilk bu dille sevmistim onsuz olmaz diye dusundum :p Ayrica bu isler icin de en uygun olani o degil mi? Yabana atilacak, kotumsenecek bir dil degil bence. Neyse kafanizi sisirmeyeyim tesekkur ederim :) O zaman import DModulumDLLimBenim DModulumDLLimBenim.verileriGoster() |
https://github.com/python-imaging/Pillow/blob/master/Tests/test_numpy.py
< Bu mesaj bu kişi tarafından değiştirildi DocZ -- 26 Temmuz 2013; 0:13:23 >
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesajda bahsedilenler: @GhilleintheMist