Translate Blog

24 Aralık 2012 Pazartesi

Flash AS3 Tarayıcı Resize Tespiti - As3 Flash Browser Resize


Tam sayfa veya tam ekran flash kullanıyorsanız kullanıcılar farklı çözünürlükte bilgisayarlarda sayfanızı açacağı için veya kendi isteklerine göre tarayıcıyı büyültüp küçültebilecekleri için içindeki nesnelerinizin tam sayfa olma özelliği değişmesi gerekir.

Aşağıdaki kod tarayıcının resize yani boyutunun değştirildiği anı tespit ediyor. Function kısmında istediğiniz nesnenin genişliği yüksekliği hatta koordinatlarını değiştirerek tasarımınızı düzenleyebilirsiniz.

stage.addEventListener(Event.RESIZE, resizeHandler);
function resizeHandler(event:Event):void {
 klip.klip.klip.height = stage.stageHeight;
 klip.klip.klip.width = stage.stageWidth;
 arkaplan.width = stage.stageWidth;
 arkaplan.height = stage.stageHeight;
}

AS3 Full Browser Flash - Tam Sayfa Flash

Tarayıcının içinde tam sığan bir flash için aşağıdaki kodları yazın.
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

Ardından özellikler penceresndeki Edit butonuna basarak Publish ayarlarına girin ve resimdeki ayarları işaretleyin.

Sahnenizde artık birşeyin tam sayfaya yayılmasını istiyorsanız ki ben burda arkaplan isimli bir movieclip'in tam sayfa olmasını istediğim için x ve y koordinatlarını 0 ladım, ardından genişlik ve yüksekliğini sahne boyutlarına eşitleyerek ekranı tam olarak kaplamasını da sağlamış olursunuz.

arkaplan.x=0;
arkaplan.y=0;

arkaplan.width = stage.stageWidth;
arkaplan.height = stage.stageHeight;

23 Aralık 2012 Pazar

Html Taglarının Özellikleri Erişin - getAttribute

Web sayfanızda bulunan id'li tagların içine yazdığınız özelliklere nasıl erişirsiniz? Title, Alt, Src gibi özellikleri javascript ile nasıl alınır? Hemen örneği verelim;
img border="0" title="Başlık" alt="2. Kategori Resmi" src="kategori2_1.jpg" width="96" height="33"
<script>
function goster(){
 var adres = document.getElementById('res1').getAttribute('src');
 var baslik = document.getElementById('res1').getAttribute('alt');
 var bilgi = document.getElementById('res1').getAttribute('title');
 alert(adres+"\n"+baslik+"\n"+bilgi);
}
</script>
<img id="res1" src="http://www.blogger.com/img/blogger-logo-small.png" alt="Blogger Logosu" title="Bloger Adresi grafanimasyon.blogger.com"/>
<a onclick="goster()">Özelliklere Eriş</a>
Yukardaki resmin içine yazmış olduğunuz title alanını nasıl görebilirsiniz?

Blogger Logosu
Özelliklere Eriş

Yukarıdaki kodu deneyebilirsiniz. id ile isimlendirdiğiniz tagın bilgilerini getAttribute komutu ile alabilirsiniz.document.getElementById('res1').getAttribute('alt') gibi.

12 Aralık 2012 Çarşamba

Web Fontu Css Kodları (Google Web Fonts)

Web sayfanızın fontlarının standart fontlardan farklı olmasını mı istiyorsunuz?
Tahoma verdana kullanmaktan sıkıldınız mı?

http://www.google.com/webfonts

Adresinde yüzlerce font arasından beğendiğinizi kopyala yapıştır yoluyla web sitenize uygulayabilirsiniz.

Örnek verelim şu fontu sayfamda kullanmak istiyorum: http://www.google.com/webfonts/specimen/Sacramento
Fontun altındaki Quick Use butonuna tıklayın,

Açılan sayfada size birkaç çeşit font versiyonu sunabilirler, istediğinizi seçin,
Hemen aşağıdaki Add This Code To Your Website başlığı latındaki css yükleme kodunu sayfanıza kopyalayın. <head></head> Tagları arasına yapıştırın.

