23 Mayıs 2010 Pazar

Action Script 3.0 ile Swf'yi kapatama

Action Script 3.0 ile swf uygulamamızı nasıl kapatacağımıza bakalım. Öncelikle bir adet buton ekleyelim ve instance name'ini "cikis" yapalım.

Butonumuza event listener ekleyelim.

cikis.addEventListener(MouseEvent.MOUSE_DOWN,cik);


cik fonksiyonumuzu yazalım şimdi de:

function cik(event:MouseEvent):void
{ fscommand("quit"); }


Cikis butonumuza bastığınızda swf'nin kapandığını göreceksiniz.

Action Script 3.0 ile Ses Çalışması

Bu yazımda basit bir kod olmasına rağmen yeni başlayanlar için faydalı olduğunu düşündüğüm "Action Script 3.0 ile butonlara nasıl ses ekleneceğini" anlatacağım

Öncelikle kütüphanemize bir adet müzik dosyası ekleyelim. Ekledikten sonra properties kısmında linkage'ini aktifleştirelim.

Daha sonra kütüphanemizdeki ses bir adet isim verelim. Örneğin ses olsun.

Şimdi actions penceremizi açalım ve kodlarımıza bakalım:

Buton ses değişkenimizi kütüphanemizdeki ses objemizden türetelim.

var butonSesi:Sound=new ses();


Bir adet de çalışmamıza buton koyalım ve event listener ile üzerine geldiğimizde kütüphanemizdeki buton sesimizi çalalım.

buton.addEventListener(MouseEvent.MOUSE_OVER,onOver);

function onOver(event:MouseEvent):void
{ butonSesi.play(); }



Basit ama çalışmalarınıza güzellik katacak bir kod. Umarım işinize yarar.

tyln

18 Mayıs 2010 Salı

Java Script Dizi Kullanımı - İp Ucu Uygulaması

Şimdi java script ile basit bir "ip ucu" (tips) uygulaması yapalım. Dizi kullanımını görelim.

Öncelikle ip uçlarını tutacağımız diziyi tanımlayalım.

var tips=[];


Şimdi birkaç ip ucu ekleyelim:

tips.push('hosgeldiniz');
tips.push('ip ucu 2');
tips.push('iyi eglenceler');
tips.push('sitemiz en iyi firefox ile goruntulenir');


Şimdi bir adet index için değişken oluşturalım ve bu index ile dizimizdeki ipuçlarına erişelim. İndex math fonksiyonu ile dizi boyutuna uygun rasgele oluşturulsun.

var i = Math.floor((Math.random() * tips.length));


Şimdi ip ucumuzu ekrana yazalım:

document.writeln(tips[i]);

İpuçlarını
.js
olarak kaydedip, hostumuza attıktan sonra sayfamızın istediğimiz yerine ekleyerek kullanabiliriz.

Bir kaç kontrol döngüsü ile kodu geliştirebilir "sonraki ip ucu" "onceki ip ucu" gibi fonksiyonlar yazabilirsiniz. Daha sonraki yazılarımda kodu geliştirip sizlere anlatmaya çalışacağım.

kolay gelsin.

tyln

16 Mayıs 2010 Pazar

Action Script 3.0 ile Statik Yazı Nesnesi oluşturma

Öncelikle ekrana yazacağımız yazının rengi,boyutu,fontu için bir format oluşturmalıyız.

var format:TextFormat = new TextFormat();
format.color = 0x346599;
format.size = 40;
format.font = "Arial";


Daha sonra bu bir adet text field oluşturalım.

var myText:TextField = new TextField();


Oluşturduğumuz text formatını text fieldımız için kullanacağız.

myText.defaultTextFormat = format;


Şimdi text'imizin ekrandaki yerini ayarlayalım.

myText.x=10;
myText.y=20;


Text'imize birşeyler yazalım.

myText.text = "Hello World";


Şimdi de text'imizi ekrana ekleyelim.

addChild(myText);


Text'imiz için kullanabileceğimiz alternatif özellikleri aşağıda veriyorum.

myText.embedFonts = false;
myText.autoSize = TextFieldAutoSize.LEFT;
myText.antiAliasType = AntiAliasType.ADVANCED;
myText.selectable = false;
myText.mouseEnabled = true;

Action Script 3.0 ile Xml'den Resim Çekme

