Aklımda Kalası Kelimeler

* давайте работать вместе
* Zarf ve Mazruf, Zerafet(xHoyratlık) ile aynı kökten(za-ra-fe) gelir
* Bedesten
* Suç subuta ermiştir - Suç sabit olmuştur

31 Mayıs 2010 Pazartesi

Microsoft hep aynı !!!



Bunun gibi nice haller microsoftta olurken google'da bir kez görmedim. Microsoft ürünlerinde yakaladıklarımı artık ifşa edicem. Rezil olacaklar :)

25 Mayıs 2010 Salı

Gelde .Net yaz


Bakmayın yukarıdaki hataya... Bir geliyor bir gelmiyor. Bir yüklüyor bir yüklemiyor yani.. Ken dll ini yükleyemiyor. Kendi sınıflarına erişemiyor... Hem de bir erişiyor bir erişemiyor...

Yok arkadaşım yok...
Küfre götürür bu ne zaman ne yapacağı belli olmayan dil ve ide.
Vazgeçiyorum .NET den!!!! Bu projeyi emekli ediim hele...

Atatürk'ün Kıvılcımları

İlk örtülü kuşet seyehatim :)

ASP.NET Custom Control Event Handler





MSSL de yedekleri otomatik sıkıştır

In SQL Server 2008 Enterprise and later only, used by the BACKUP Transact-SQL statement to select the backup compression setting if a user does not specify WITH COMPRESSION or WITH NO_COMPRESSION.

Ref: technet.microsoft.com

USE master;
GO
EXEC sp_configure ‘backup compression default’, '1';
RECONFIGURE WITH OVERRIDE;


Restrictions

The following restrictions apply to compressed backups:
* Compressed and uncompressed backups cannot co-exist in a media set.
* Previous versions of SQL Server cannot read compressed backups.
* NTbackups cannot share a tape with compressed SQL Server backups.

SQL 2005 için benim çözümüm


Harici bir batch çalıştırmak için xp_cmdshell çalışıtırılabilir olmalı.

EXEC master..xp_CMDShell 'ISQL -L'

Eğer yukarıdaki çalıştırılmak istendiğinde

Msg 15281, Level 16, State 1, Procedure xp_cmdshell, Line 1
SQL Server blocked access to procedure 'sys.xp_cmdshell' of component 'xp_cmdshell' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'xp_cmdshell' by using sp_configure. For more information about enabling 'xp_cmdshell', see "Surface Area Configuration" in SQL Server Books Online.

hatası alınıyorsa, xp_cmdShell önce aktif edilmeli. Bu kısmı burada buldum.

EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO

-- xp_cmdshell özelliğini aktif edelim
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE
GO


Artık EXEC master..xp_CMDShell 'ISQL -L' çalıştırıldığında sonuç aşapıdaki gibi olacaktır:


Şimdi batch dosyamızda oluşturulan bak dosyamızı sıkıştırabiliriz. Çeşitli konsol sıkıştırma komutları ile bunu yapabiliriz ama COMPACT komutu windows 2000 ile gelmiş fena sıkıştırmayan bir komut. 10.639 Kb lik dosyayı 4.1 MB a sıkıştırdı (winrar 1.2 kadar sıkıştırmıştı da neyse)


COMPACT /C C:\Projeler\db_backup\DenemeDb.bak
pause


Şimdi bu batch dosyayı çağırma işine bakalım:

21 Mayıs 2010 Cuma

QT Creator ile derleyebilmek için sistem ayarları



Bana benden notlar


Sistem ayarlarında değişiklikler ile derleyici düzün çalıştırabilmek. Aşağıdaki resimde otomatik olarak QT derleyici dosyaları taranıyor ve bulunuyor. Bunun için resmin altındaki yönergeleri izle.



Go to control Panel/System/Advanced/Environment Variables and make sure you have defined environment for QT:
QTDIR as C:\Qt\2010.02\qt
MINGW as C:\Qt\2010.02\mingw
PATH as C:\Qt\2010.02\qt\bin; C:\Qt\2010.02\mingw\bin;