Sayfada hangi css de kullanmak istiyorsanız, bu css yükleme kodunun altında bulunan 4. adımdaki css kodunu kopyalayıp (font-family: 'Sacramento', cursive;) kendi cssniz arasına yapıştırın.
body{ font-family: ‘Metrophobic’, Arial, serif; font-weight: 400; }

gibi.

Kolay gelsin.

27 Kasım 2012 Salı

Bedava Autodesk ve Microsoft Ürünleri

Ücretsiz Microsoft Visual Studio 2012 indirebilirsiniz.
Ücretsiz Autocad 2012 indirebilirsiniz.
Ücretsiz 3DS Max 2012 İndirebilirsiniz.

HEMDE BEDAVA!!! Tabi bir eğitim kurumunda öğrenci veya öğretmenseniz ;)



Eğer üniversitede öğrenci veya öğretmenseniz, edu uzantılı espotanız var ise Microsofttan bedava ürünleri indirebilirsiniz.
https://www.dreamspark.com/Student/Default.aspx
Kayıt olurken edu uzantılı eposta adresinizle kayıt olun.


Eğer bir öğrenci iseniz yine Autodesk ürünlerini bedava kullanabilirsiniz. Sadece kayıt olun ve okul bilgilerinizi girin. Üniversite öğrencisi olmak zorunda değilsiniz!!!
http://students.autodesk.com/

3 Kasım 2012 Cumartesi

Php Türkçe Karakter, Session veya Header Hataları Çözümü

Birçok kişi web sitesi yaparken karakterlerinde sorun yaşıyor, ben de senelerdir bu işin içindeyim bir türlü ders alıp da sağlam bir yol tutturamamışım demek ki ki  bu yazıyı yazmak zorunda kaldım.

Konumuz web sayfalarında ekrana gelen session_start veya Header Already Send gibi hataların nedenleri. Öncelikle şu bilgiyi vereyim Header ile yönlendirme yapıyorsanız sayfanızda header dan önce herhangi bir yazı olmamalı. Herşeyi düzgün yaptınız ama anlamadığınız bir şekilde hala bir hata var.

Evet anlaşılmaz bir şekilde sayfanızın alakasız satırlarında hata veriyor değil mi?
Bunun nedeni sayfanızın karakter kodlamasındaki hata. UTF8 kullanılır genelde, veritabanınız da utf 8dir. mysql bağlantınızıda utf8 yapmışınızdır. Hatanın nedeni ise BOM denilen bir karakter yapısından kaynaklanıyor. Dreamweaver kullananlar için resimde gördüğünüz kutucuğu seçmiş olabilirsiniz, onu kaldırın. Böylelikle sizin gözle göremediğiniz ama kodlarınızın arasına, mesela <?php kodunun arasına yerleşen boşluk karakterini ortadan kaldırmış olacaksınız.

Bomu neden seçmiş olabilirsiniz, Türkçe karakterde sorun yaşıyorsunuz diye değiştirmiş olabilirsiniz. Yapmayın. Bazen Türkçe karakter sorunun çözmek kodlarınızı kopyalayıp yeni boş bir belgeye kaydederek çözülebilir.

Sayfanızda ez_sql kullanıyor olabilirsiniz. Türkçe karakter sorunu yaşamanız çok yüksek, mysql bağlantısı yaptığınız belgede bağlantı kodunuzun altına $db->query("SET NAMES 'utf8'"); ekleyin. Belgelerinizi ve veritabanınızın dilini her zaman UTF8 olarak kullanın. Bir sorun yaşamazsınız. Yaşarsanız belgenizin içini kopyalayın yeni belge açıp yapıştırıp UTF8 olarak kaydedin ;)

Tecrübe ile sabittir. Bom konusunda engin bilgisini paylaşan Adil YILDIZ dostuma teşekkürler. Bom hakkında daha detaylı bilgiyi buradan alabilirsiniz.




27 Ekim 2012 Cumartesi

C# ile Bilgisayar Uyku Modu Tespiti (Idle Time)

