Bugün: 07/10/2008. Hoşgeldiniz!

Nisan, 2008

Bu sorunla yeni pc alan bazı arkadaşlar karşılaşmıştır.Bildiğiniz gibi çift çekirdekli cpu lar artık kullanılmaya başlandı.çift çekirdekli cpu mimarisinden önce çıkan bios versiyonları açılışta böyle bir hata verir ve "F1" tuşuna basarak bilgisayarımızı açabiliriz.

Pek çok forumda bu hatanın giderilmesi için bios'un upgrade edilmesinden bahsedilir.ama bios upgrade edilmeden de bu sorunu yine bios ayarlarından çözebiliriz.

Bunun için

Bios içinde BOOT->Boot Settings configuration->Wait For "F1" If error ->"Disabled" şeklinde değiştirirsek artık açılışta "F1" tuşuna basmamıza gerek kalmayacak.

kaynak: ordan burdan

Son dönemde hemen herkesin ağzında Plazma ve LCD televizyon lafı dolaşıyor. Satın alırken hangisini tercih etmek gerekiyor?

Teknolojik gelişmelerle birlikte eski tüplü televizyonlarımız evlerimizdeki yerlerini bir bir kaybediyorlar. Yerleriniyse ince yapılı modern televizyonlar alıyor. Plazma ve LCD teknolojisiyle yaratılan bu televizyonların hangisi daha başarılı? Hayatımızı son birkaç yıl içinde giren bu iki teknolojiyi sizler için mercek altına aldık. Hemen hemen tüm teknolojik ekipmanda olduğu gibi satın alma kararını belirleyen en büyük etmen hiç kuşkusuz ihtiyaç ve kullanma alışkanlığı. Her iki teknolojinin de sundukları arasında seçim yapmak gerçekten hayli zor. Ancak şimdiden hangi teknolojinin galip geleceğini yine tüketicilerin göstereceği talep belirleyecek. Bu noktada dikkat edilmesi gereken bir diğer nokta da LCD'nin büyük ölçüde gelişmekte olan bir görüntü teknolojisi olduğu…

Plazma teknolojisi ise büyük ekranlar söz konusu olduğunda uzunca bir süredir pazarın büyük oyuncularından birisi. Geçmişinin de eski oluşu satın alma kararlarında tüketicilerin bu teknolojinin eski kaldığı görüşüne sahip olmasına yol açabiliyor. Sonuç olarak gerçekten büyük ekranlı bir TV (40 inç ve üzeri) istiyorsanız plazmanın sunduğu avantajlar tartışılmaz. Ancak daha küçük ekranlı (40 inçin altı) bir TV düşünüyor ve HD (High Defination) yayınların keyfine tam olarak varmak istiyorsanız LCD'lerin sahip olduğu yüksek çözünürlük sizi memnun edecektir.

Plazma ve LCD TV'lerin fiziki yapıları aralarındaki tek benzerliği oluşturuyor. Dolayısıyla her iki ekran türü de ince ve düz yapılarıyla yerine aday oldukları tüplü televizyonlara göre son derece az yer kaplıyorlar. Görüntülerin ekranda nasıl oluşturulduğuna gelirsek; plazma da, pikseller fosforlu bir maddeyle kaplı, gaz dolu hücrelerden oluşurken, bunların elektrik akımı sayesinde parlaması ekranda görüntülerin oluşmasını sağlıyor. LCD TV'lerin parçalarıysa pikseller arkada yer alan bir floresan ışığı ve likit kristal hücrelerden oluşmakta. İki cam panel arasına sıkışmış olan bu sıvı kristal, elektrik akımının floresanla etkileşimi ile renk değiştirerek ekranda görüntü oluşmasını sağlıyor. Ekranın arkasındaki teknoloji çoğu izleyicinin merak ettiği en son şey olduğundan, rakip teknolojilerin ortaya koyduğu görüntü kalitesine geldiğimizde hem plazmanın hem de LCD'nin mükemmele yakın resim kalitesine sahip olduğunu söylemek mümkün.

Plazmanın LCD'ye üstünlükleri

Her iki görüntü teknolojisinin de birbirlerine göre üstün yönleri mevcut. Plazma teknolojisini tercih etmenin uygun olacağı durumlara bir göz atmamız gerekirse… Evinizde bir sinema salonuna mümkün olduğunca yakın bir deneyim yaşama amacındaysanız plazma teknolojisinin size sunduğu bazı avantajlar olabilir. Plazmanın sunduğu bu avantajların başında siyah rengi gerçeğe LCD'ye göre daha yakın biçimde yansıtabilmesi geliyor. Özellikle karanlık sahnelerde kontrast ve ayrıntı söz konusu olduğunda plazmanın görüntü kalitesi LCD'ye nazaran daha gerçekçi bir sinema deneyimi yaşatıyor. LCD TV'de panelin arkasında yer alan floresan yüzünden pikseller arasında ışık sızmasının tam anlamıyla siyah rengin gösterilmesini engelliyor. Ancak gelişen teknoloji sayesinde LCD'nin yeni jenerasyonlarıyla bunu aşmasına kesin gözüyle bakılıyor. Plazmanın tercih sebebi olmasına yarayabilecek bir diğer önemli özelliği de izleyiciye sunduğu geniş izleme açısı. Ekrana tam karşıdan bakılmasının mümkün olmadığı durumlarda, yanlardan bakıldığında oluşan görüntü kaybı izlenen program veya film keyfinin kaçmasına yol açabiliyor. Plazmanın bu durumda yanlardan bakıldığında bile 160 dereceye kadar sunduğu izlenebilir görüntü, bu teknolojinin birden fazla izleyicinin bulunduğu oturma odaları ve diğer ortamlarda kullanımına imkan veriyor. LCD'lerin bazı üst seviye modellerde geniş izlenme açılarını yakaladıkları hatta kimi durumlarda plazmayı geçtikleri dahi söylenebilir ama piyasada bulunan modellerin genelinde böyle bir kalite söz konusu değil. Plazmanın LCD'ye üstün olduğunun söylenebileceği bir diğer kriter de hızlı değişen görüntülerde oluşan gölge efektinin yokluğu. Görüntüyü oluşturan piksellerin renk değişimine gerektiği kadar hızlı tepki verememesi sonucu oluşan bu durumun doğrudan tercih sebebi olduğu günler tarihe karışıyor diyebiliriz. Zira LCD teknolojisi bu konuda geçtiğimiz yıllar içinde önemli yol kat etmiş durumda. Özellikle spor karşılaşmalarında veya aksiyon filmlerindeki hareketli görüntülerde oluşabilen iz bırakma etkisi yeni LCD ürünlerinde hemen hemen fark edilmeyecek seviyeye çekildi. Son olarak ekran ebatlarına baktığımızda plazmanın LCD'ye kıyasla belki de en büyük avantajının ekran boyutları olduğunu görüyoruz. Özellikle 40 inç ve üzeri modellerde LCD'nin varlık gösterememesi büyük ekran tutkunlarını doğrudan plazmaya yöneltiyor. 65 inçe kadar bulunabilen plazma TV'lere karşın LCD'lerin ulaştığı azami ekran boyutları genellikle 40 inç civarında seyrediyor.

LCD'nin plazmaya göre üstünlükleri

