Visual Basic Notları

Visual Basic Basic programlama dili esas alınarak 1990 lı yılların başında oluşturulmuştur.Basic dili 1960 yıllarına kadar dayanan tarihiyle ilk programlama dilleri arasında yer alır.Algoritmaya yakın olan Basic dili daha sonra qBasic ve Visual Basiclerin oluşturulmasına öncülük etmiştir.Okulda Web programlama dersini aldığım için gerek Visual Basic ile ilgili not ve çalışmalarımı gerekse de dersin diğer notlarını burada toplamayı düşünüyorum.Syntaxtan başlayacak olursak;
Visual Basicte büyük harf küçük harf duyarlılığı yoktur.Değişken tanımlamalarında dikkat edilmesi gereken kurallar ise şunlardır:Değişken isimlerinde keywordler ve noktalama işaretleri kullanılmaz.Değişken isimleri harfle başlayıp maximum 255 karakter olabilirler.Data tipleri:C# data tipleriyle aynı olup boolean,byte,double,date,Integer,Long,Null,String,Currency,Char’dır.
Değişken tanımlaması üç şekilde yapılabilir.Değişken sadece belli bir parçada kullanılacaksa private yada Dim tanımlanır.Ancak her yerden erişilmesi gerekiyorsa public tanımlanmalıdır.
Dim degisken_ismi As veri_tipi şeklinde tanımlanır.Değişken public veya private tanımlamak istendiğinde Dim yerine o ifadeler yazılmalıdır.
Ayrıca tanımlanan değişkenlerin Dim ile başlanması zorunlu kılınmak istiyorsa option exclipit ifadesi on yapılır.Visual Basicte dizilerin tanımlanması ise
Dim dersler(1) As String
dersler(0)=”Algoritma”
dersler(1)=”Image Processing”
Çok boyutlu dizilerin tanımlanması ise
Dim okul(1,1) As Integer
okul(0,0),okul(0,1),okul(1,0),okul(1,1) şeklinde tanımlanır.
Const Değişkenler const Dim pi As Integer =3.14 şeklinde tanımlanır.

ANT (Another Neat Tools) Teknolojisi ve Kurulumu

Ant proje geliştirirken her java dosyası için gerçekleştirilen işlemleri bir bütün halinde yapabilen tooldur.Bu sayede yaşanan problemleri tek tek .java uzantılı dosyalarda aramak yerine bir tool üzerinden problemler tespit edilip çözülebiliyor.ANT XML tabanlı olarak create edilen build dosyalarından oluşan Java ile geliştirilmiş açık kaynaklı bir yazılımdır.Ant build dosyaları sayesinde .jar,ear ve .war dosyalarını kolayca compile etmemizi sağlar.

Ant toolunun kullanılması  küçük ölçekli projelerde çok önem ifade etmese de büyük ölçekli projelerde zaman kaybını minimumam indirger.Bir projede birden fazla kaynak dosya çalışıyorsa her buildten önce bu kaynakların build yapılması gerekmektedir.Ant sayesinde bu işlemler java dosyalarının JVM’de execute edilmesinden çok daha kısa sürede kodların execute edilmesi sağlanır.Ant diğer avantajları da açık kaynakla yazılmış olması,standartlandırlmış olması,bağımsız bir platform olması,taşınabilir ve esnek bir yapı olması tercih edilmesinde önemli etkenlerdir.

Ant build.xml dosyası ile kontrol edilip üzerinde değişiklikler yapılarak düzenlenir.Build.xml dosyası project elementini kullanır.Project elementi name,default,basedir olmak üzere üç özellik alır.Default kullanımı zorunludur.name:projenin ismini belirtir.basedir:projenin base directory’sidir.default:Ant xml dosyası ele alındığında default olarak bir target’e yöneltilmelidir.Bir proje property ve targetlardan oluşur.Property Ant dosyasının kullanacağı sabit değerlerdi.Target ise task kümeleridir.Bir proje bir veya birden daha fazla targettan oluşabilir.

Target ve task ı biraz açarsak target amacımız;ulaşmak istediğimiz hedeftir.Task ise bu hedefe ulaşabilmek için yapmamız gereken aşamalardır.Örneğin amacımız eve gitmek ise hangi yollardan ne zaman geçerek eve ulaşabileceğimizi anlatan işlemler ise tasktir.Birden fazla target kullanılacağı zaman targetler depends özelliği ile birbirlerine bağlanmak zorundadır.Bazı ant taskları şöyledir.