Birçok yerde aradım, bulamadım. Siz arayıp da bulamazsınız diye buraya koyuyorum ;) Bir kaç yöntem vardı aslında ama sanırım en basiti bu yöntem olsa gerek. Şu linkte bulunan kardeşler bizim için bir class hazırlamışlar. Bize de çöreklenmek düşer.

Bir uygulama hazırlıyorsunuz ve uygulamanız bilgisayar kullanılmadığı anı tespit etmesi gerekiyor, paylaşacağım örnekte ise bilgisayarın kullanılmadığı, farenin klavyenin basılmadığı süreleri sayıyor.

Aşağıdaki örnekte bir textbox var, timer var, listbox var. Using kısmına fazladan
using System.Runtime.InteropServices;
eklenmiş. Formunuza eklediyseniz aşağıdaki kodu olduğu gibi C# form koduna yapıştırın. Çalıştırdığınız zaman fare veya klavyeye dokunduğunuzda aşağı sayan sayılar tekrar sıfırlandığını göreceksiniz.

Class içinde bulunan Win32.GetIdleTime() ile o anki durumu alabiliyoruz, yani "bilgisayar boşta" durumunun süresini elde edebiliyoruz. Bir if ile rahatlıkla bu sınırı kendiniz belirleyebilirsiniz. Aşağıdaki örnekte bilgisayarın kullanılmadığı yaklaşık 1dk lık (60000) süre dolunca textbox'a Uyku modeu diye yazıyor.

Peki bu kodu nasıl kullanabilirsiniz, bilgisayarın uyku modunu siz ayarlayacaksınız, diyelim 10dk. Programınızda da bu süreyi belirteceksiniz, 10dk kadarlık süre geçtiyse ki bu yaklaşık 1014*60sn*10dk yaklaşık 600000 sayısı eder. bu sayıyı geçtiyse bilgisayar uyku moduna girmiştir yahu, kullanıcıyı uyarayım artık dedirtebilirsiniz.

Ben bunu nerede kullanacam ne işime yarayacak ki demeyin, bilgisayarlara kullanıcı girişi hazırlıyorsanız mysql ile kullanıcı kontrol girişli, ve adam çıkış yapmadan bilgisayardan kalktıysa boşta kalmasın pc, kullanıcı hesabını kapatsın diye yapabilirsiniz mesela. Eğer kodunu biliyorsanız belirlediğiniz sürede bilgisayarı kapatabilir, uykuya da alabilirsiniz.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
//using Microsoft.Win32;
namespace uykuModu
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
       

private void timer1_Tick(object sender, EventArgs e)
        {
            listBox1.Items.Add(Win32.GetIdleTime().ToString());
            if (Win32.GetIdleTime() > 60000)
            {
                textBox1.Text = "UYKU MODUNA GEÇ";
            }
        }
    }


   // KLAVYE FARE HAREKETLERİ TESPİTİ
    internal struct LASTINPUTINFO
    {
        public uint cbSize;
        public uint dwTime;
    }
    public class Win32
    {
        [DllImport("User32.dll")]
        public static extern bool LockWorkStation();
        [DllImport("User32.dll")]
        private static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);
        [DllImport("Kernel32.dll")]
        private static extern uint GetLastError();
        public static uint GetIdleTime()
        {
            LASTINPUTINFO lastInPut = new LASTINPUTINFO();
            lastInPut.cbSize = (uint)System.Runtime.InteropServices.Marshal.SizeOf(lastInPut);
            GetLastInputInfo(ref lastInPut);
            return ((uint)Environment.TickCount - lastInPut.dwTime);
        }
        public static long GetTickCount()
        {
            return Environment.TickCount;
        }
        public static long GetLastInputTime()
        {
            LASTINPUTINFO lastInPut = new LASTINPUTINFO();
            lastInPut.cbSize = (uint)System.Runtime.InteropServices.Marshal.SizeOf(lastInPut);
            if (!GetLastInputInfo(ref lastInPut))
            {
                throw new Exception(GetLastError().ToString());
            }
            return lastInPut.dwTime;
        }
    }
}