Bazı noktalarda LCD'nin plazma üzerine getirdiği ciddi avantajlar ve tercih sebebi olabilecek hususlar mevcut. Bunlardan ilki LCD'lerin benzer ebatlardaki plazmalara göre daha yüksek çözünürlüğe sahip olmaları. Ekran üzerinde daha çok piksel anlamına gelen bu çözünürlük fazlalığı yakın gelecekte HD (High Definition) yayın ve içerikle birlikte kendini daha da belirginleştirecek. HD görüntü şimdilik yayın yokluğu yüzünden çok şey ifade etmemekle birlikte, HD yayınların ve diğer kaynakların yaygınlaşması yüksek çözünürlükleri sayesinde LCD'lere olan rağbeti artırabilir. LCD'lerde artı olarak değerlendirilebilecek bir diğer nokta da enerji tüketimi. Plazmaya kıyasla yüzde 30 daha az enerji sarfiyatı sayesinde LCD'yi seçmek, TV bağımlılarının elektrik faturalarında tasarruf anlamına geliyor. LCD TV'lerin plazmalara göre belirgin biçimde hafif olmaları taşıma ve duvara monte gibi işlerde kullanıcısına kolaylık sağladığı bir diğer alan. Ayrıca LCD'lerin yapısının plazma kadar hassas olmayışı plazmaların aksine nakliye ve kurulum için özel dikkat edilmesini gerektirmiyor. LCD'lerin öne çıktığı önemli diğer bir nokta da plazmalara göre daha uzun ömürlü olmaları. Kullanıcının yatırımının karşılığını alması açısından plazmaya göre kimi modellerde iki misli avantaj sağlayan LCD, 60 bin saate kadar kullanım ömrü sunuyor. Neredeyse 5 yıl boyunca 24 saat kullanım anlamına gelen bu rakam ilk plazma modellerinde 20 bin saatken daha yeni modellerde ortalama 30 bin saat civarında seyrediyor. Son olarak plazmalarda görülen "burn-in" efekti yani ekranda sabit duran görüntünün ekranın fosfor tabakasına zarar vererek sabit hale gelmesi LCD'lerde rastlanan bir durum değil. Özellikle tercih edilen kanal logolarının zamanla ekrana kazınması anlamına gelen bu durumun teknolojinin gelişmesiyle yeni plazma modellerinde büyük ölçüde azalmış olduğu söylenebilir. Ancak yine de LCD'nin yapı olarak burn-in efektinin oluşmasına imkan vermemesi önemli bir artı.

High Definition TV nedir?

Yüksek çözünürlüklü dijital TV anlamına gelen HDTV, televizyon yayınlarının geleceğini temsil ediyor. 720 veya 1080 piksel arasında görüntü sunan formatlara sahip olan HDTV, halen mevcut olan TV yayınlarıyla kıyaslandığında netlik konusunda adeta yeni bir çığır açıyor. Görüntü netliğinde olduğu kadar ses konusunda da yeni bir dönem başlatan HDTV, Dolby'nin geliştirdiği Dolby Digital (AC3) çevresel ses formatını kullanıyor. Almayı düşündüğünüz TV ister plazma ister LCD olsun üzerinde HD-Ready (HD'a hazır) logosu bulunması yüksek çözünürlüklü bu yayınlara hazır olduğu anlamına geliyor.

kaynak: ordan burdan

SPAM, biz istemesekte gelen tanıtım, satış yada biraz sonra bahsedeceğim farklı nedenlerle gönderilen rahatsız edici istenmeyen postalara verilen dünya çapındaki isim.

Gerçek de olabilir, Kandırmaca da.

Örnek verecek olursak: "ürünlerde kampanya" "ilk üye olan bilmemkaç kişiye bedava bilmemne" gibi şeyler.

Ama SPAM konusunda bilmemiz gereken asıl önemli konulara gelince:

Phishing ismi verilen bu mailleri açan "kurbanlar"dan para koparma taktikleri, çeşitli hesaplarını elde etme amaçları gibi çok önemli durumlar da söz konusu.
Ayrıca virüslerin yaygınlaşması içinde çok kullanılan bir yöntem.

Bizim bu konuda dikkat etmemiz gereken noktaya gelince:

Herkesin mail kutusuna arkadaşından, eşinden, dostundan etkileyici, merak uyandırıcı, başkaları ile paylaşma isteği uyandıran yada paylaşıma zorlayan mailler gelir. Bizde bunları toplu şekilde listemizdeki herkese göndeririz. Forward ederiz. İletiriz.

Bunların başlıcaları: Amerika'nın ülkemiz ile ilgili komplo teorileri, bilmemkaç kişiye göndermezsek başımıza felaket geleceğinden bahseden mailler, Coca-cola'nın tuvalet temizleyici olduğu, Bill Gates'in servetini paylaştığı, maili paylaşırsak bir aç'ı doyuracağımız, LCW'nin ortakları bilmem kim olduğu, Bilmemkaç kişiye göndermezsek başımıza olmadık felaketler geleceği… gibi. Bu bahsettiklerim "ünlü internet efsaneleri"nden sadece birkaçı. Tahmin edebileceğiniz gibi hepsi; YALAN. Mailin ulaştığı kişinin bu maili paylaşması için gönderilmiş, özellikle yayılması amaçlanarak üretilmiş senaryo haberler.

Hepimize hemen hergün birkaç tane geliyor bunlardan.

Peki bu SPAM mailler neden geliyor? neden üretiliyor?

Üretilen senaryo haber, SPAM göndericisi tarafından binlerce kişilik mail listesine bir kez gönderiliyor.
Emaili alan bizler içeriğin doğru olup olmadığını bile araştırıp, düşünmeden hemen eşimizi dostumuzu bilgilendirmek için göndermeye başlıyoruz. SPAM'ı ilk atan kişinin maili de listede olduğu için, gönderilen her kişinin mail adresi kötü niyetli kişilerin eline geçiyor. Bu maillerin içinde "siz eklediğinizi için" sevdiklerinizin mail adresleri de bulunuyor. SPAM mail bir anda milyonlarca kişiye ulaşıyor.

Her mail gönderiminde belkide yüzlerce yeni e-mail adresi ekleniyor SPAM göndericinin listesine ekleniyor.
Bizde saf saf insaları bilinçlendirdiğimizi ve onlara yardımcı olduğumuzu sanıyoruz bu arada.

Bu durumda ne yapmalıyız peki?

Önce bu maillerin içeriğinde bir haber varsa, doğru olup olmadığını bir araştırın. Mantığınız ile tartın.
Ya da içeriğini gerçekten beğenip paylaşmak istiyorsanız,
Mesajın sadece göndermek istediğiniz kısmını seçip kopyalayın, ve yeni ileti oluşturup buraya yapıştırın.
Göndereceğiniz kişilerin adreslerini "Bcc:" kısmına yazın. "To: (kime)" kısmına sadece kendi adresinizi yazın. Bu şekilde mesajı alan kişi mesajın kopyasını aldığını bilecek, diğer gönderdiğiniz kişilerin adreslerini göremeyecek, ayrıca sizde mesajınızın düzgün gidip gitmediğini de kontrol etmiş de olacaksınız.

Mail listenizi ele geçirmeye çalışan kişiler amaçlarına ulaşamayacaklar. Arkadaşlarınızı da korumuş olacaksınız.