<java> bir classı çalıştırır.

<javac> bir klasörde duran class (veya classları)derlemek için kullanılır.

<delete> klasör veya dosyaları siler.

<mkdir> bir klasör yaratmak için kullanılır.

<copy> bir dosyayı veya klasörü biryerden başka yere kopyalar.

<move> bir dosyayı veya klasörü biryerden başka yere taşır.

<jar> jar,war,ear dosyaları hazırlar.

<ftp> Bir dosyayı ftp yaparak başka bilgisayara atar.Dosyalarınızı uzaktaki makinada duran servere atmak için kullanılabilir.

<echo>Kullanıcıya bilgi vermek için kullanılır.

Ant’ı java projesinde kullanabilmek için kurulum yapıldıktan sonra bir XML dosyasına konfigure edilmelidir.Kurulum yapabilmek için  jakarta.apache.org/ant adresinden zip kalsörünü indirip C’ye attıktan sonra ortam değişkenlerinden ant ın yolunu path değişkenine ekleyip işlemi tamamamanız gerekiyor.

SVN(Subversion) Teknolojisi ve Kurulumu

SVN bir yazılım konfigurasyonu arayüzüdür.Proje dosyalarındaki değişiklikleri takip etmek ve bu değiştirilmiş dosyalar üzerinden işlem yapılmasını sağlar.Aynı dosyalar üzerinde eş zamanlı bir biçimde çalışılabilmesini sağlar.SVN sayesinde tüm çalışma dosyaları bir serverda ya da server amaçlı kullanılan bir bilgisayarda depolanır.Bu şekilde dosyaları kullanacak yazılım geliştiriciler ya da projeyle ilgili olan diğer kişilerde kullanıcı isimleri ve passwordler ile herhangi bir yerden dosyalara erişebilir.

Bir program yazılımı modül halinde bir araya gelen kodlardır.Developerlar özellikle büyük projelerde projeyi modüllere bölerek daha kısa sürede yaparlar(divide-conquer algoritması).Ancak yazılan modullerin istenildiği takdirde bir ortamda kaydedilmesi çalışmanın hızlılığı açısından son derece önemlidir.SVN bir server şeklinde çalışarak   kullanıcılarına bu hizmeti sunmaktadır.

Eğer SVN gibi bir teknoloji kullanılmamış olsa developerlar kodları birbirinden bağımsız şekilde kodlayacağı için daha sonra bunların biraraya getirilip düzenlenmesinde de büyük sorunlar yaşanabilirdi.Ancak SVN ile birçok developer,designer … tek proje üzerinde eş zamanlı olarak çalışabiliyor.

SVN’in işleyişi : svn update ->edit files -> Test ->svn commit -> svn update şeklinde bir döngüyle gerçekleşir.İlk başta update edilen dosyalar test edildikten sonra commit edilir.Commit düzenlemenin son aşamasıdır.Aynı zamanda birden fazla kullanıcı commit etmeye çalıştığında error olacak ve kullanıcıların edit yaptığı kısımlar kullanıcılara gösterilerek kullanıcının hangisinin doğru olduğuna karar vermesine yardımcı olur.

SVN’e dosyalarınızı yüklemek için  işletim sisteminiz windows ise TortoiseSVN programını indirebilirsiniz.Yüklemeyi yaptıktan sonra bilgisayarınızdaki dosyalara sağ tıkladığınızda SVN Checkout şeklinde bir secenek çıkacaktır.Burayı tıklayarak username ve password ile giriş yaptıktan sonra servera dosyalarınızı aktarabilirsiniz.

Kısaca temel SVN işlemlerinden bahsetmek gerekirse;

import: Dosyalarımızı SVN deki projeye eklemek için gerçekleştirilen işlemdir.

Checkout: Svn’de yer alan bir projenin local ortamda çalıştırabilmemizi sağlar.

Commit: Local ortamda gerçekleştirdiğiniz değişikleri test ettikten sonra son halin servera iletilmesidir.

Export: Svn’de yer alan bir projeyi almadan ilgili projeyi local diskinize kopyalamayı gerçekleştiren komuttur.