23 Ekim 2012 Salı

C# ile Firefoxtan Adresleri Almak / How to Capture Urls From Firefox


[ENG]
Maybe this code can help to obtain Firefox url adress; I use this code to capture uniq adresses from firefox and add to listbox. You can use this with safari too.
You must add NDde.dll to your project, To do this go to solution explorer rigth clik to References-> add Reference->Browse-> find that DLL (http://ndde.codeplex.com/ from binary folder.))

[TR]
Aşağıdaki kod C# kullanarak Firefox tarayıcısında girilen sayfaları listboxa ekler. Bunu timer aracılığı ile her 5sn de bir kontrol ederek yapıyor.
Kodları çalışması için NDde.dll isimli kütüphaneyi referanslarınıza eklemeniz lazım. http://ndde.codeplex.com/ adresinden kütüphaneyi indirin. Binary klasöründe Dll dosyasını bulacaksınız. C Sharp projenize gelin, Solution Explorer->References->Sağ Klik->Add Reference->Browse-> DLL dosyasını seçin ve ekleyin.
Sahnede 1 buton, 1 listbox ve 1 timer var.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using NDde.Client;

namespace WindowsFormsApplication9
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
        }

        private string GetBrowserURL(string browser)
        {
            try
            {
                DdeClient dde = new DdeClient(browser, "WWW_GetWindowInfo");
                dde.Connect();
                string url = dde.Request("URL", int.MaxValue);
                string[] text = url.Split(new string[] { "\",\"" }, StringSplitOptions.RemoveEmptyEntries);
                dde.Disconnect();
                return text[0].Substring(1);
            }
            catch
            {
                return null;
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            int j=0;
            for (int i = 0; i < listBox1.Items.Count; i++)
            {
                if (listBox1.Items[i].ToString() == GetBrowserURL("Firefox"))
                {
                    break;
                }
                else
                {
                    j++;
                }
            }
            if (j == listBox1.Items.Count)
            {
                listBox1.Items.Add(GetBrowserURL("Firefox"));
            }
        }
    }
}

20 Ekim 2012 Cumartesi

C# ve SWF Kullanımı

C# içinde flash swf dosyalarınızı nasıl oynatırsınız?
Aslında cevap basit, C# araç panelindeki Components sekmesinde bulunan Shockwave Flash Object'i sahnenize sürükleyin, ister özellikler panelinden isterseniz kod yazarak swf dosyanızın yolunu gösterip işlemi bitirebiliriniz.

Özellikler penceresinden yapacaksanız dosya yolunu tam yazmanız gerekmekte, ki bu biraz sıkıntılıdır.
Çünkü doğru çalışması için dosyanızın illa belirtilen yerde olması gerekir. Bunu daha mantıklı bir yoldan çözmek isterseniz dolaylı yol kullanmanız lazım. Bunun için de kod yazmak daha akıllıca olur.


Dikkat ederseniz kullanılacak swf dosyası projenizin debug klasöründe, yani exenizin bulunduğu klasörde bulunuyor. Bu sayede kurulum klasörünüzün içindeki swfleri kullanabiliyorsunuz.

Koda bakarsanız using System.IO; kodu eklenmiş. Bu kod exenizin bulunduğu yeri/dizini almanızı sağlıyor. Bu dizini otomatik olarak alıyor, peşine + ile "\\kare.swf" dosyamızı ekliyoruz. Normalde yol C:\filan\falan\debug\kare.swf olmalıdır. Ama burada backslash (\)  ifadesi önüne bir tane daha koyularak kullanılmalıdır.

Eğer swfleri bir klasöre atacaksanız
this.axShockwaveFlash1.Movie = path + "\\klasor\\kare.swf";
şeklinde yazılmalıdır.

28 Ağustos 2012 Salı

Sony Xperia Pro 4.1.B.587 Güncellemesi

Sony Xperia Pro, yeni Android için ilk güncellemesini yayınladı. Telefonun ilk güncellemesi yeni android sürümüydü. Fakat sürümdeki eksiklikler problem yaratıyordu, sim kart görmeme, kilitlenme gibi eski versiyonda olmayan hatalar meydana geliyordu. Hatta bazı modellerde sms uyarısı alamama dahi oluyormuş.