Ek Notlar:
Beğendiğiniz bir yazı bulduğunuzda o yazıyı mail olarak atmak yerine sayfanın linkini adres bardan kopyalayıp mail metninize yapıştırarak gönderin. (Tüm yazıyı göndermektense, link göndermek internetin geleceği açısından da çok faydalı olacaktır.) Sizde interneti bilinçli kullanmış ve kullandırmış olacaksınız.

Ayrıca, Outlook gibi bir mail izleme programı kullanıyorsanız, bu alışkanlığınızdan vazgeçmenizi ve kullanımı daha hızlı ve kolay olan Gmail'i kullanmanızı tavsiye ederim. Gmail artık tüm e-posta hesaplarınızı kontrol etmenizi sağlayacak, kullanımı çok kolay olan bir paneli size sunuyor. Üstelik TÜRKÇE, Üsteli BEDAVA…

kaynak: ordan burdan

function FormatDateTime(DateTime, FormatType)
{
if (DateTime == null)
return (false);

if (FormatType < 0)
FormatType = 1;

if (FormatType > 4)
FormatType = 1;

var strDate = new String(DateTime);

if (strDate.toUpperCase() == "NOW")
{
var myDate = new Date();
strDate = String(myDate);
}
else
{
var myDate = new Date(DateTime);
strDate = String(myDate);
}

var Day = new String(strDate.substring(0, 3));
if (Day == "Sun") Day = "Sunday";
if (Day == "Mon") Day = "Monday";
if (Day == "Tue") Day = "Tuesday";
if (Day == "Wed") Day = "Wednesday";
if (Day == "Thu") Day = "Thursday";
if (Day == "Fri") Day = "Friday";
if (Day == "Sat") Day = "Saturday";

var Month = new String(strDate.substring(4, 7)), MonthNumber = 0;
if (Month == "Jan") { Month = "January"; MonthNumber = 1; }
if (Month == "Feb") { Month = "February"; MonthNumber = 1; }
if (Month == "Mar") { Month = "March"; MonthNumber = 1; }
if (Month == "Apr") { Month = "April"; MonthNumber = 1; }
if (Month == "May") { Month = "May"; MonthNumber = 1; }
if (Month == "Jun") { Month = "June"; MonthNumber = 1; }
if (Month == "Jul") { Month = "July"; MonthNumber = 1; }
if (Month == "Aug") { Month = "August"; MonthNumber = 1; }
if (Month == "Sep") { Month = "September"; MonthNumber = 1; }
if (Month == "Oct") { Month = "October"; MonthNumber = 1; }
if (Month == "Nov") { Month = "November"; MonthNumber = 1; }
if (Month == "Dec") { Month = "December"; MonthNumber = 1; }

var curPos = 11;
var MonthDay = new String(strDate.substring(8, 10));
if (MonthDay.charAt(1) == " ")
{
MonthDay = "0" + MonthDay.charAt(0);
curPos–;
}

var MilitaryTime = new String(strDate.substring(curPos, curPos + 5));
var Year = new String(strDate.substring(strDate.length - 4, strDate.length));

// Format Type decision time!
if (FormatType == 1)
strDate = Day + ", " + Month + " " + MonthDay + ", " + Year;
else if (FormatType == 2)
strDate = MonthNumber + "/" + MonthDay + "/" + Year.substring(2,4);
else if (FormatType == 3)
{
var AMPM = MilitaryTime.substring(0,2) >= 12 && MilitaryTime.substring(0,2) != "24" ? " PM" : " AM";
if (MilitaryTime.substring(0,2) > 12)
strDate = (MilitaryTime.substring(0,2) - 12) + ":" + MilitaryTime.substring(3,MilitaryTime.length) + AMPM;
else
{
if (MilitaryTime.substring(0,2) < 10)
strDate = MilitaryTime.substring(1,MilitaryTime.length) + AMPM;
else
strDate = MilitaryTime + AMPM;
}
}
else if (FormatType == 4)
strDate = MilitaryTime;

return strDate;
}

kaynak: ordan burdan

Diğer Konular - Sql Plus (scripti, nasıl, nedir?)

Yazan: admin Tarih: Nisan - 15 - 2008

Yardımcı Komutlar:
Sql komutları sadece hafızada tutulurlar. İşletilen her komut hafıza tutulur. O yüzden kullanıcının isini kolaylaştırmak için bazı ek komutlara ihtiyaç duyulmuştur. Sql Plus 'a girmek için komut satırında şu şekilde girilir;

SQLPLUS [kullanıcı adı [/şifre [@Database]]]

A[PPEND] Text –>Satir sonuna kelime ekler.
C[HANGE] /eski/yeni –>eski text yerine yeni text ekler. Yeni alanı bos bırakılırsa eski alan olarak belirtilen text silinir.
CL[EAR] BUFF[ER] –>SQL hafızasındaki tüm satırları siler, hafızayı boşaltır.
DEL –>Aktif olarak bulunduğu satiri siler. Satir no belirtilirse o satiri siler.
I[NPUT] Text –>Satir arasına Text ifadesiyle belirtilen cümleyi ekler.
L[IST] –>Hafızadaki tüm satırları listeler.
L[IST] m n –>Sadece m ile n arasındaki satırları listeler.
R[UN] –>Hafızadaki SQL satirini çalıştırır. Ayni işlevi "R,r,/, ; " karakterleride yapar.
n Text –>n satırındaki cümleyi Text ifadesi belirtilen alana yazılan cümle ile değiştirir.
0 Text –>Bulunduğu satırdan bir önceki satıra yeni alan açar ve text 'i oraya ekler.
SAVE Dosya –>Hafızadaki komutu belirtilen dosya adı altında saklar.
GET Dosya –>Belirtilen dosyayı hafızaya yükler.
START Dosya–>Belirtilen dosyayı direkt çalıştırır. Hafızaya yüklemez. @ işaretide aynidir.
ED[IT] Dosya–>Belirtilen dosyayı bir editör içinde açar.
SPOOL –>Ekranda yapılan her türlü isi dosyaya atar. SPOOL OFF ile dosyaya kayıt işlemini durdurur.
EXIT –>SQL 'den çıkış sağlar.
HELP Komut –>Belirtilen komut için açıklayıcı bilgi verir.

SQL Plus Fonksiyonları:
Fonksiyonlar sayesinde;Datalar üzerinde hesap yapabilir, Datalar üzerinde değişiklikler yapılabilir, Grup oluşturularak bu kayıtlar için kullanılabilir. Tarih datası çeşitli formatlarda görüntülenebilir, Kolon tipleri değiştirilebilir. İç içe fonksiyonlar tanımlanabilir. Öncelikle içteki fonksiyon çalışır. Çıkan sonuca göre dıştaki fonksiyon işlem görür.
Sys.Dual : Oracle database 'inde bulunan tek kolon ve tek satırdan oluşan bir tablodur. Belirli bir tablodan değerler almadan fonksiyonların kullanılması gerektiğinde bu tablo kullanılır.