Öncelikle şunu belirtmeliyim ki dün internette yaptığım araştırmalar sonucu bazı konularda (özellikle kodlama) ne kadar kopyacı olduğumuzu, kopyacılıktan da öte bulduğumuz bir kodu kontrol etmeden sitemizdeki kullanıcıların hizmetine sunduğumuzu gördüm. Aynı yanlış kodu türkçe sayfalarda arama yaptığımızda hemen hemen 2 sideden birinde bulmamız olası. Neyse lafı uzatmadan çalışan kodları vereyim. Umarım faydalı olur.

İşte boş bir As 3.0 flash çalışma sayfası oluşturarak başlayalım. Sonra tablomuza yeni bir layer ekleyelim. Bu layer'ı action script kodlarımız için kullanacağız. Actions layer'ımızın ilk frame'ine gelip actions penceremizi açalım.

Şimdi ilk olarak yeni bir movie clip oluşturalım. Resmimizi / Resimlerimizi bu movie clip içine yerleştireceğiz.

var backgroundMC:MovieClip=new MovieClip();


Şimdi mc'mizin yerleşim yerine bakalım. Ben kodumda arka plan çektiğim için x ve y değerlerini 0 yaptım.

backgroundMC.x=0;
backgroundMC.y=0;


Şimdi mc'mizi ekleyelim

addChild(backgroundMC);


Şimdi bir adet de imageLoader oluşturalım.

var imageLoader:Loader=new Loader();


Xml ile bağlantı kurmaya geldi sıra.

var myxml:XML=new XML();
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(new URLRequest("xml_dosya_adı.xml"));


Xml yüklendi fonksiyonumuzu ekliyoruz.

xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);


Xml başarıyla yüklendiğinde, harici xml deki verileri kendi oluşturduğumuz myxml objesine aktarıp buradan nodelardaki image url mizi loader ile mc'mize aktaracağız. İşte kodlar

function xmlLoaded(event:Event):void
{
myxml = XML(event.target.data);

var i=0;
imageLoader.load(new URLRequest(myxml.bilgi[i].img));
backgroundMC.addChild(imageLoader);
}


Şimdi örnek xml kodlarımıza bakalım:

root

bilgi
img arkaplan.jpg /img
/bilgi

/root


Böylece oluşturduğumuz movie clip e xml den aldığımız resim urlsini yüklüyoruz. Eğer bir resim galeri oluşturacaksanız xml başarıyla yüklendikten sonra bir for döngüsü ile tüm node'lardaki url leri alarak yeni image loader oluşturup tek tek load etmeniz mümkün.

Umarım bir gün kopyacılıktan kurtuluruz. Herkese kolay gelsin.

tyln

14 Mayıs 2010 Cuma

Data Abstraction - Veri Soyutlama nedir?

Data Abstraction Türkçe karşılığı ile veri soyutlama bir programın kayda değer özelliklerini içeren alt birimlerin reprezentasyonudur.

Veri soyutlama programlamanın ve bilgisayar bilimlerinin temel kavramnlarından biridir.

1980 den sonra dizayn edilen -yaklaşık- tüm programlama dilleri veri soyutlamayı (data abstraction) desteklemektedirler.

12 Mayıs 2010 Çarşamba

Java Script ile Pop Up Window Oluşturma

Html Sayfamıza aşağıda vereceğim java script kodunu ekliyoruz;

var newwindow;
function poptastic(url)
{
newwindow=window.open(url,'name','height=400,width=200');
if (window.focus) {newwindow.focus()}
}

Aşağıdaki kod ile istediğimiz link ile herhangi bir html sayfamızı yukarıdaki fonksiyonda belirleyip değiştirebileceğimiz boyutlar ile açıyoruz.

a href="javascript:poptastic('adres.html');"> Link Adı /a

1 Mart 2010 Pazartesi

Php ile sql database'e bağlanma

Oluşturduğumuz sql database'e php ile nasıl bağlanacağımıza bir göz atalım şimdide.

$sunucu="localhost";
$user="db_user"; //database kullanıcısı
$password="db_sifre"; // database şifre
$db_adi="db_name"; // database adı

$connect = mysql_connect("$sunucu","$user","$password"); // bağlantı tanımlıyoruz
mysql_select_db($db_adi,$connect) or die ("Hata! Veri tabanına ulaşılamıyor." . mysql_error() ); // veri tabanına bağlanıyoruz bağlanamazsak hatayı ekrana getiriyoruz.

?>