Bu 4.1.B.587 güncellemesi grafik işlemlerinde performans artışı, wireless ile alakalı bazı yeni eklentiler, bazı araçlarda hızlandırmalar ve birçok hatanın giderildiği söyleniyor göreceğiz.

Güncellemeyi Sony Pc Companion aracılığı ile yapabilirsiniz.

8 Ağustos 2012 Çarşamba

Excell Hücreleri Değiş Tokuş Yapma

Bugün böyle bir şey lazım oldu, tesadüf denk geldim,
Yer değiştirmek istediğiniz 2 hücreyi yer değiştirmek istiyorsunuz, bunun için  shift tuşuna basılı tutarak hücreyi taşıyabilirsiniz. Üzerine bıraktığınız hücre diğerinin  yerine geçecektir.
Kenarda dursun ;) lazım olur.

16 Mayıs 2012 Çarşamba

Flash AS3 ile XML Kullanımı

XML İLE MP3 ÇALMAK

Flash içinde birçok yaralı araç yapabilirsiniz. Kimileri basit kimileri karışık kimileri pratik ve gayet dinamiktir. Eğer AS3 kullanıyorsanız ve pratik bir uygulama yapmak istiyorsanız XML kullanmalı ve uygulamalarınızı ona göre kodlamalısınız. Tabi benim işim acele diyorsanız, 2 resimi ve mp3 dosyasını flashınızın kütüphanesine atıp bir iki basit yöntemle işinizi halledebilirsiniz. Bu fikre katılanlar sizinle işimiz buraya kadar, diğer arkadaşlar (daha pratik, daha profesyonel, daha dinamik, daha daha olanlar) okumaya devam edin.

Yapmak istediğimiz şey bir albüm bir müzik çalar, bir haber gösterici vs. Ama öyle yapmalıyız ki ikide bir flashı açıp içinde düzenleme yapmamıza gerek kalmamalı. Bu yüzden XML dosyalarını kullanarak müzik, resim, bilgi vs gibi verileri flashın içine yükleyebiliriz.

Kullanımı basit, yapmanız gereken tek şey kodu kopyalayıp yapıştırın.

XML MİMARİSİNİ ANLAMAK

kitap.xml dosyasının içinde mp3 parçalarına ait bilgiler var. Öncelikle <playlist> isminde ana bir dizin açılır. ve tüm alt öğeler bu iki tag içine yazılır.<playlist>...</playlist>

Her müzik dosyası için <track></track> taglarını kullanıyoruz. bu taglar türkçe karakter barındırmayan boşluğu olmayan metinler olabilirler. <ahmet></ahmet> <neayaksin></neayaksin> gibi.

Her track'in içinde de mp3 lere ait bilgiler var. Aşağıda gördüğünüz xml dosyasının içinde 3 adet müzik dosyası var. Ve içlerinde bu müzik dosyalarına ait albüm title band ve file bilgileri tutuluyor.


<playlist>
<track>
<album>Signs of Life</album>
<title>Carnival Of Rust</title>
<band>Poets of the Fall</band>
<file>Carnival_Of_Rust.mp3</file>
</track>
<track>
<album>Signs of Life</album>
<title>Late Goodbye</title>
<band>Poets of the Fall</band>
<file>Late_Goodbye.mp3</file>
</track>
<track>
<album>Signs of Life</album>
<title>Stay</title>
<band>Poets of the Fall</band>
<file>Stay.mp3</file>
</track>
</playlist>


Biraz sonra bu XML yapısını flash içine yükleyip mp3ler hakkında bilgileri ekrana yazdıracağız. Sizde 3 adet mp3 alın her bir track'in <file></file> tagları arasındaki dosya isimlerini kendi mp3lerinizin isimleri ile değiştirin. Flash belgenizi mp3lerin yanına kaydetmeyi unutmayın.
Eğer müzik dosyalarınız bir klasörün içinde ise mesela mp3 isimli bir klasörünüz var ve müzikler onun içinde o zaman xml dosyanızdaki <file> kısımlarına tam yollarını yazmanız gerekecektir mp3/Stay.mp3 gibi. Yazmazsanız debelenip durursunuz.

