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

21 Kasım 2010 Pazar

Javascript Trim


<html>
<body>
<textarea id="txt" rows="10" cols="40"></textarea>
<script type="text/javascript">

String.prototype.TrimLeft = function (chars) {
//debugger;
var re = chars ? new RegExp("^[" + chars + "]+/", "g")
: new RegExp(/^\s+/);
return this.replace(re, "");
}
String.prototype.TrimRight = function (chars) {
var re = chars ? new RegExp("[" + chars + "]+$/", "g")
: new RegExp(/\s+$/);
return this.replace(re, "");
}
String.prototype.Trim = function (chars) {
return this.TrimLeft(chars).TrimRight(chars);
}

var d = " ,asda,asdasd,asdasdads,asdasd, ";
var ta = document.getElementById("txt");
var sonuc = d.Trim().Trim(',');
ta.value = sonuc;
</script>
</body>
</html>

Denemesi:
http://jsfiddle.net/jsfiddleCem/hWPSB/

Güzel RegExp örnekleri:
http://gabrieljones.com/working-with-regular-expressions-in-javascript/

15 Kasım 2010 Pazartesi

Javascript ile window.open ve window.moveTo için 2 küçük fonksiyon


// Enum değerleri taşıyacak nesne
var Enum = new Object();

// Enum.KarakterBoyutu : Pencerenin body nesnesinin karakter büyüklüğünü değiştirmek için kullanacağım Enum.
Enum.KarakterBoyutu = { KUCUK: 10, ORTA: 12, BUYUK: 14 };

// Enum.EkranYeri : Pencerenin ekranın neresinde olacağını belirttiğim Enum
Enum.EkranYeri = { "SOL_UST": 1, "SOL_ORTA": 2, "SOL_ALT": 3, "ORTA_UST": 4, "ORTA_ORTA": 5, "ORTA_ALT": 6, "SAG_UST": 7, "SAG_ORTA": 8, "SAG_ALT": 9 };

// Enum.PencereAcOzellikleri : Yeni açılacak pencerenin varsayılan özelliklerini içeren Enum.
Enum.PencereAcOzellikleri = { width: 400, height: 100, top: 0, left: 0, toolbar: 0, menubar: 0, scrollbars: 0, resizable: 0, location: 0, directories: 0, status: 1 };

/* Basitçe Enum değerlerini değiştirmenin yolu
* Enum.PencereAcOzellikleri['width'] = 66;
* Enum.PencereAcOzellikleri.width = 55;
*/

//(
function f_YeniPencereOzellikleri(_width, _height, _top, _left, _toolbar, _menubar, _scrollbars, _resizable, _location, _directories, _status) {
Enum.PencereAcOzellikleri.width = _width;
Enum.PencereAcOzellikleri.height = _height;
Enum.PencereAcOzellikleri.top = _top;
Enum.PencereAcOzellikleri.left = _left;
Enum.PencereAcOzellikleri.toolbar = _toolbar;
Enum.PencereAcOzellikleri.menubar = _menubar;
Enum.PencereAcOzellikleri.scrollbars = _scrollbars;
Enum.PencereAcOzellikleri.resizable = _resizable;
Enum.PencereAcOzellikleri.location = _location;
Enum.PencereAcOzellikleri.location = _location;
Enum.PencereAcOzellikleri.directories = _directories;
Enum.PencereAcOzellikleri.status = _status;
return Enum.PencereAcOzellikleri;
}
//)

//(
function f_PencereAc(_sUrl, _sWindowName, _enumPencereOzellikleri, _enumEkranYeri) {
_enumPencereOzellikleri = _enumPencereOzellikleri
? _enumPencereOzellikleri
: Enum.PencereAcOzellikleri;

var sOzellikler = "";
for (var ozellik in _enumPencereOzellikleri) {
sOzellikler += ozellik + "=" + _enumPencereOzellikleri[ozellik]+",";
}

// Pencere nesnesinde açılmış pencerenin adını ve referansını taşıyoruz.
var Pencere = {};
Pencere.Adi = _sWindowName ? _sWindowName : 'pencere_' + Math.random(1000);
Pencere.PencereOzellikleri = _enumPencereOzellikleri;
Pencere.Window = window.open(_sUrl, Pencere.Adi, sOzellikler);

if (_enumEkranYeri) {
f_PencereyiTasi(_enumEkranYeri, Pencere);
}
}

function f_PencereyiTasi(_enumEkranYeri, _pencere) {
// Nokta ile pencerenin taşınacağı nihai nokta tutuluyor.
var Nokta = { Top: 0, Left: 0 };
// Ekranın ve pencerenin width ve height bilgilerini hesaplamak için tutalım.
var ekranW = screen.width;
var ekranH = screen.height;

var pencereW = _pencere.PencereOzellikleri.width;
var pencereH = _pencere.PencereOzellikleri.height;

switch (_enumEkranYeri) {
case Enum.EkranYeri.SOL_ALT:
Nokta.Left = 0;
Nokta.Top = ekranH - pencereH;
break;
case Enum.EkranYeri.SOL_ORTA:
Nokta.Left = 0;
Nokta.Top = (ekranH - pencereH) / 2;
break;
case Enum.EkranYeri.SOL_UST:
Nokta.Left = 0;
Nokta.Top = 0;
break;
case Enum.EkranYeri.ORTA_ALT:
Nokta.Left = (ekranW - pencereW) / 2;
Nokta.Top = ekranH - pencereH;
break;
case Enum.EkranYeri.ORTA_ORTA:
Nokta.Left = (ekranW - pencereW) / 2;
Nokta.Top = (ekranH - pencereH) / 2;
break;
case Enum.EkranYeri.ORTA_UST:
Nokta.Left = (ekranW - pencereW) / 2;
Nokta.Top = 0;
break;
case Enum.EkranYeri.SAG_ALT:
Nokta.Left = ekranW - pencereW;
Nokta.Top = ekranH - pencereH;
break;
case Enum.EkranYeri.SAG_ORTA:
Nokta.Left = ekranW - pencereW;
Nokta.Top = (ekranH - pencereH) / 2;
break;
case Enum.EkranYeri.SAG_ALT:
Nokta.Left = ekranW - pencereW;
Nokta.Top = ekranH - pencereH;
break;
}
_pencere.Window.moveTo(Nokta.Left, Nokta.Top);
}
//)