yukarıda açıklamasını ile birlikte verdiğim kodları connect.php olarak kaydedip (tabi önce kendi database ayarlarınıza göre düzenliyorsunuz) çalışmalarınıza dahil edebilirsiniz. Database'e veri ekleme işlemini daha önce anlatmıştım. Bu sayede tablo ve veriler ekleyebilir ve sayfalarınızda bu verileri kullanabilirsiniz.

Oluşturduğunuz connect.php 'yi

include "connect.php";


kodu ile sitenizin diğer php kodlarında database bağlantısı için kullanabilirsiniz.

Kolay gelsin.

16 Şubat 2010 Salı

Windows 7 Twitter Gadget

Twitter kullanıcılarının windows 7 ile kullanabileceği çok hoş bir gadget. Aşağıdaki adresten bilgileri bulabilir ve download edebilirsiniz.

İndir

Sql Veri Tabanına Bilgi Ekleme

Oluşturduğunuz sql veri tabanına nasıl veri girişi yapılacağına bir göz atalım.

INSERT INTO `database_adı`.`tablo_adı` (
`alan1` ,
`alan2`
)
VALUES (
'user', '123'
);


Sorguya bir göz atalım. Database adı olarak kullanacağımız database'i yazıyoruz. Tablo adı ise hangi tabloya bilgi ekleyeceksek onu yazıyoruz.

Values kısmı ise ekleyeceğimiz değerler.

Yukarıda user ve 123 şeklinde 2 alanımıza veri ekledik.

Alanlar çoğaltılabilir.

Kolay gelsin.

7 Şubat 2010 Pazar

Joomla Modülleri

Sınav dönemi ve sınav sonrası tatil dönemi derken uzun zamandır birşeyler yazamıyorum. Sizlere joomla ile hazırladığım bir projede kullandığım modülleri veriyorum. Umarım işinize yarar.

Joomla 1.5.x ile uyumludur modüller.

içindekiler:

- takvim
- saat
- gazeteler
- hava durumu
- döviz bilgileri
- günün sözü

İndir

25 Ocak 2010 Pazartesi

Unary Notasyon nedir? Unary Notation

- Unary Notation for Encoding:
Sayıları T.M. de göstermek için kullanılan yöntemlerden biridir.
Şeritteki sembol sayısı, girdi veya çıktının hangi sayı olarak yorumlanabileceğini gösterir:
Şeritte hepsi boşluk ise: 0
Girdi alfabesi={a} ise,
Şeritte 1 tane a varsa:1
Şeritte 2 tane a varsa:2 gibi ...

alıntıdır.

22 Ocak 2010 Cuma

Vectors ve ArrayList Karşılaştırması

Vektörler ve ArrayList in karşışaştırılamsı ile ilgili birkaç kaynak link vereceğim. Umarım ilgilenenler için işe yarar.

Link1
Link2
Link3


Birkaç Link de daha önce üstünkörü bahsettiğim Java'da hash table için

Link1
Link2
Link3

21 Ocak 2010 Perşembe

Action Script ile Mailto kullanımı

Action Script 2.0 ile hazırladığımız flash projemize basit bir kod ile mail gönder seçeneği ekleyebiliriz.

Bir adet buton ekelyelim ve mail gönder yazalım. Butonun actions'ına gelerek aşağıdaki kodu yazalım:

on (release) { getURL("mailto:me@mydomain.com"); }

Google Map Api Kullanımı

Google Map Api ile google map kaynağından istediğiniz koordinatları temel alan etkileşimli harita uygulamalarını sitenizde javascript yada flash aracılığı ile gösterebilirsiniz.

Aşağıdaki link ile etkileşimli harita uygulamalarınıza ne gibi özellikler ekleyeceğiniz hakkında demoları bulabilirsiniz.(Oldukça kullanışlı özellikler ile haritanızı zenginleştirebilirsiniz.)

Google Maps Api Demo Gallery


Google Maps Api nasıl kurulur?

Öncelikle api üyelik sayfasına gidiyoruz ve apimizi kullanacağımız alan adına ait bir üyelik alıyoruz.

Api Üyelik Sayfası


Sadece kayıt sırasında girdiğiniz alan adı ile kullanabiliyorsunuz alacağınız api key'i.

Şimdi hangi lokasyonu map'imizde kullanacağımıza bakalım. Aşağıdaki adresten istediğimiz alana ulaşarak api scriptimize koordinatları veriyoruz.

Koordinat bulmak için tıklayın

Verilen script kodunu istediğiniz lokasyon ile sitenize monte edebilirsiniz.

Şimdi script'imize birkaç kod ekleyerek map'imizi biraz daha etkileşimli hale getirelim.