16 Mayıs 2010 Pazar

AS 3.0 - KeyboardEvent ve KeyCombinations

Hikaye şu: Sahnede bir mc var içinde resim, W tuşuna bastınmı yukarı kaysın, Shift + W tuşuna bastın mı daha hızlı kaysın. Kod şu:


import flash.events.KeyboardEvent;

// W tuşuna basıldığında resmi ileri götürelim.
stage.addEventListener(KeyboardEvent.KEY_UP,f_ileri);

function f_ileri(e:KeyboardEvent):void
{
//W tuşunun kodu ne?
if (e.keyCode == 87)
{
mcArkaPlan.y -= 10;
}
// Shift+w tuşunda iki katı hız yapsın.
if (e.shiftKey && e.keyCode == 87)
{
mcArkaPlan.y -= 20;
}
trace("Tuş: "+e.keyCode+" , Shifte basildi mi? = "+ e.shiftKey);
}


Videosu:


Kodu biraz ötele. Oyun konsoluymuş gibi W tuşuna basılı tutuyorsa kullanıcı, sürekli basıldığını kontrol etmeli. Bunu da ENTER_FRAME olayı ile yap. W ye basılıysa 10 hızında arka planı kaydır, Shift+W ise 20 hızında, tuşa basmaktan vazgeçtiyse kaydırmayı durdur. İşte kod:

import flash.events.KeyboardEvent;
import flash.events.Event;

var hiz:Number;
// Sahnedeki her frame geçişinde kontrol edelim hızımız ne?
// hiz==0 ise mcArkaPlan kaymamalı.Durmalı.
// Shift tuşu olmaksızın gidiyorsak yavaş, shift tuşuyla hızlı gitmeliyiz
stage.addEventListener(Event.ENTER_FRAME,f_SonDurum);
function f_SonDurum(e:Event):void
{
if (hiz != 0)
{
mcArkaPlan.y += hiz;
}
}

stage.addEventListener(KeyboardEvent.KEY_DOWN,f_ileri);
stage.addEventListener(KeyboardEvent.KEY_UP,f_dur);

function f_ileri(e:KeyboardEvent):void
{
// W tuşuna basıldığında resmi ileri götürelim.
if (e.keyCode == 87)
{
hiz = -10;
}
// Shift+w tuşunda iki katı hız yapsın.
if (e.shiftKey && e.keyCode == 87)
{
hiz = -20;
}
trace("Tuş: "+e.keyCode+" , Shifte basildi mi? = "+ e.shiftKey);
}

function f_dur(e:KeyboardEvent):void
{
hiz = 0;
}


AS 3.0 - MCden Düğme