Karakter Fonksiyonları:
LOWER(Text) : Text olarak belirtilen alanı küçük harfe çevirir.
UPPER(Text) : Text olarak belirtilen alanı büyük harfe çevirir.
INITCAP(Text) : Text olarak belirtilen alanın bas harfini büyük diğerlerini küçük harfe çevirir.
CONCAT (Text1,Text2) : Text1 olarak belirtilen alan ile Text2 alanını birleştirir. ' || ' simgeside aynidir.
SUBSTR(Text,m,n) : Text alanının m. karakterinden itibaren (m. karakter dahil) n kadar karakter alır. LENGTH(Text) : Text alanın karakter uzunluğunu Sayısal olarak verir.
NVL(KOLON,DEGER) : Kolonun aldığı değer null ise değer alanında belirtilen değeri verir.

Sayısal Fonksiyonları :
ROUND(Sayı,m): Sayı alanına girilen rakam, m olarak belirtilen ondalık kadar yuvarlar.

Örneğin;

ROUND(45.923,2) –>45.92
ROUND(45.923,0) –>46
ROUND(45.923,-1) –>50
ROUND(45.951,2) –>45.92
ROUND(45.929,2) –>45.93

TRUNC(Sayı,m): Sayı alanına girilen rakam, m olarak belirtilen ondalık kadar sondan keser.

TRUNC(54.923,2) –>45.92
TRUNC(54.923,-1) –>40
TRUNC (54.929,2) –>45.92

MOD(m,n) : m Sayısı n Sayısına bölündüğünde kalan rakamı bulur.

Zamansal Fonksiyonları ve İşlemleri:

Tarih + Sayı –>Tarihe Sayı kadar gün ekler.
Tarih - Sayı –>Tarihe Sayı kadar gün çıkarır.
Tarih - Tarih –>İki tarih arasındaki gün farkını Sayısal olarak verir.
Tarih + Sayı / 24 –>Tarihe Sayı kadar saat ekler.
SYSDATE –>Sistem tarihini verir. Oracle 'ın varsayılan tarih formatı 'DD-MON-YY' seklindedir. Üzerinde aritmetiksel işlemler yapılabilir.
MONTHS_BETWEEN(tarih1,tarih2)–>İki tarih arasını ay olarak bulur.
ADD_MONTHS (tarih,n) –>Tarihe n kadar ay ekler.
NEXT_DAY(tarih,' gün' ) –>tarih 'den sonraki günün ilk tarihini verir.
LAST_DAY(tarih,' gün' ) –>tarih 'den önceki günün ilk tarihini verir.
ROUND(tarih[,' fmt '] ) –>tarih 'i belirtilen formata göre aya veya yıla göre yuvarlar.
TRUNC(tarih[,' fmt '] ) –>tarih 'i belirtilen formata göre aya veya yıla göre keser.

Çevirme Fonksiyonları:

TO_CHAR(Sayı,['fmt']) : Girilen tarih veya Sayıyı karakter tipine çevirir.

Tarih parametreleri;

YYYY –>Yılı rakamsal olarak gösterir.
YEAR àYılı yazısal olarak verir.
BC –>Millattan önce ve sonrası için zaman verir.
MM –>Ayi rakamsal olarak gösterir.
MONTH –>Ayi yazısal olarak verir. Belirtilen ülkenin tarih yazısıyla verir.
MON –>Ayi yazısal sadece ilk 3 harfini verir. Belirtilen ülkenin tarih yazısıyla verir.

RM –>Ayi roma rakamıyla gösterir.
DD –>Günü rakamsal olarak gösterir.
DAY –> Günü yazısal olarak verir.

Sayısal parametreleri;

–> Rakamdır.
–> Sıfır rakamı verir.
$ –> Rakamın başına $ işareti koyar.
. –> Ondalık haneye ayırır.
, –> Rakamı 3'er hane ayırarak aralarına virgül koyar.
MI –> Negatif Sayılar için sonuna - işareti koyar.

Örneğin " x nolu kişi xxx'dir." Formatında ekrana liste oluşturalım (id number);

SELECT TO_CHAR(id) || ' nolu kişi ' ||name||'dir.'

Örneğin sistem tarihini DD-MM-YYYY olarak gösterelim;

SELECT TO_CHAR(sysdate,' DD-MM-YYYY')

Örneğin sistem zamanını HH:MI olarak gösterelim;

SELECT TO_CHAR(sysdate,' HH:MI' )

TO_NUMBER (Karakter) : Girilen karakteri Sayısal ifadeye çevirir.
TO_DATE(char, ['fmt']) : Girilen karakteri belirtilen formatta tarih formatına çevirir.

Örneğin tarih kolonundaki değerleri, 7 /11/1998 tarihine eşit olanların listesini oluşturalım. Ama kolon değerleri string olarak ayin uzun ad, günü ve yılı Sayısal olarak kayıtlıdır. Bu sorunu çözmek için kullanılır;

SELECT no, maas
FROM Personel
WHERE MAAS_TARIH=TO_DATE('KASIM 7, 1998', 'Month dd,YYYY')

Tablolar Arasında İlişki Kurulması (JOIN):
* Birden fazla tabloyla ilişki kurularak ortak sorgulama yapılmasıdır. Tabloları belli bir ortak kolona göre birleştirmek için join yöntemi kullanılır. Bunun için öncelikle tablolardaki kolonlar ayni tipte ve ayni büyüklükte olmalıdır.
Yazılımı:

SELECT table1.kolonları,table2.kolonları
FROM table1, table2
WHERE table1.kolon1=table2.kolon2

İki tabloyu birleştirmek için iki tabloda ortak bulunan kolonları where kotulu içinde editleriz.
Örneğin personel adı ve bulunduğu departman listesi için;

SELECT a.*,b.*
FROM personel a , departman b
WHERE a.dept_id=b.dept_id

Böylece personel tablosundan personel adı ve soyadı, departman tablosundan departman adı bilgisi getirilir. * Bazı durumlarda tablo birleştirme koşulu bir aralık şeklinde oluşabilir. Yani tabloları birleştirirken anahtar sahaların belirli bir aralığı seçilebilir.

SELECT table1.kolonları, table2.kolonları
FROM table1, table2
WHERE table1.kolon1 BETWEEN table2.min2 AND table2. max2

* (OUTER JOIN) Bir diğer durumda tablodaki verilerin değerleri null olabilir. Fakat biz null değerlere sahip olanlarıda birleştirmek istersek eksik olan tablonun yanına (+) işareti eklenir.

SELECT table1.kolonları, table2.kolonları
FROM table1, table2
WHERE table1.kolon1 (+) = table2.kolon2

* (SELF JOIN) Bir başka durumda ayni tablodaki kendi içindeki kolonlar arasında ilişki kurulabilir. Bazı durumlarda kolonlardaki değerleri eşit olma durumlarına göre sorgu düzenlenebilir.

SELECT table1.kolonları
FROM table1 a, table1 b
WHERE table1.a = table1. b

Grup (GROUP) Fonksiyonları :
Bazen belli bir koşula uygun belli bir topluluk için sorgu kurulabilir. Bu durumda grup işlemi yapılır. Örneğin departmanlara göre grup oluşturulup o departmandaki personel Sayısı hesaplanabilir. Grup Fonksiyonları sadece grup ifadeleriyle kullanılabilir.
Yazılımı:

SELECT kolonlar, grup Fonksiyonları
FROM table
[WHERE kotul]
[GROUP BY grup_kolonu]
[HAVING group_kotulu]
[ORDER BY kolon]