FLASH ACTIONSCRIPT 3.0 KODLAMA


Gelelim kod kısmına.
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(new URLRequest("kitap.xml"));
bu 2 satır kod xml dosyanızın flashınıza yüklenmesini sağlayacak. Böylece mp3lerle alakalı bilgileri flash içinden okuyabileceğiz ve o müziği çal diyebileceğiz.
İlk satır xmlLoader isminde bir yükleyici tanımlıyor. Ardından bu yükleyiciye load komutu ile yeni bir yükleme dosyası atanıyor. Ve yüklüyor.

Yükleme işlemi tamamlandığında (ki xml dosyanız belki çok büyüktür yüklenmesi zaman alabilir) içindeki bilgileri kullanmaya başlayabiliriz. Tamamlanmadan bir işlem yapmaya çalışırsak hata ile karşılaşırız bu yüzden  yükleme işlemleri için her zaman tamamlanıp tamamlanmadığını kontrol etmeliyiz.


xmlLoader.addEventListener(Event.COMPLETE, showXML);
function showXML(e:Event):void
{
//KODLAR
trace("yükleme tamamlandı");
}


Yukardaki kodu kullanarak xmlLoader ile yapılan yüklemenin COMPLETE yani tamamlandığının kontrolü yapılıyor. Ve tamamlandıysa showXML isimli fonksiyon çalıştırılacak. Ki bizde tamamlanma işleminden sonra mp3leri çalmayı düşünüyoruz. Yani kodları bu kısıma yani fonksiyonun içine yazacağız. Kodu yazıp çalıştırdığınızda output(F2) penceresine yükleme tamamlandı yazmalı.