/*
Örnek Kullanımı:
<a href="#" onclick="f_PencereAc('resimYukleme.aspx?tur=URUNLER&id=<%=Request["id"] %>', 'UrunResmiYukle', f_YeniPencereOzellikleri(550,150),Enum.EkranYeri.ORTA_ORTA);">Resim Eklemek için Tıklayınız </a>
*/

11 Kasım 2010 Perşembe

Linq ile NULL alanların SUM ile toplanması

Püf nokta nullable olarak cast etmekte.

var puan = (from p in DAO.context.TblOrtalamaPuanlar
where p.M_RefTabloAdi.Equals("Videolar") && p.M_RefTabloPKId.Equals(this.M_VideoId)
select p.M_Puan).Sum(p => (int?)p)

8 Kasım 2010 Pazartesi

MSSQL 2005 Shrink Log ve Mdf

http://blog.sqlauthority.com/2006/12/30/sql-server-shrinking-truncate-log-file-log-full/ dediği gibi yaptı. 9 GB lık ldf 1.024 e geriledi :)

USE kanTahlilleri
GO
DBCC SHRINKFILE(kanTahlilleri_log, 1)
BACKUP LOG kanTahlilleri WITH TRUNCATE_ONLY
DBCC SHRINKFILE(kanTahlilleri_log, 1)
GO

2 Kasım 2010 Salı

SO jQuery Fiddle - jsFiddle - Online Editor for the Web (JavaScript, MooTools, jQuery, Prototype, YUI, Glow and Dojo, HTML, CSS)

HTML, CSS, JAVASCRIPT test sayfası.

SO jQuery Fiddle - jsFiddle - Online Editor for the Web (JavaScript, MooTools, jQuery, Prototype, YUI, Glow and Dojo, HTML, CSS)

Javascript ile metin içinde url bağlantısını A etiketi ile sarmak


<script type="text/javascript">
var metin = "blah http://www.yahoo.com ile Yahoo adresine http://google.com ile Google a bağlanabilirsiniz.";
var sonuc = metin.replace(/http:\/\/([a-z0-9.-]+)/g, '$1');
alert(sonuc);
document.write(sonuc);
</script>

MSSQL Server üstünde Kullanıcıya Profile edebilme izni vermek

 USE master
GRANT VIEW SERVER STATE TO kullaniciAdi
GRANT ALTER TRACE TO kullaniciAdi
GO

1 Kasım 2010 Pazartesi

Javascript ile Regular Expression

http://www.javascriptkit.com/jsref/regexp.shtml





var kaynak = "Bir rakamdan sonra 1 yazi aranacak.";

var filitre = /(\d+) yazi/;
var sonuc = kaynak .match( filitre );

console.debug(sonuc) ;


// ------ YA DA ----------------


var regEx = RegExp(/(\d+) yazi/);
var digerSonuc = regEx.exec(kaynak);

console.debug( digerSonuc );




http://stackoverflow.com/questions/369147/javascript-regex-to-extract-anchor-text-and-url-from-anchor-tags
var matches =[];

input_content.replace(/[^<]*(<a href="([^"]+)">([^<]+)<\/a>)/g, function(){

    matches.push(Array.prototype.slice.call(arguments, 1, 4))
});


This assumes that your anchors will always be in the form <a href="...">...</a> i.e. it won't work if there are any other attributes (for example, target). The regular expression can be improved to accommodate this.



To break down the regular expression:



/ -> start regular expression
[^<]* -> skip all characters until the first <

( -> start capturing first token
<a href=" -> capture first bit of anchor
( -> start capturing second token
[^"]+ -> capture all characters until a "
) -> end capturing second token
"> -> capture more of the anchor
( -> start capturing third token
[^<]+ -> capture all characters until a <

) -> end capturing third token
<\/a> -> capture last bit of anchor
) -> end capturing first token
/g -> end regular expression, add global flag to match all anchors in string


Each call to our anonymous function will receive three tokens as the second, third and fourth arguments, namely arguments[1], arguments[2], arguments[3]:




  • arguments[1] is the entire anchor

  • arguments[2] is the href part

  • arguments[3] is the text inside



We'll use a hack to push these three arguments as a new array into our main matches array. The arguments built-in variable is not a true JavaScript Array, so we'll have to apply the split Array method on it to extract the items we want:



Array.prototype.slice.call(arguments, 1, 4)


This will extract items from arguments starting at index 1 and ending (not inclusive) at index 4.



var input_content = "blah \    <a href=\"http://yahoo.com\">Yahoo</a> \
    blah \
    <a href=\"http://google.com\">Google</a> \
    blah";

var matches = [];

input_content.replace(/[^<]*(<a href="([^"]+)">([^<]+)<\/a>)/g, function () {
matches.push(Array.prototype.slice.call(arguments, 1, 4));
});
alert(matches.join("\n"));


Gives:



<a href="http://yahoo.com">Yahoo</a>,http://yahoo.com,Yahoo
<a href="http://google.com">Google</a>,http://google.com,Google