Update: Serverdaki çalışma ortamındaki yapılan değişiklikler ile sizin çalışma ortamınızdaki projenin senkronize edilmesi için kullanılan bir işlevdir.Senkronize işleminin sık sık yapılmasında da fayda vardır.

SVN’in kurulumundan bahsedecek olursak (eclipse-juno için kurulumu)  Subversive i bu linkten bilgisayarınıza indirebilirsiniz.Sonrasında eclipse -help – install new software i tıkladıktan sonra çıkan install ekranında local seçeneği tıklayıp indirdiğiniz subversive zipini buraya import ediyoruz.Next dedikten sonra eclipse işlemleri gerçekleştirdikten sonra eclipse i restart etmenizi isteyecektir.Restart ettikten sonra uygun olan SVN Kit’i seçmeniz gerekmektedir.Bunu da yaptıktan sonra SVN kurulumu bitmiş olacaktır.SVN in eclipse arayüzünde görmek istersek Window ->Show view ->SVN REposity browser ı seçerek sol tarafa ekleyebiliriz.

Css-text özelliği

Css’te text özelliği ile sayfalarımızda görüntülecek yazıları düzenleyebiliriz.text özelliğine geçmeden önce text özelliği ile font özelliği arasındaki  farktan bahsetmek istiyorum.text özelliği sayfadaki metinlerin düzenlenmesini sağlar,yazı metninin bir bütün halinde nasıl düzenleneceğini belirtmemizi sağlar.Font özelliği ise sayfadaki metni oluşturan karakterlerin nasıl görüneceği ile ilgilidir.Text özelliği ile yazılar arasındaki boşluğu ayarlayabilir,yazıların rengini değiştirebiliriz.

Genel olarak text özelliği text-color,text-align,text-decoration,text-indent,text transformation olmak 5 şekilde tanımlanabilir.

text-color:Metnin sayfada hangi renkte gözükeceğini belirler.Default olarak  sayfadaki yazılar siyah renkte gözükür.Farklı bir renkte yazılar oluşturmak istediğimizde bi önceki yazıda ayrıntılı olarak değinildiği gibi rengin  hexadecimal değeri,rgb değeri veya renk ismini yazarak  metin rengi belirlenebilir.

text-align:Metnin ne şekilde konumlandırılıacağını belirtir.center,right,left,justify ve inherit özellikleriyle metin ortaya,sağa,sola,iki yana ve bi önceki durumdan inherit bir şekilde konumlandırılmasını sağlar. 

text-decoration: Metnin belirli yerlerinde özel işaretler kullanmamızı sağlar.Metnin altına,üstüne ve ortasına çizgi çekmemize yarar.none,underline,overline,line-through,blink,inherit olmak üzere 5 farklı değer alabilir.Burada bilinmedik olabilecek değer blink değeridir.Bu değer metnin yanıp sönmesini sağlar.

text-indent: İlk cümlelerin soldan içeriye kaydırılması için kullanılan bir özelliktir.Paragraf başı da denilen bu boşluk kitap,dergi ve gazetelerde sıklıkla yapılır.

text-transformation:Harflerin büyüklüğünü belirler.none,capitalize,lowercase,uppercase,inherit olmak üzere 5 farklı değer alabilir.

Bunların dışında bir kaç tane daha çok kullanılmasa da gerekebilecek özellik vardır.Bunlar : word-spacing:Kelimeler arasındaki boşluk değerini belirler.line-height:Satırlar arasındaki yüksekliği belirler.letter-spacing:Harfler arasındaki boşluk değerini belirler.

[php]
body{text-color:rgb(255,0,13);}
body{text-indent:40px;}
body{text-decoration:overline}
body{text-transform:uppercase;}
body{text-align:center;}
body{line-height:5px;}
body{letter-spacing:10px;}
body{word-spacing:1px;}
[/php]

Css Özellikler -1 Background özelliği

Bir önceki yazıda Css’in neden kullanıldığı ve nasıl kullanıldığı ile ilgili bir giriş yapılmıştı.Css kodlarının html sayfasına nasıl import edileceğinden bir önceki yazıda bahsetmiştik.Bu yazıda Css’in syntax’ı ve özelliklere giriş yapacağız.Css’te syntax genel hatlarıyla