GROUP BY satiri ile kolonlar üzerinde küçük gruplar oluşturulur.
HAVING satiri ile bu oluşturulan grup için grup koşulları tanımlanabilir. Where koşulundan farkı WHERE kayıt üzerinde koşul koyar, HAVING ise sadece grup kayıtları üzerinde koşul konabilir ve grup Fonksiyonları kullanılabilir.

AVG(Kolon) : Belirtilen kolonun ortalamasını bulur.
COUNT(Kolon) : Belirtilen kolonun kayıt Sayısını bulur. Count(*) ile o grupta oluşturulan kayıt Sayısı hesaplanır. Null değerler için nvl fonksiyonu kullanılır. Çünkü kolon içindeki null değerler işleme alınmaz.
MAX(Kolon) : Belirtilen kolondaki kayıtların değerlerinin maksimum değerini bulur. Sayısal, karakteristik veya tarihsel olarak kendi içinde sıralama yapabilir.
MIN(Kolon) : Belirtilen kolondaki kayıtların değerlerinin minimum değerini bulur. Sayısal, karakteristik veya tarihsel olarak kendi içinde sıralama yapabilir.
SUM(Kolon) : Belirtilen kolondaki kayıtların değerlerinin Sayısal toplamını bulur.
VARIANCE(Kolon) : Belirtilen kolondaki kayıtların değerlerinin matematiksel varyansını bulur.

Örneğin bir personel listesindeki departmanların ayrı ayrı departman içindeki personelin max ve min maas alan kişilerin maaslarını isteyelim;

SELECT Departman_id, MAX(Maas) , MIN(maas) TABLE Personel GROUP BY Departman_id

Veya 38 nolu departmandaki personel Sayısını bulalım;

SELECT COUNT(*) TABLE Personel WHERE Departman_id = 38

Veya tüm departmanlardaki maaslarının ortalaması 80.000.000 'den büyük olanların listesini oluşturalım;

SELECT Departman_id, AVG(Maas) TABLE Personel GROUP BY Departman_id HAVING AVG(maas) > 80000000

Bazı durumlarda iç içe grup oluşturulması istenebilir. Bu durumda şu şekilde yazılır.

GROUP BY Kolon1, Kolon2 , …

Örneğin Departman adına ve personel yaşına göre grup oluşturalım.

SELECT Departman_id, Yas
TABLE Personel
GROUP BY Departman_id, Yas

SQL PLUS - DERS 2
Altsorgular(SUBQUERY):

Subquery, bir sorgu oluşturulurken, bu sorguya ait kriterleri başka bir sorgu belirleme durumudur. Kısaca sonucu bilinmeyen koşullar olduğunda bu yöntem kullanılır.

Yazılımı:

SELECT …..
FROM ……
WHERE kolon=( SELECT …
FROM ….
WHERE ….)

Select cümlesi parantez içinde tanımlanır. = koşulu kondu ise select cümlesi tek değer döndürmek zorundadır. Eğer birden fazla değer için koşul konulması gerekirse " in, not in " kelimesi kullanılır. Tek kayıt döndüğünde = yerine >,>=, <, <=, <> kontrol ifadelerice kullanabiliriz. Bir önemli nokta da koşula eşitlenecek değer 2. Select cümlesi içindeki kolon değerine es olmalıdır. Yani tipleri eşit olmalıdır.Subquery sorgulama tekniğinde order by kullanılamaz.Having grup kotulu içinde select cümlesi kullanabiliriz.

Örneğin;

Sorgu : Mehmet' in departman numarası kaçtır?

SELECT dept_id,name
FROM Personel
WHERE name='Mehmet'

Sorgu : Departman numarası 38 olan kişilerin listesinden adı mehmet olan var mi incele?

SELECT dept_id,name
FROM Personel
WHERE dept_id=38

Sorgu : Bu iki sorgunun birleşimi istenirse, yani departmanı 38 olan mehmet adli personel bilgisi ?

SELECT dept_id,name
FROM Personel
WHERE dept_id=( SELECT dept_id
FROM Personel
WHERE name='Mehmet')

Çalışma Anında Sorguya Dışarıdan Deger Alma:

Bir sorgu oluşturulurken bazen bazı alanların değerleri değişkendir. Bu yüzden sorguya dışarıdan değer girilmesi ve bu değere göre bir sorgu oluşturulması gerekir. Bunun için anahtar kelimenin basına ' & ' karakteri getirilir. Örneğin istenilen departman koduna göre personelin adı ve soyadı listeleyelim;

SELECT ad,soyad
FROM Personel
WHERE Dept_id = &Departman_kodu

Ekran:

Departman_kodu için değer gir: 38
eski 1: select ad,soyad from Personel where Dept_id = &Departman_kodu
yeni 1: select ad,soyad from Personel where Dept_id = 38

Eğer sorgu yazılımı sorunlu ise bu giriş yapıldıktan sonra anlaşılır ve kesinlikle girilen değer kolon tipine es olmalıdır. Örneğin '&anahtar_kelime' seklinde tırnak arasında belirtilmişse giriş olarak sadece text değer girilir. Ama &anahtar_kelime tırnak içinde belirtilmemişse giriş yapılırken tırnak içinde giriş yapılmalıdır. Birden fazla &anahtar_kelime tanımlanırsa sırayla sorgu sorulur ve tüm değerler girildikten sonra sorgu oluşturulur. Eğer where koşulunda &anahtar_kelime'si kullanılmışsa giriş yapılırken matematiksel koşul seklinde giriş yapabiliriz.Eğer anahtar kelimenin basına ' && ' konulursa sorgu sırasında sadece bir kerelik sorgu sorulur. Bundan sonra anahtar kelimenin değeri ilk girilen değer olarak geçerlidir.

DEFINE değişken=değer : Belirtilen değişkene karakter atanır.
ACCEPT : Kullanıcıya açıklayıcı mesaj verilerek istenilen tipte veri girişi yapılması sağlanır. & işaretiyle yapılan işlemin daha kontrollü seklidir. Yazılımı :

ACCEPT değişken [datatipi] [ FORMAT ] [PROMPT text] [HIDE]

Değişken –> Giriş yapılacak verinin değerinin tutulduğu anahtar kelimedir.
Datatipi –> Girişi yapılacak verinin veri tipidir.
FORMAT –> Giriş yapılacak verinin giriş düzeni sağlanır. Örneğin rakam için 9999 (4 haneli Sayı) , karakter için A10 (10 karakterlik yer) .
PROMPT –> Kullanıcıya gireceği değer için açıklayıcı mesaj görüntüler.
HIDE –> Giriş yapılırken verinin görüntülenmeden giriş yapılması sağlanır. Örneğin şifre girişlerinde.

Örnekler;

ACCEPT adı PROMPT 'Adinizi giriniz:'
ACCEPT yas NUMBER PROMPT 'Yaşınızı giriniz:'
ACCEPT yıl NUMBER FORMAT 9999 PROMPT 'Bulunduğunuz yılı giriniz:'
ACCEPT sifre CHAR PROMPT 'Şifrenizi giriniz:' HIDE

Örnek: Personel adına göre personel bilgilerini gösterelim. Bunun için bir .sql uzantılı dosyada yazalım. Bu programı start ile çalıştıralım.

SET ECHO OFF
ACCEPT adı PROMPT ' Adinizi Giriniz:'
SELECT * FROM Personel
WHERE UPPER(Personel.ad) LIKE UPPER('&adı')
SET ECHO ON