Şimdi Sahnemizi oluşturalım;
Sahneye oynat ve Durdur butonu ve müziğin başlığını gösterecek bir dinamik text alanı yerleştirin. Butonların isimleri oynat ve durdur metin alanının ismi ise parca olsun. Kod yazacaksanız her nesneye isim vermelisiniz. (Metin alanının özelliklerinde AntiAlias kısmını açıp Use Device Font'u seçin. Bu mp3 player için gerekli bir ayar değil metin alanında kullanılan font ile alakalı bir işlemdir. Fontu standart bi font kullanacağız ondan onu seçin.) Kodumuzun eklemelerle son hali şu şekilde.


var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(new URLRequest("kitap.xml"));


xmlLoader.addEventListener(Event.COMPLETE, showXML);
function showXML(e:Event):void
{
XML.ignoreWhitespace = true;
var songs = new XML(e.target.data);
 //                     Signs of Life                             -      Locking Up The Sun
parca.text = songs.track[0].album.text() +" - "+songs.track[0].title.text();
}



Bi aksilik olmaması lazım. Eğer hatalarla karşılaşıyorsanız xml dosyanız ile fla dosyanızın aynı klasörde olduğuna dikkat edin.

Peki fonksiyonun içindeki kodlar nedir?
XML.ignoreWhitespace = true;
İle xml dosyanızın içie yazdığınız verilerin önünde ve sonunda boşluk varsa onları kaldırır.
var songs = new XML(e.target.data);
En önemli kısım burası, songs isminde bir değişken tanımlanıyor ve XML'den gelen veriler bu değişkene aktarılıyor. ve bu dğeişkeni kullanarak XML içinde bulunan alanlara ki bunlar trackler, titlelar, album ve file taglarıdır. Yanı bu alanlara artık erişebiliriz.
parca.text = songs.track[0].album.text() +" - "+songs.track[0].title.text();
Bu kod ile de sahnemizde bulunan parca isimli yazı alanına ilk trackte (track[0] yani) bulunan parçanın album ve title metinlerini aralarına - işareti koyarak yazdırıyoruz. Böylelikle şu anki parça gözüküyor. Oynatma işlemi yapmadık sadece xmlden veri çekiyoruz.
Oynatmayı yapmadan önce ileri ve geri butonlarınıda ekleyin. İsimleride ileri ve geri olsun. Kodların son ali şu şekildedir.


var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(new URLRequest("kitap.xml"));
var songs; //xml verilerini içinde bulunduran değişken
var hangiMuzik=0; //hangi parçada olduğumuzu tutan sayı başlangıçta 0 ileri butonuna basıldıkça arttırılıyor
var muzik:SoundChannel; //ses çalmlak için değişken
var s:Sound; //sesi atayacağımız değişken




xmlLoader.addEventListener(Event.COMPLETE, showXML);
function showXML(e:Event):void
{
XML.ignoreWhitespace = true;
songs = new XML(e.target.data);
parca.text = songs.track[hangiMuzik].album.text() +" - "+songs.track[hangiMuzik].title.text();
}




oynat.addEventListener(MouseEvent.CLICK, cal);
function cal(event:MouseEvent):void
{
s = new Sound();
s.load(new URLRequest(songs.track[hangiMuzik].file.text()));
muzik = s.play();
}
durdur.addEventListener(MouseEvent.CLICK, dur);
function dur(event:MouseEvent):void
{
muzik.stop();
}


ileri.addEventListener(MouseEvent.CLICK, sonraki);
function sonraki(event:MouseEvent):void
{
hangiMuzik++;
parca.text = songs.track[hangiMuzik].album.text() +" - "+songs.track[hangiMuzik].title.text();
muzik.stop();
}
geri.addEventListener(MouseEvent.CLICK, onceki);
function onceki(event:MouseEvent):void
{
hangiMuzik--;
parca.text = songs.track[hangiMuzik].album.text() +" - "+songs.track[hangiMuzik].title.text();
muzik.stop();
}



Yukardaki turuncu renkli alanlar bizim için önemli, oynat durdur ileri ve geri isimli butonlar için tıklama fonksiyonları yazılmıştır. yukarıda da
hangiMuzik: ileri geri tıkladığımızdaki sıradaki müziğin hangisi olduğunu tutacağıız bir interger değerdir. İleri ve geri butonlarının içlerine bakarsanız hangiMuzik++ ve -- kodları ile 1er 1er arttırılıp azaltılmaktadır bu sayı.

muzik: Flash içinde ses çıkışı sağlanabilecek bir ses kanalı tanımlanması gerekiyor. Bunu en yukarıda yapıyoruz ki olurda diğer fonksiyonar içinde kullanamız gerekebilir.

s: Bu da bizim ses dosyamızı atayacağımız değişken. Bu atama işlemini Oynat butonu içinde yapıyoruz.
songs.track[hangiMuzik].file.text()
Bu komut bize mp3 dosyasının yolunu veriyordu, hangiMuzik değişkeni ise hiç arttırılmamış ise yani ileri veya geri butouna basılmamış ise 0 durumda en yukarda tanıtılmıştı. Eğer 0 ise ilk parça, 1 ise 2. , 2 ise 3. trackteki parçanın dosya yolunu almamızı sağlıyor.

muzik.stop();
Durdur butonunda ise müzik kanalını durdurarak seslerin birbirine girmesini engellioruz. Aynı şekilde iler geri butonlarına da koydum ne olur ne olmaz.
Ayrıca ileri geri butonlarına
parca.text = songs.track[hangiMuzik].album.text() +" - "+songs.track[hangiMuzik].title.text();
komutunuda yerleştiriseniz her bir parça değişiminde sıradaki parçayı yazı alanında görebilirsiniz.

bu player daha da detaylandırılabilir. Progress bar koyulabilir, parçalar yüklenmişmi yüklenmemişmi, veya parçanın kaldığı yerden devam etmesi gibi özellikler kazandırılabilir. Ses açma kapama özelliği eklenebilir.

yer = muzik.position ile o an çalan parçanın milisaniye cinsinden yeri tespit edilebilir.
ve yine muzik.play(yer) ile kalındığı yerden çalınmaya başlanabilir.


var my_transform = new SoundTransform();
my_transform.volume = 1;
gibi kodlarla da ses ayarlamaları eklenebilir. Zamanımız oldukça burada paylaşacağım. Kolay gelsin.










15 Mayıs 2012 Salı

C# 2010 Flash Player ve Swf Eklemek


Yukardaki videoda Visual Studio C# 2010 ile formunuza nasıl flash dosyalarını hatta internetteki youtube videosunu ekleyebileceğiniz anlatılmaktadır.

Ayrıca harici bir flash dosyasını Csharp'ta göstermek için şöyle bir kod kullanabilirsiniz, 

axShockwaveFlash1.LoadMovie(0, Application.StartupPath + “flash.swf”);

Flash nesnesinin bir şekilde yol sorunu var gibi. Bu yüzden dosyanın bulunduğu yeri kod ile belirlemek gerekiyor. Diğer şekli ile bende yapamadım. Fakat swf dosyalarınız internette ise özellikler penceresinde bulunan Movie özelliğine yolu yazarsanız çalışır.

12 Mayıs 2012 Cumartesi

Zip ile Flash Dosyalarının İçeriğini Almak

Flash dosyalarının içeriğinde bulunan bir ses, resim veya kodu almak için yapmanız gereken şey normalde FLA dosyasını açmak ve içindeki kodu kopyalamak. Peki ya diğer kaynaklar ? Resim ve Ses dosyaları nasıl alabilirsiniz?

Basit bir yöntem anlatayım, fla dosyanızın uzantısını zip olarak değiştirin. Ardından zipin içinde bulunan esim LIBRARY klasörünü açın. Dışarıdan yüklenen resim dosyaları burada bulunuyor, ses dosyaları da aynı şekilde. Kodlarda oradaki xml dosyaların birinin içinde bulunuyor.

Kolay gelsin.

10 Mayıs 2012 Perşembe

Excell Kopyalama Hatası Office 2007

Excell belgesi açmadan önce kopyaladığınız bir şey varsa bir yerlere yapıştırsanız iyi olacak çünkü excel açıldığı anda kopyaladığınız bilgiler yok oluyor. Mikrosoftun bir hatası olmalı, Yetkililerin 2010 versiyonunda bu hatayı düzelmiş olmalarını umut ediyor selamlar iletiyoruz...

Matris Determinant Hesaplama


3 ´ 3 türündeki bir matrisin determinantı şöyle bulunur:
1. İlk iki satır sırasıyla alta birer defa daha yazılır.
2. Köşegeni oluşturan a11, a22, a33 çarpılır; çarpım sağa yazılır.
3. Köşegenin hemen altındaki a21, a32, a13 çarpılır; çarpım sağa yazılır.
4. Aynı yaklaşımla a31, a12, a23 çarpılır; çarpım sağa yazılır.
5. Sağa yazılan üç çarpımın toplamı T1 olsun
6. Diğer köşegeni oluşturan a13, a22, a31 çarpılır; çarpım sola yazılır.
7. Diğer köşegenin hemen altındaki a23, a32, a11 çarpılır; çarpım sola yazılır.
8. Aynı yaklaşımla a33, a12, a21 çarpılır; çarpım sola yazılır.
9. Sola yazılan üç çarpımın toplamı T2 olsun,
   
10. A matrisinin determinantı: detA = T1 – T2 dir.

Actionscript 3.0 ile sesi durdurmanın 2 yolu

Actionscript 3.0 ile sesi durdurmanın 2 yolu
STOPALLSOUND


import flash.media.SoundMixer;
SoundMixer.stopAll(); 

eskiden bu kod direk stopAllSound olarak kullanılırdı, 3.0 da bu hale geldi. Bu kodu zaman çizgisine yapıştırarak o anda çalan sesi engelleyebilirsiniz.

Eğer zaman çizgisindeki anahtar keyframe'e ses eklemişseniz sürekli çalıyorsa animasyonunuz sürekli tekrar ediyor demektir. Tekrar etmesini engelleyebilirsiniz. Animasyonunuzun sonuna stop() eklemeniz tekrarı engelleyip sesin 1 kere çalmasını sağlayacaktır.