selector{declaration} denilen bir yapıdadır.Selector denilen seçici kısım tag,class ismi veya id olabilir.Declaration denilen bildirim kısmında ise özellik ve alacağı değer tanımlanır.Örneklendirecek olursak;

[php] body{background-color:red;}   /* Bu satırda body ile belirtilen seçici kısmının arkaplan rengi kırmızı değerini alacaktır.  */[/php]

Seçici tanımlaması 3 şekilde yapılabilir.İlk olarak eğer html tagleri ile seçilen bir kısmın stil çalışması yapılacaksa sadece başlangıçta tag ismini yazmamız yeterli olacaktır.

[php] body{background-color:white;font-size:15px;} Bu şekildeki bir tanımlama body kısmındaki arka plan rengini beyaz yapıp  body kısmında yazı boyutunu php olarak ayarlayacaktır.  [/php]

2. olarak yazdığımız html kısmı üzerinde daha kolay işlemler yapabilmek  için kodu kod parçacıklarına ayırıp bu parçalara id veya class ismi vererek tanımlayabiliriz.Bu tanımlamalara bağlı olarak css syntaxı küçük bi değişiklik gösterecektir.Eğer kod parçacığımız id ile tanımlanmışsa css kısmında

#hakkimizda{font-family:Calibri;font-size:small;} bir tanımlama  yaparız.Burada hakkımızda html kısmındaki id dir.

Eğer kod parçacığı class ismi olarak tanımlanmışsa css kısmında

.linkhover {background:url(“../images/link.gif”) no-repeat center;} şeklinde bir tanımlama yapılır.

Ayrıca genelde pek kullanılmasa da bir html tagının belli bir özelliği üzerinde değişiklik yapılması istenirse

p.center{text-align:center;}  şeklinde tanımlama yapılabilir.Bu şekilde p taglerinin center sınıflarında yazı sayfada ortalanır.

Özelliklere geçecek olursak ilk olarak azimuth özelliğiyle başlayacak olursak azimuth özelliği sayfada kullanıcak seslerin nereden geleceğini belirlememezi sağlar.Özellikle görme engelliler için sesin nereden geldiği önemli olan bir özelliktir.Aldığı değerler:behind,center,center-left;center-right,far-left,far-right,left,left-side,leftwards,right,right-side;rightwards,inherit olarak tanımlanmıştır.Bunlar yön belirten ifadeler olduğu için anlatma gereği duymadım.

2.özellik olarak background ile ilgili değişiklik yapabileceğimiz  background özelliklerine bakacağız.Bu özellikler background,background-color,background-image;background-image,background-repeat,background-attachment ve background-position özellikleridir.

background:… özelliği arkaplanın renginden arkaplanın transpanslığına,buttonların nasıl gözükeceğinden buton yazılarına kadar arkaplan ile ilgili genel değişiklikler  yapma fırsatı sunar.

background-color:Bu özellik ile arkaplan rengini düzenleriz.renk tanımlaması 3 şekilde yapılabilir.Birincisi her bir rengin hex değeri vardır.İkinci tanımlama şekli:RGB değerinin girilmesidir.3.tanımlama şekli ise renk isminin yazılmasıdır.Hepsini bir örnekte gösterecek olursak;