"Start Ornek.sql " yazılarak sql çalıştırılır.Bazen parametre girişlerini daha başlangıçta vermek istenirse;Start Dosya_adı Parametreler,…Örneğin yukarıdaki örnek için Start Örnek Kazim.

Tabloların Yaratılması:

Database 'de verilerin saklanması amacıyla tablolar yaratılır. Tablo yaratabilmek için o kullanıcının buna yetkisi olmalıdır. Ayni zamanda limitsiz tablespace hakkına sahip olmalıdır. Yazılımı :

CREATE TABLE [kullanıcı.]table
(kolon datatipi(boyutu) [DEFAULT değer]
[CONSTRAINT constraint_name] constraint_type]
[table_constraint]
[PCTFREE integer] [PCTUSED integer]
[TABLESPACE tablespace] [STORAGE storage_clause]
[CACHE]
[ENABLE enable_clause]
[DISABLE disable_clause]
[AS subquery]

Kullanıcı –> Tablonun yaratıcısıdır. Onun sahip olduğu haklara ve mekana sahiptir.
Kolon –> Tablonun kolon adlarını belirler. Bir tablodaki kolon Sayısı 1-254 arasında olmalıdır.
Datatipi –> Bir kolonun veri tipini belirler.

Varchar2(boyut): Boyut ile belirtilen max miktar kadar karakterdir.Max değeri 2000'dir.
Char(boyut) : Boyut ile belirtilen max miktar kadar karakterdir.Max. değeri 255'dir. Number : e38 'e kadar olan tüm Sayısal değerlerdir.
Number(m,n) : m kadar (max e38) Sayının n kadar ondalık alan için değer alır.
Date : Tarih ve saat değerlerini bir tutar.
Boolean : Mantıksal ifadeleri saklar. Yani doğru ise True, yanlış ise false.
Long : Max 2GB 'a kadar büyük olan alanlar için yer tutar.
Raw : Grafiksel yapıdaki veriler için tanımlanır.
DEFAULT –> Herhangi bir kolona değer girilmezse, direkt olarak değer atamaya yarar. Girilen değerin veri tipi ile ayni olması gerekir.
CONSTRAINT –> O kolon için daha açıklayıcı olması açısından ve yapısı açısından kullanılır.
table_constraint –> O tablo için daha açıklayıcı olması açısından belirtilen etikettir.
PCTFREE –> Tablo üzerinde yapılan kayıt güncelleme İşlemleri için, kayıt bloklarındaki ayrılacak rezervasyon yüzde değeridir. 1-99 arasında bir tamsayıdır. 0,tüm bloklara yeni kayıt girişine izin verilir. Varsayılan değer 10'dur. Yani güncelleme için her bloğun %10'unu rezerve eder. Geri kalan %90'nini ise yeni kayıt girişlerine ayırır.
PCTUSED –> Tablonun her veri bloğu için Oracle 'lın koruduğu, kullanılmış alanın min yüzdesini verir. 1-99 arasında bir tamsayıdır.Varsayılan değeri 40'dir. Verilen parametre değerinin altına düşecek blok için, yeni kayıt girişi seçimliktir. PCTFREE+PCTUSED <100 olmak zorundadır.
TABLESPACE–> Oracle 'ın tabloyu yaratacağı tablo boşluğunu belirler. Eğer tanımlanmazsa çalışılmakta olan kullanıcının tablo boşluğunda yaratılır.
STORAGE –> Tablonun depolama karakteristiğini belirler. Büyük tablolarda performans düzenleyici olarak kullanılır.
CACHE –> Tablo üzerinde arama yapılırken, hafıza cache'nin en çok kullanılanlar üzerinde yer almasını sağlar.
ENABLE –> Bütün sınırlamaları geçerli kılar.
DISABLE –> Bütün sınırlamaları iptal eder.
AS query –> Tablo yaratılırken, alt sorgu aracılığı ile geriye döndürülen satırlar tabloya yerleştirilir.(insert)

Data Dictionary:

Database ile ilgili her türlü bilgiyi buraya atar. Buradan verilere ulaşabiliriz. Kullanıcılar, tablolar, indexler, constraintsler vb. birçok açıklayıcı bilgiler tutulur. Bütün tablo ve viewerların adlarını ve açıklamalarını görmek için ;

SELECT * FROM Dictionary;
Dictionary 'nin yapısını görmek için;
DESC dictionary
İsim Tip

——————– ————————–

TABLE_NAME VARCHAR2(30)
COMMENTS VARCHAR2(2000)

Dictionary 'de bulunan objelerden bazıları;

User_tables : Hangi kullanıcı ile login olundu ise o kullanıcıya ait tabloları listeler.
All_tables : Bütün kullanıcıların yarattığı tabloları listeler.
Dba_tables : Database ile ilgili her türlü tablolar listelenir.
V$_tables : Sistemin performansını ölçmek için tutulan bilgilerdir.
V$_librarycache: Cache'in yeterli olup olmadığını anlamak için bakılır.
V$_rollstat : Rollback segmentinin yeterli olup olmadığını anlamak için bakılır.

Örnek : Login şifresiyle giren kullanıcının yarattığı tabloların listesini alalım;

SELECT table_name FROM user_tables

Örnek: Tüm obje isimlerinin listesini alalım;

SELECT object_name FROM user_objects

Database Üzerinde Transaction Kontrol Komutları:

Transaction, datanın tutarlı şekilde korunmasını sağlayan yöntemdir. Database üzerinde kayıt yapma , silme, düzeltme vb. İşlemlerin yapılabilmesi için aşağıdaki komutlara ihtiyaç vardır;

INSERT INTO : Tabloya yeni bir kayıt eklenmesini sağlar. Yazılımı;

INSERT INTO table [(kolon1, kolon2, ...)] VALUES (değer1, değer2, …)

Kolon : Tablonun kayıt yapılacağı kolon adlarını belirler. Bir tablodaki kolon Sayısı 1-254 arasında ve o tabloda var olmalıdır. Deger : O kolon için alacağı değer verilir. Kolon tipiyle ayni olmalıdır. Eğer kolon adları belirtilmezse değerler kolon sırasına göre değer almalıdır. Degerlere sysdate, user vb. hazır fonksiyonlar aktarılabilir. Eğer bir alana değer verilmesi istenmiyorsa, yani bos değer verilmesi isteniyorsa NULL değeri verilir.

Örnek: Personel tablosuna yeni bir personel girişi yapalım;

INSERT INTO personel (ad,soyad,maas,ayrilma_tarihi,kayıt_giriş_tarihi)
VALUES ('Kazim','Sarikaya',400000000,NULL,SYSDATE)

Ayni örnek için kolon sırasını bildiğimiz düşünülürse şu şekilde de yazılabilir;

INSERT INTO personel
VALUES ('Kazim','Sarikaya',400000000,NULL,SYSDATE)

Sadece tek kayıt girişi yapılıyorsa, rahat veri girişi yapılması için değerlere değişken tanımlayarak veri girişi sağlayabiliriz. Böylece table her çalıştığında yeni veri girişi yapılır.

Örnek: Personel tablosuna her çalıştırdığımızda yeni bir personel girişi yapalım;

INSERT INTO personel (ad,soyad,maas,ayrilma_tarihi,kayıt_giriş_tarihi)
VALUES ('&Adi','&Soyadı',&maas,NULL,SYSDATE)