3 Sabit metni, mc ye dönüştür. Bunların buttonMode özelliğini (her mc nin varsayılan false gelir) true yap. Bu düğmelere tıklandığında arkalarındaki planın(bu da 4 frameli bir mc) durduğu çerçeveyi değiştiren bir fonksiyon yaz. Böylece arka plan rengini(mcArkaPlan'ın çerçevesini) kodla değiştirmiş ol. Aşağıda kodu, resmi, videosu var.


import flash.events.MouseEvent;
import flash.events.Event;

mcKirmizi.buttonMode = true;
mcMavi.buttonMode = true;
mcYesil.buttonMode = true;

// tiklandiginda arka plan rengi degissin.
// tiklanma = MOUSE.CLICK eventini bir fonksyiona baglayacagiz.
mcKirmizi.addEventListener(MouseEvent.CLICK,f_tiklandi);
mcMavi.addEventListener(MouseEvent.CLICK,f_tiklandi);
mcYesil.addEventListener(MouseEvent.CLICK,f_tiklandi);

mcKirmizi.frameNo = 2;// ikincisi kirmiz arka plandi
mcMavi.frameNo = 3;// mavi arka plan 3. frame idi
mcYesil.frameNo = 4;// yeşik arka plan 4. frame idi

function f_tiklandi(e:Event):void
{
// sahnedeki arka plan mc sinin frame'ini degistirecegiz
// tiklanan butona gore.
// o zaman butonlara bir ozellik ekleyelim, hangi frame e gidecegimizi
// anlayabilmek icin.
// hangi düğmeye tıklanmışsa o bize currentTarget ozelligi ile gelir
// DELPHI, C# v.s. deki sender gibi.

// ya gidecek. Kim? mcArkaPlan
var cerceveNo:Number = e.currentTarget.frameNo;
mcArkaPlan.gotoAndStop(cerceveNo);
}





Video:

AS 3.0 - MOUSE.OVER Olayı

Bir mc oluştur, ve ilk framine stop yaz ki sahneye koyduğunda çalışmasın. Çalışması işini mouse eventlerinden over ile yapacaksın.

Bir fonksiyon yaz ki mouse.over eventi ile tetiklensin. Aşağıdaki kod parçasını sahnede actions diye açtığın katmana(kodu ayrı kata koymak gelenektir) ilk frame e yaz. Bitti işte.

import flash.events.MouseEvent;
import flash.events.Event;

mcDaire.addEventListener(MouseEvent.MOUSE_OVER,f_Oyna);
function f_Oyna(e:Event):void
{
e.currentTarget.play();
}




15 Mayıs 2010 Cumartesi

AS 3.0 - ENTER_FRAME Olayı

ENTER_FRAME olayı, listenerı ataçlanmış objenin her FRAME'e girişinde ilişkilendirilmiş fonksiyonu çalıştırması için kullanılır.

ObjeninAdresi.addEventListener( EVENTinTipi,FonksiyonunAdi )

Aşağıdaki kodu önce sahneye bir movieclip koyduktan sonra, F9 ile action girişi yapılarak aşağıdaki kod eklenir. Sonuçta mc her frame e girdiğinde 3 pixel ilerler. Animasyonu kod ile oluşturmuş oluruz.

import flash.events.Event;

// [this,root].[objeninInstanceAdi].addEventListener(
// objenin tetiklenecek Eventinin Tipi,
// bu event olduğunda tetiklenecek fonksiyon );
this.mcDaire.addEventListener(Event.ENTER_FRAME,f_DaireyiIlerlet);

// Event olduğunda tetiklenecek fonksiyon
function f_DaireyiIlerlet(e:Event):void
{
e.currentTarget.x += 3;
}




TIMER ve TimerEvent


Her ENTER_FRAME olduğunda yukarıdaki işlem gerçekleşiyordu. Sahnede 12 ya da 24 ya da her ne kadar frame bir saniye olsun dediysek, o kadar kez o frame işlenecek. Saniyeyide Timer ile ölçümlemek istesem, aşağıdaki kod parçacığı işimi görecek.

var timer:Timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER,fTimer);
timer.start();

var iTimer:Number = 0;
function fTimer(e:TimerEvent):void
{
iTimer++;
trace("Saniye "+ iTimer);
}

AS 3.0 - Classes must not be nested

"Classes must not be nested" yani AS sınıflarını .as uzantılı bir dosyaya taşımalı ve bu dosyaların bulunduğu klasör yapısına göre paket adını belirtmelisin (Javadaki gibi).



package ilkKlasor.SiniflarKlasoru.BaslangicSiniflari
{

public class SelamDunya
{
public function SelamDunya()
{
// constructor code
}

public function f_Merhaba():String
{
return "Sealm Dünyalı!";
}

}

}



Eskiden olduğu gibi bir katman AS için tutulur. Eskiden farklı olarak paket import edilerek sınıftan bir nesne oluşturulup yine eskiden olduğu gibi sahnedeki controlün propertisine, oluşturulan nesnenin metodu atanır.

import ilkKlasor.SiniflarKlasoru.BaslangicSiniflari.SelamDunya;

var selamunAleykum = new SelamDunya();

txtSelam.text = selamunAleykum.f_Merhaba();


10 Mayıs 2010 Pazartesi

Biz puta tapsak ne olurdu ?



Bu resim nerede çekilmiş bilmiyorum ama bildiğim şu ki; ya gavurun heykelinin oralarda kuş yok ya da bizden daha imanlılar (temizlik imandan geliyor ya o hesap).