[php] body{background-color:#FF0000}

body{background-color:rgb(255,255,0)}

body{background-color:red}

[/php]

background-image:Arkaplana bir resim yüklememize izin verir.Resmin url yolunu göstermemiz gerekiyor.

[php] body{background-image:url(‘../images/scroll-left.gif’)} [/php]

background-repeat:Arkaplan resminin yatayda ve dikeyde tekrarlanıp tekrarlanmaması seçeneklerini düzenler.

[php] body{background-repeat:repeat-x;} yatayda tekrarlar. no-repeat denildiğinde  background tekrarlanmaz.[/php]

background-position: Arkaplanın sayfadaki konumlandırılmasını sağlar.

[php] body{background-position:left;} left,right,inherit hazır seçeneklerinin yanında pixel olarak değer verip sayfanın konumunu ayarlayabiliriz. [/php]

8 Mart

Yazının başlangıcında şunu belirtmek isterim ki anneler,babalar veya farklı konularda belirlenmiş özel günlere pek anlam vermeyen birisi olarak Dünya Kadınlar Gününü biraz da olsa anlamlı buluyorum.Çünkü gerek bu günün dünya kadınlar günü olma hikayesi gerekse de (senede bi gün bile olsa) kadınlara yapılan hakszılıklara karşı dürüstçe ya da “gösterişle” olsa da herkesin düşünmesidir.Ancak büyük çoğunluğun diğer özel günlerde olduğu gibi bugünde konuya özel ilgi ve alakada bulunup,yarın hiçbirşey olmamış gibi davranacak olması da konunun üzücü bir tarafı.

8 Mart’ın Dünya Kadınlar günü olma sebebine gelecek olursam olay ABD’nin New York şehrindeki bir tekstil fabrikasında gerçekleşiyor.Çalışma şartlarından şikayetçi olan 40 000 i aşkın işçi çalışma şartlarının iyileştirilmesi için greve başlamışlar.Polisin grevi bitirmek için işçilere saldırması ve onları fabrikaya kiltlemesi sonrasında fabrikada yangın çıktı.Yangından kaçmak için dışarıya koşan işçiler polis bariyerlerini aşamadıkları için aralarında çoğu kadın 129 kişi hayatını kaybetmiştir.Daha sonra ilk olarak 1910’da Danimarka’daki bir toplantıda 8 Mart’ın Dünya Kadınlar Günü olarak kutlanmasına karar veriliyor.Ancak 8 Mart’ın tüm dünyada Dünya Kadınlar Günü olarak ilan edilmesi 16 Aralık 1977 yılındaki Birleşmiş Milletler Genel kurulunda kabul edilmiştir.

Türkiye’de 1975 yılından itibaren 8 mart’ta düzenlenen etkinler 1980 sonrası 4 yıllık bi kesintiden sonra düzenli olarak “kutlanmaktadır”.Peki ülkemizde Kadınlar gününü kutlayacak kadar başarılı mıyız ? Yapılan araştırmalar tam aksine oldukça kötü bir durumda olduğumuzu gösteriyor.Türkiye,kadin-erkek esitliginde 135 ülke arasinda 124. siradadir.2005-2011 Yılları arasında toplam 4 bin 90 kadın erkekler tarafından öldürülmüştür.Ayrıca Türkiye’de hâlâ her gün 5 kadın öldürülmektedir.Ve tahmin edersiniz ki bu öldürmelerin çoğu da eğitimsizliğin verdiği özgüvenle cahilce kadınlara şiddet eksenli cinayetlerdir.
Birleşmiş Milletlerin yaptığı bir çalışmada kadının topluma katılım endeksinde Türkiye’nin 70 ülke arasında 66 olduğu sonucu çıkmıştır.Her ne kadar son yıllarda yapılan Haydi Kızlar Okula benzeri sosyal teşviklerle kızların eğitime katılması desteklense de kadınların eğitim oranı maalesef oldukça düşük.Bunun sonucunda da kadınların işgücüne katılım oranı yüzde 27’lerde bulunuyor.Erkeklerin hemen hemen yüzde % 70’i çalışırken, kadınlarda bu oran sadece %25 lerde kalıyor.

Bu konu üzerine çokça konuşulup tartışılacak bir konu şüphesiz.Problemlerin sebebinin ne olduğu konusunda bir çok cevap veriliyor olsa da karşılıklı saygının olmamasından veya başka sebeplerden ötürü de problemler ortaya çıkmaktadır.Bence bu konuda “Cennet annelerin ayağı altındadır.” hadisi şerifi yeterince idrak edilebilirse problemlerin çok daha kolay çözülebileceği fikrindeyim.
Dünya Kadınlar Günü Kutlu olsun !

CSS (Cascading Style Sheets)

HTML bize web sayfamızda metin biçimlendirme alanında temel biçimlendirme yöntemidir.Bi sayfanın kemik yapısı diyebileceğimizi esas kısmını html ile kolay bir şekilde yapabiliriz.Ancak bu çoğu zaman yeterli olmaz.Hele ki günümüz teknolojisi için ilkel denilebilecek bi yapıdır.Tam bu noktada CSS yardimimiza kosuyor.Css web sayfalarinin görünümünü degistirmemizi saglayan stil dosyasidir.Web sayfasını bir bütün şeklinde veya tag dediğimiz yapılarla belirtilen belli ögeleri arkaplan resmi,arkaplan rengi,sayfadaki konumu,sağ ve solundan ne kadar boşluk olacağı öğenin genişlik ve yüksekliği ve çok daha fazla özellik ile sayfada harikalar yaratabilirsiniz.

HTML’i vücutta iskelet sistemine benzetecek olursak CSS içinde o sistemi birarada tutan,deri gibi hepsini tek bi şekilde birleştiren yapı diyebiliriz.

CSS ögrenmek için gereken en önemli bilgi Temel HTML bilgisine sahip olmamızdır. HTML bilmeden CSS kodlarini kullanmaniz çok zor olacaktir.Çünkü ikisi içiçe geçmiştir.
Tek bir CSS dosyasiyla bütün sayfalarinizin stilini olusturabilecegimiz için bu sayfalarimizin boyutu küçülür ve sayfaların boyutu düşeceğinden yüklenmesi daha kolay olacaktır.CSS te HTML gibi öğrenmesi dillere göre öğrenmesi kolay ama fazlasıyla özelliği olan bir yapıdır.

CSS konusunda Internet Explorer, Mozilla Firefox, Google Chrome, Opera, vb browserlar css dosyanızı farkli yorumlayabilir.Boyle bir durumda Chromeda harika görünen bir sayfa farklı bir browserda içiçe geçmiş bir halde karşınıza çıkabilir.Hazırlıklı olun 🙂 Tabi bunun da çözümleri var.
Bir CSS dosyası oluşturmak için özel bir platforma ihtiyaç yoktur.Bir notepad sayfasına stil tanımlamalarımızı yapıp .css uzantılı olarak kaydettiğimizde bu dosyayı sayfamızda kullanabiliriz.Ancak daha özel ortamlarda var ve bunlardan b iri Microsoftun ürünü olan Expression Webtir ki dizayn konusunda da faydalı bir platformdur.Oluşturduğumuz CSS dosyalarını sayfalarımızda 3 farklı şekilde kullanabiliriz. Bunlar Yerel CSS, Genel CSS ve Harici CSS’dir.
Yerel CSS, sadece sayfa içerisinde tanimlandigi tagde geçerlidir.Sadece o tagin düzenlenmesini sağlar.
Buna karsilik genel stil sablonu ise tüm sayfayi kapsar.Bu stil şablonu da sayfanın içerisinde yazılır.Ancak global bi biçimde tüm sayfada geçerlidir. Harici stil sablonu ise ‘.css’ uzantili bir dosya olarak kaydedilir, kullanilacagi sayfalarda çagirilmak suretiyle tüm web sitesini kapsayabilir.CSS dosyasını head tagleri arasında

[php]<link href="style.css" rel="stylesheet" type="text/css" media="screen" /> [/php]

şeklinde yazılabilir.
Bunları kısaca örneklendirecek olursak;yerel css’te

[php]<a href="<a href="http://seydialkan.com/">www.seydialkan.com</a>&quot; style="color:blue; background:green; font:13pt Arial;">Seydi Alkan Kişisel Web Sayfası</a> [/php]

şeklinde html tagleri arasında style özelliği ile istediğimiz değişiklikleri buraya yazabiliyoruz.

Genel Css te ise head tagleri arasına yazdığımız style tagı ile stil şablonlarını yazıyoruz.

[php]

<head>
<style>
a{color:red;font:18pt Arial;}
p{width:50px; height:5px; background-color:blue;}
</style>
</head>

[/php]

Harici CSS te ise sayfanın yazıldığı kısımdan bağımsız ayrı bir dosyada stil şablonlarını yazarız.Daha sonra bunu yukarıdaki gibi sayfamıza ekleriz.
a{font-color: blue; margin: 5px;}
p{font:12px;}
div{width:100px; height;100%;}
kodudur. Kodu kendinize göre düzenleyip HTML sayfaniza eklediginizde CSS dosyanizdaki kurallar sayfaniza etki etmeye baslayacak

Özelliklere giriş yapacak olursam yazı fazlasıyla uzayacak o yuzden başka bir yazıda devam etmeyi düşünüyorum.

Şiir Kokulu Film – Kelebeğin Rüyası

“Bir ermiş bir gün rüyasında bir kelebek olduğunu görmüş… O kadar etkilenmiş ki, uyanınca kafası karışmış ve sorgulamış; ‘Rüyasında kelebek olduğunu gören ben miyim yoksa kelebek mi rüyasında ben olduğunu görüyor’ şeklinde güzel bi hikayeden bahsediyor film ve sonunda
“Belki bir kelebek o kadar memnun ki rüyasından
Uyanmak istemiyor uykusundan…” şeklinde harika bir cümleyle bir günlük ömrü olan kelebeğin rüyayı yaşama tercihinden bahsediyor.
Filmin hikayesinden önce ismi de yeterince dikkat çekici.Bir günlük yaşamı için kozalaktan çıkma mücadelesi veren kelebeğin rüyası ne kadar güzel olur kim bilir ..
Öncelikle ne oyuncuların oyunculuklarını yorumlayacak kadar oyunculuk bilgim ne de film hakkında fikir beyan edecek kadar sinema bilgim var.Ancak filmin çok hoşuma gidişi ve karakterlerin insanı hikayenin içine alan samimi oyunculukları sebebiyle film yüzünden bi yazı yazmak istedim.Oyunculuk demişken Mert Fırat harika bir oyunculuk çıkarmış.Ayrıca filmin hikayesi müthiş.Bir hikayenin şiir kaynaklı olupta güzel olmaması düşünülemezdi zati.
Verem olan iki şairin hikayesi bu film.Konu şair olunca oyuncu sözleri de şiirsel cümlelerle dolu oluyor.Senaryosunun elime geçmesini çok isterim doğrusu.Yoksa tek tek replikleri yazıcam.Aynı zamanda çok iyi arkadaşta olan bu şairler Zikri Bey’in kızı Suzan’ın Zonguldak’a gelmesiyle şiirsel bir iddiaya giriyorlar.İki şairin bu kızla tanışmak için yaratıcı bir fikri olur bunu söylemek isterdim ama olurda filme gidecek olan varsa orda görsün de hoşuna gitsin diye anlatmıyorum. Daha sonra arkadaş olan bu 3 arkadaş çok güzel vakti geçirmeye başlarlar.(Burada dikkatimi çeken bir şey arkadaşlıklarının çok samimice ve doğal olmasıydı.) Nerden anladın dersen gülüşlerinden.Çünkü gülmek çok şey anlatır.Daha sonra bu güzel arkadaşlıkları bir yandan verem hastalığı yüzünden bir tarafta da kızın babasının engellemeleri yüzünden bir kopuş yaşar ve hikaye devam eder.
Daha fazlasını daha gitmeyenler olabilir diye yazmak istemiyorum.

Gidilesi izlenilesi güzel bir film ..
Türkiye’deki şiir edebiyatına katkısı olacağı da şühesiz.
Teşekkürler Yılmaz ERDOĞAN

C#’ta Video Oynatma

C# kayıtlı bir videoyu oynatma ya da ıp’li bir kameranın görüntüsünü kaydetme gibi video yönetme componentlerine sahiptir.Video oynatmak için windows media player componenti C sharpın hazır componentleri arasında mevcuttur.Ancak özellik güvenlik kameralarında kullanılan görüntüyü anında alıp görüntü üzerinde gerekli kayıt işlemlerini yapmak istediğimizde bu kameraların  apilerini kullanmamız gerekiyor.IP numarları ile kameralara bağlanmak muhtemel ancak kameraların api’lerini kullanmak çok daha kolay ve verimli olacaktır.

Asıl konumuz olan  Windows media player componentini nasıl kullanıcağımıza dönmek istiyorum.Visual Studioyu kurduktan sonra sık kullanılan componentler  toolbaxta sıralı halde bulunmaktadır.Ancak çoğunluğu burada bulunmayan diğer toolboxları ekleyebiliyoruz.

Toolbox bolümünde  fareye sağ tıklayıp choose ıtems’a tıkladığımızda componnetleri bir arada bulacağımız bir çıkacaktır.Burada componentler Silverlight Components,Com Components,.NET Frameworks Components … şeklinde gruplandırılmışlardır. Bizim ihtiyacımız olan component Windows Media Playerdı bu component Com components grubunun altındadır.Buradan componenti seçerek hem kullanabiliriz hem de toolboxa ekleyebiliriz.Bu component media player componenti olduğu için pause,play gibi fonksiyonlarla videolarımızı yönetebiliriz.Yaptığım çalışmada form yüklenmeye başladığında videolarımında otomatik olarak başlanması istenmişti.O yuzden formun load fonksiyonuna

[php]
private void Form1_Load(object sender, EventArgs e)
{

axWindowsMediaPlayer1.URL = @"D:songvideo1.mp4";
axWindowsMediaPlayer1.Ctlcontrols.play();
}
[/php]

Componenti ekledikten sonra tek yapmamız gereken bu şekilde bir kod parçası yazmak.Media player’ın oynatacağı videonun urlsini yazıyoruz.play metodu ile seçilen videonun çalınması sağlanmış oluyor.Burada videonun url’sini kod kısmında yazmak yerine çok daha bir kolay var.O da openFileDialog denilen bir component bilgisayarımızdaki dosyalardan istediğimiz dosyayı seçmemizi sağlar.Onu daha sonra ayrıntılı yazmayı düşünüyorum.

JFrame Componentleri

Bu yazıda bir Java ile bir frame’de nasıl buton ve combobox oluşturacağımıza işleyeceğim.Buton oluşturmaya geçmeden önce JFrame sınıfından biraz bahsetmek istiyorum.JFrame javax.swing  paketinde bulunur.Frame programımızda kullanacağımız buton,combobox gibi componentlerin birarada gösterileceği penceredir.

JFrame ile yapılan işlemler GUI(Graphical User Interface) işlemleridir.GUI işlemleri ayrıca JApplet ile de yapılabilir.Temelde aynı işlevleri gerçekleştirebilen bu iki class arasında önemli fark uygulamalarda farklılık göstermesidir.JFrame desktop uygulamaları için tercih edilirken;JApplet browserda çalışacak uygulamalarda kullanılır.Buton,label,combobox,checkbox gibi componentleri kullanabilmek için oluşturacağımız java sınıfını bu iki sınıftan birinden extend etmemiz gerekiyor.

Bu yazıda penceremize label,buton nasıl ekleyebileceğimizi kodlayacağım.

Öncelikle import etmemiz gereken kütüphaneler

[php]

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

[/php]

Burada java.awt.* paketini componentleri kullanabilmek için import ettik.Bu şekilde paketi import ettikten sonra ayrıca 2.satırdaki event classını belirtmemize gerek yok.Benim özellikle kullanmamdaki amacım event sınıfından bahsetmek.event sınıfı componentlerde yapılan değişikliklere göre işlem yapılmasını sağlayan sınıftır.Örneğin butona tıkladığında ne yapılacağı yada checkboxa tıklandığında hangi işlemlerin gerçekleştirileceğini bu sınıf sayesinde gösterebiliriz.

[php]

class awtexamples extends JFrame{
private JLabel lbl;
private JButton btn;

public awtexamples(){
super("CheckBox");
setLayout(new FlowLayout());
lbl=new JLabel("Renk");
lbl.setBackground(Color.red);
add(lbl);
btn=new JButton("Click me!");
btn.setSize(50,50);
add(btn);

buttonHandler bh=new buttonHandler();
btn.addActionListener(bh);

}

[/php]

Burada Jframe sınıfını extend edip birer tane label ve buton oluşturduk.Sonrasında sınıfımızın constructorını oluşturup super sınıfıyla penceremizin ismini yazdırıyoruz.add(lbl) ile labeli Frame’e eklemiş oluyoruz.Butona tıklandığında yapılacak işlemleri buttonHandler sınıfı ile belirleyeceğiz.buttonHandler sınıfı aşağıdaki gibi olacaktır.

[php]

private class buttonHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
btn.setBackground(Color.red);
lbl.setText("clicked button");
}
}

[/php]

Yukarıda da görüldüğü gibi buttonHandler classımıza ActionListener sınıfını implements ediyoruz.Bunun sebebi sonraki satırda actionPerformed metodunu kullanmamız gerektiğidir. actionPerformed metodu butona tıklandığında neler yapılacağını gösteren metodtur.

1 3 4 5 6 7 9