Örnek: Daha güvenli ve rahat giriş yapılacak şekilde kayıt yapılacak script yazalım;

SET ECHO OFF
ACCEPT ad PROMPT 'Adini giriniz:'
ACCEPT soyad PROMPT 'Soyadı giriniz:'
ACCEPT maas PROMPT 'Maasini giriniz:'
INSERT INTO personel(ad,soyad,maas,ayrilma_tarihi,kayıt_giriş_tarihi)
VALUES ('&ad','&soyad',&maas,NULL,SYSDATE)
/
SET ECHO OFF
Kayıt yapılacak kolonların değerleri bilinmiyorsa veya başka bir tablodan değer alınması gerekiyorsa aşağıdaki yapı kullanılır;
Yazılımı; INSERT INTO table [(kolon1, kolon2, ...)] Altsorgu Örnek: Personel tablosuna departman tablosundan departman kodu 38 olan personellerin değerlerini aktaralım; INSERT INTO personel(ad,soyad,maas,ayrilma_tarihi,kayıt_giriş_tarihi) SELECT adı,soyadı,maasi,ayrilma,kayıt_giriş FROM departman WHERE dept_id=38 UPDATE : Tablodaki kolonların değerlerini değiştirmek için kullanılır.
Yazılımı;

UPDATE table
SET kolon1=değer1, kolon2=değer2, …
[WHERE kotul]

Kolon : Tabloda değişiklik yapılacak kolon adıdır. Bir tablodaki kolon Sayısı 1-254 arasında ve o tabloda var olmalıdır.
Deger : O kolon için alacağı değer verilir. Kolon tipiyle ayni olmalıdır. Eğer kolon adları belirtilmezse değerler kolon sırasına göre değer almalıdır. Degerlere sysdate, user vb. hazır fonksiyonlar aktarılabilir. Eğer bir alana değer verilmesi istenmiyorsa, yani bos değer verilmesi isteniyorsa NULL değeri verilir.

Örnek: 41 nolu departmanın maasini %13 artıralım;

UPDATE Personel
SET maas=maas+maas*13/100
WHERE dept_id=41

Örnek: 649 nolu personelin departman kodu 10 olsun;

UPDATE Personel
SET dept_id=10
WHERE personel_id=649

Eğer WHERE koşulu konulmazsa tüm tablo için kolon değerini değiştirir. koşulu SET ile değiştirdiğimiz kolona veremeyiz.

kaynak: ordan burdan

Diğer Konular - Oracle Kurulumu (scripti, nasıl, nedir?)

Yazan: admin Tarih: Nisan - 15 - 2008

Oracle Kurulumu:
Öncelikle Oracle Client Server uygulamalarda Kullanmak icin Oracle Client Server Cd sine sahip olmaniz gerekir. Oracle Serverini Kurulumu Nt Gereklidir Ayni Cd den Clientler Windows9x yeterli olacaktir istenirse Clientler Nt isletim sistemlerinede kurulabilinir Ama Serveri windows9x yükleyemezsiniz.
Tek Makinada Oracle'in Kurulmasi icin Personel Oracle Secilecek
Personel Oracle Cd yerlestirdikten Sonra Language Kismi Türkce Secilmeli genelde bu kisim zaten türkce gelir Sonra Application Database le devam edin
Replication 55M disk Space Secin Standart secmemekte fayda var…

Oracle'ı Ayarlama:
Kurulum islemi bittikten sonra yapilmasi gerekenler Oracle ile bir Listener Yaratilmasi Clien server uygulamalarda TCP/IP secilir ve Serverin ip numarasi yazilir örnegin 192.168.24.8 gibi Test islemi yapilmaz cünkü daha baglanti ayarlari yapilmamistir.Onun yerine Final le Bitirilir.Simdi BDE Ayarlarin yapilmasi icin sirayla BDE calistirilir.BDE calistirlmadan önce sürümü lütfen update edin bunuda Borlandin sayfasindan cekebilirsiniz Configration,Drivers,Native Oracle secilir DLL32 Kismindan SQLORA32.Dll isaretlenir Vendor Init icin OCI.Dll isaretlenmelidir.Enable integers True Yapilmasi gerekir,Lang Driver ile uygun dil secilir Türkce icin PdoxAnsiInit 850 uygun olacaktir Server Name Kismina Olusturulan Listener Adi yazilir Örnegin ORAC (Sonuna .World) otomatik olarak konulacaktir telas etmeyin
Username Kismina Kullanilacak Olan User Kullanilir Mesala ADMIN veya ROOT gibi Simdi BDE Kapatalim Ve SQL Plusi Calistiralim Defaut User ve sifre (User:SYSTEM Password:Change_on_install ) olarak girilir ve connect olunur Simdi Bir user tanimlayalim ve veritabani alanimizi belirleyelim

CREATE TABLESPACE
DATAFILE 'C:ORAC.ORA' SIZE 500M
AUTOEXTEND ON MAXSIZE UNLIMITED;
/* ORACLE SCRIPT */
CREATE USER
IDENTIFIED BY
DEFAULT TABLESPACE ;
/* ORACLE SCRIPT */
GRANT DBA TO ;
/* ORACLE SCRIPT */

Grant Komutuyla Kullanici Baglantisi test edilir eger connect olursak hic bir sorun yoktur simdi BDE calistirip bir Alias yaratalim Türü ORACLE secilecek Olusturan Alias Tiklayarak verilen Kullanici Adini ve Passwordu girelim ve Okey tusuna basalim Hersey yolundayda Artik Oracle Baglanmis olunacaktir …

kaynak: ordan burdan

<!– TWO STEPS TO INSTALL CLASSIC SCROLL:

1. Paste the coding into the HEAD of your HTML document
2. Copy the onLoad event handler into the BODY tag –>

<!– STEP ONE: Copy this code into the HEAD of your HTML document –>

<HEAD>

<SCRIPT LANGUAGE="JavaScript">

<! >
<! >

<!– Begin
function scrollit(seed) {
var m1 = "Welcome to JavaScript Source Code 3000! ";
var m2 = "….. You can find all the scripts you need here! ";
var m3 = "……Enjoy ";
var m4 = "";
var msg=m1+m2+m3+m4;
var out = " ";
var c = 1;
if (seed > 100) {
seed–;
cmd="scrollit("+seed+")";
timerTwo=window.setTimeout(cmd,100);
}
else if (seed <= 100 && seed > 0) {
for (c=0 ; c < seed ; c++) {
out+=" ";
}
out+=msg;
seed–;
window.status=out;
cmd="scrollit("+seed+")";
timerTwo=window.setTimeout(cmd,100);
}
else if (seed <= 0) {
if (-seed < msg.length) {
out+=msg.substring(-seed,msg.length);
seed–;
window.status=out;
cmd="scrollit("+seed+")";
timerTwo=window.setTimeout(cmd,100);
}
else {
window.status=" ";
timerTwo=window.setTimeout("scrollit(100)",75);
}
}
}
// End –>
</SCRIPT>

<!– STEP TWO: Add this onLoad event handler into the BODY tag –>

<BODY onLoad="scrollit(100)">

<!– Script Size: 1.35 KB –>

kaynak: ordan burdan

<!– THREE STEPS TO INSTALL IMAGE CYCLER:

1. Copy the coding into the HEAD of your HTML document
2. Add the onLoad event handler into the BODY tag
3. Put the last coding into the BODY of your HTML document –>

<!– STEP ONE: Paste this code into the HEAD of your HTML document –>

<HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!– Original: D. Keith Higgs (dkh2@po.cwru.edu) –>

<! >
<! >

<!– Begin
var timeDelay = 20; // change delay time in seconds
var Pix = new Array
("01.jpg"
,"02.jpg"
,"03.jpg"
,"04.jpg"
);
var howMany = Pix.length;
timeDelay *= 1000;
var PicCurrentNum = 0;
var PicCurrent = new Image();
PicCurrent.src = Pix[PicCurrentNum];
function startPix() {
setInterval("slideshow()", timeDelay);
}
function slideshow() {
PicCurrentNum++;
if (PicCurrentNum == howMany) {
PicCurrentNum = 0;
}
PicCurrent.src = Pix[PicCurrentNum];
document["ChangingPix"].src = PicCurrent.src;
}
// End –>
</script>
</HEAD>

<!– STEP TWO: Insert the onLoad event handler into your BODY tag –>

<BODY OnLoad="startPix()">

<!– STEP THREE: Copy this code into the BODY of your HTML document –>

<img name="ChangingPix" src="01.jpg">

<!– Script Size: 1.31 KB –>

kaynak: ordan burdan

<!– TWO STEPS TO INSTALL GALLERY VIEWER:

1. Copy the coding into the HEAD of your HTML document
2. Add the last code into the BODY of your HTML document –>

<!– STEP ONE: Paste this code into the HEAD of your HTML document –>

<HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!– Original: Jenny Blewitt (webmaster@webdesignsdirect.com) –>
<!– Web Site: http://www.webdesignsdirect.com –>

<! >
<! >

<!– Begin
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);

ns3up = (browserName == "Netscape" && browserVer >= 3);
ie4up = (browserName.indexOf("Microsoft") >= 0 && browserVer >= 4);

function doPic(imgName) {
if (ns3up || ie4up) {
imgOn = ("" + imgName);
document.mainpic.src = imgOn;
}
}
// End –>
</script>
</HEAD>

<!– STEP TWO: Copy this code into the BODY of your HTML document –>

<BODY>

<center>
<table width=360 border=0 cellspacing=0 cellpadding=0>
<tr>
<td><a href="javascript:doPic('p1.jpg');"><img src="p1.jpg" width=90 height=60 border=0></a></td>
<td><a href="javascript:doPic('p2.jpg');"><img src="p2.jpg" width=90 height=60 border=0></a></td>
<td><a href="javascript:doPic('p3.jpg');"><img src="p3.jpg" width=90 height=60 border=0></a></td>
<td><a href="javascript:doPic('p4.jpg');"><img src="p4.jpg" width=90 height=60 border=0></a></td>
</tr>
<tr>
<td colspan=4 align=center><img name="mainpic" src="p1.jpg" width=360 height=240 border=0></td>
</tr>
<tr>
<td><a href="javascript:doPic('p5.jpg');"><img src="p5.jpg" width=90 height=60 border=0></a></td>
<td><a href="javascript:doPic('p6.jpg');"><img src="p6.jpg" width=90 height=60 border=0></a></td>
<td><a href="javascript:doPic('p7.jpg');"><img src="p7.jpg" width=90 height=60 border=0></a></td>
<td><a href="javascript:doPic('p8.jpg');"><img src="p8.jpg" width=90 height=60 border=0></a></td>
</tr>
</table>
</center>

<!– Script Size: 2.00 KB –>

kaynak: ordan burdan

<!– ONE STEP TO INSTALL EYES:

1. Copy the coding into the BODY of your HTML document –>

<!– STEP ONE: Paste this code into the BODY of your HTML document –>

<BODY>

<SCRIPT LANGUAGE="JavaScript1.2">
<!– Original: demigod@psxexchange.com –>
<!– Web Site: http://www.psxexchange.com –>

<! >
<! >

<!– Begin
var brOK = false, mie = false;
if (document.layers || document.all) brOK = true;
if (document.all) mie = true;
var ex = 0, ey = 0;
var ae, le, re, x0, y0, tid, realx, realy;
function navMove(e) {
ex = e.pageX;
ey = e.pageY;
moveeye()
return routeEvent(e);
}
function mieMove() {
ex = document.body.scrollLeft + event.x;
ey = document.body.scrollTop + event.y;
moveeye();
}
function moveeye() {
dy = ey - y0 - 20;
dx1 = ex - x0 - 20;
dx2 = ex - x0 - 60;
r = Math.sqrt(dx1 * dx1 + dy * dy);
if (r < 20) r = 20;
dx1 = dx1 * 10 / r + x0 + 10;
dy1 = dy * 10 / r + y0 + 10;
r = Math.sqrt(dx2 * dx2 + dy * dy);
if (r < 20) r = 20;
dx2 = dx2 * 10 / r + x0 + 50;
ae.left = x0;
ae.top = y0;
le.left = dx1;
le.top = dy1;
re.left = dx2;
re.top = dy1;
}
function setHandlers() {
if (!mie) {
y0 = document.eyeballs.top;
x0 = document.eyeballs.left;
ae = document.eyeballs;
le = document.lefteye;
re = document.righteye;
window.captureEvents(Event.MOUSEMOVE);
window.onMouseMove = navMove;
}
else {
y0 = document.all.eyeballs.style.pixelTop;
x0 = document.all.eyeballs.style.pixelLeft;
ae = document.all.eyeballs.style;
le = document.all.lefteye.style;
re = document.all.righteye.style;
window.document.onmousemove = mieMove;
}
realx = x0 + 0.1;
realy = y0 + 0.1;
moveall();
}
function moveall() {
rx = realx + 40;
ry = realy + 40;
rx += (ex - rx) * 0.1;
ry += (ey - ry) * 0.1;
realx = rx - 40;
realy = ry - 40;
x0 = Math.round(realx);
y0 = Math.round(realy);
moveeye();
tid = setTimeout('moveall()', 100);
}
function placeeyes(x, y) {
if (brOK) {
ex = x + 40;
ey = y + 40;
s = '<DIV ID ="dummy" STYLE="position:absolute; ' +
'top:'+y+'; left:'+x+'; width:10; height:10;"> </DIV>';
s += '<DIV ID="eyeballs" STYLE="position:absolute; ' +
'top:'+y+'; left:'+x+'; width:80; height:40;"><IMG SRC=' +
'"whites.gif" border=0></DIV>';
s += '<DIV ID="lefteye" STYLE="position:absolute; ' +
'top:'+(y+10)+'; left:'+(x+10)+'; width:20; height:20;">' +
'<IMG SRC="pupil.gif" border=0></DIV>';
s += '<DIV ID="righteye" STYLE="position:absolute; ' +
'top:'+(y+10)+'; left:'+(x+50)+'; width:20; height:20;">' +
'<IMG SRC="pupil.gif" border=0></DIV>';
document.writeln(s);
}
}
function clearEyes() {
if (tid) clearTimeout(tid);
}
placeeyes(200, 100);
window.onload = setHandlers;
window.onunload = clearEyes;
// End –>
</script>

<!– Script Size: 2.83 KB –>

kaynak: ordan burdan