Aşağıdaki kod ile haritamıza yön tuşları ve zoom +/- kontrolü ekliyoruz.

map.addControl(new GSmallMapControl()); //küçük yön tuşları ve büyütme küçüktme kontrolü
map.addControl(new GMapTypeControl());


Şimdi ise bir adet text node ekleyelim:

map.openInfoWindow(map.getCenter(),
document.createTextNode("notunuz")


Şimdi bir adet de marker ekleyelim: (Haritamızın merkezine ekler)

var marker = new GMarker(map.getCenter(), {draggable: true});
map.addOverlay(marker);


Umarım google map api hakkında birşeyler sunabilmişimdir. Kolay gelsin.

tyln

13 Ocak 2010 Çarşamba

Bisection Algorithm

A method for solving nolinear equations (bisection)

value tolerance, given values x1,x2

repeat
set x3=(x1+x2)/2
if f(x3)*f(x1)<0 than
set x2=x3
else
set x1=x3
end if
until (|x1-x2|)<2*Tolerance


(final value of x3 approximates the root)

10 Ocak 2010 Pazar

Depth First Traversal in Graphs Algorithm

Graphlarda derinliğe göre dolaşma algoritması: (Recursive)

depthFirst(weightMatrice w,int v,boolean[]visited)
{
visited[v]=true;
print(v.label)
int[] connections=w.neighbors(v);

for i=0 to connectios.length i++
int n=connections[i];

if(!visited[n])
depthFirst(w,n,visited);
end loop
}

v=start of traversal

source code download

pseudo code by tyln

9 Ocak 2010 Cumartesi

Html Preloader

Html sayfalar için preloader yapımını göstereceğim bu yazımda. Hazırladığımız bir web sayfasının (html,php vs tabanlı) açılması içeriği nedeniyle zaman alıyorsa ve bu zaman zarfı içerisinde bir preloader hazırlayıp kullanıcıya gösterebiliriz.

Şimdi bir adet yukleniyor.gif hazırlayalım. Hazırlayacağımız bu gif'in boyutunun küçük olması hızlı yüklenerek kullanıcının önüne gelerek sayfa yüklenirken gözükmesi açısından önemlidir.

Aşağıda vereceğim kaynak kodların ilk kısmını head tagları arasına 2. kısmını ise body kısmına ekliyoruz.

Kaynak kod indir

4 Ocak 2010 Pazartesi

Bubble Sort (Kabarcık Sıralama) Kodu

Bubble Sort (Kabarcık Sıralama) Kodu

void bubble(int x[], int n)
{
int hold, j, pass; int switched = TRUE;
for (pass=0; pass{
switched = FALSE;
for(j=0; j{
if (x[j] > x[j+1])
{
switched = TRUE;
hold = x[j];
x[j] = x[j+1];
x[j+1] = hold;
};
};
};
}

Sıralama Algoritmalarının Karşılaştırılması

Selection Sort ve Simple Insertion Sort, Bubble Sort'a göre daha etkindir.
Selection Sort, Insertion Sort'tan daha az atama islemi yaparken daha fazla
karsılastırma islemi yapar. Bu nedenle Selection Sort büyük kayıtlardan olusan az
elemanlı veri grupları için (atamaların süresi çok fazla olmaz) ve
karsılastırmaların daha az yük getirecegi basit anahtarlı durumlarda uygundur.
Tam tersi için, insertion sort uygundur. Elemanlar baglı listedelerse araya eleman
eklemelerde veri kaydırma olmayacagından insertion sort mantıgı uygundur.
n'in büyük degerleri için quicksort insertion ve selection sort'tan daha etkindir.
Quicksort'u kullanmaya baslama noktası yaklasık 30 elemanlı durumlardır; daha
az elemanın sıralanması gerektiginde insertion sort kullanılabilir.

Kaynak: Yrd. Doç. Dr. Aybars UGUR ders slaytları

3 Ocak 2010 Pazar

Joomla nedir? Nasıl Kurulur?

Joomla bir CMS sistemidir. (Content Managment System) Yani içerik yönetim sistemi. Joomla şuan dünyadaki en çok kullanılan cms sistemlerinden biridir ve açık kaynak kodludur. Her ne kadar wordpressin popüleritesi ve kolaylığı şuan için joomla'yı gölgede bıraktı gibi görünse de 2 sistemi de kullananlar aradaki farkı anlayacaklardır.

Joomla indir

joomla Kurulum