ASP.NET C# C/C++ Genel HTML/CSS Java JS/Ajax PHP XML Forum

LaTeX'de Yazıyı Renklendirme

LaTeX\'de Yazıyı Renklendirme

Merhaba arkadaşlar,
Bu makalede LaTeX'de yazdığınız yazıları nasıl renklendireceğinizi anlatıyorum.. Umarım hepiniz için faydalı olur. Bunu yazmamdaki en büyük etken Osmangazi Üniversitesi Matematik ve Bilgisayar Bilimleri'nde okuyan arkadaşlarıma yardımcı olmak..

Paketi Ekleme

LaTeX'de yazıyı renklendirmek için pakete ihtiyacımız var.. Bunun için

usepackage{color}

Kodunu documentclass'dan hemen sonra ekliyoruz.  

Yazıyı Renklendirme
Yazdığınız yazıyı renklendirmenin en basit yolu aşağıdaki şekilde yapılır:

textcolor{renk}{yazı}

Burada {yazı} kısmına yazdıklarınız {renk} kısmında belirttiğiniz renk ile renklendirilecektir. Aynı zamanda bunu şu şekilde de yapabilirsiniz:

{color{renk} yazı}

Ayrıca bütün sayfanın arkaplanını da şu şekilde değiştirebilirsiniz:

pagecolor{renk}

Detaylı örnekleri aşağıda yazacağım..

LaTeX'de önceden tanımlanmış birkaç ana renk bulunur.. Bunlar: white, black, red, green, blue, cyan, magenta, yellow. Yukarıda gördüğünüz kodlarda renk alanlarına bu renk isimlerinden birini yazdığınız anda yazılar ilgili renkle renklendirilmiş olacaktır.

Fakat siz standartın dışında bir renk belirlemek isterseniz bunu LaTeX derleyicisine tanımlamanız gerekir. Bu tanımlama işleminde RGB denilen metod kullanılır.

RGB Nedir?
RGB'nin açılımı Red Green ve Blue'dur.. Yani Kırmızı Yeşil Mavi. Bunlar yeni belirleyeceğiniz rengin tonlarını belirlersiniz. Yani Kırmızılık şu kadar olsun. Mavilik şu kadar ve yeşillik de şu kadar olsun. RGB'nin standart yazılışı kırmızılık,yesillik,mavilik şeklindedir. Ve verdiğiniz değerler 0 ile 255 arasında olmak zorundadır. Mesela Beyazın RGB kodu 255,255,255 dir. Kırmızının ki 255, 0, 0 dır. Mavinin ki 0,0,255 dir. Dilediğiniz bir renk için bunları nasıl elde ederim diyorsanız bilgisayarınızda Paint'i açın. Özel Renk Tanımla'ma bölümüne gidin. Ve bir tane renk seçin. Kutucuklarda R(Red), G(Green), B(Blue) şeklinde ifadeler vardır. Bunlar bizim bahsettiğimiz RGB işte. Buradan edinebilirsiniz.

Peki bu renkleri nasıl kullanacağız LaTeX'de. O da şöyle:

definecolor{renkadi} {RGB}{ozellikleri}

Örnek yapalım hemen. 255, 222, 111 rengini tanımlayalım:

definecolor{bizimrengimiz}{RGB}{255,222,111}

Artık "bizimrengimiz" diye bir renk oluşturduk. Şimdi bütün bir örnek yapalım ve sonucunu görelim:

documentclass{article}
usepackage{color}
begin{document}

definecolor{renkbir}{RGB}{255,222,111}
definecolor{renkiki}{RGB}{0,222,111}
definecolor{renkuc}{RGB}{140,80,255}

begin{center}
 textcolor{renkbir}{Eskisehir} textcolor{renkiki}{Osmangazi} textcolor{renkuc}{Universitesi}
end{center}

end{document}

Burada begin{center} ve end{center} kullanarak yazımızı ortaladık. Daha sonra definecolor ile üç tane renk belirledik. Bunlar renbir(255,222,111), renkiki(0,222,111) ve renkuc{140,80,255}. Bu renklerle daha sonra yazılarımızı renklendirdik. Yukarıdaki kodun PDF çıktısı aşağıdaki gibi olacaktır:

Eskisehir Osmangazi Universitesi

LaTeX'de renklendirme bu kadar basit işte. Sorularınızı forumumuzdan veya yorum olarak aşağıdaki formdan iletebilirsiniz.
Kolay gelsin,




C++ Ders 1: Bir programın yapısı

C++ Ders 1: Bir programın yapısı

Merhaba arkadaşlar,

Hep beraber C++ dilini öğrenelim dedim ve kendim öğrenirken sizlere de yazmak istedim. Umarım faydalı olur. Bu dersimizde C++'ın genel olarak yapısını inceleyeceğiz. Bende Sizinle beraber öğreniyorum bu dili.. Şimdiden hayırlı olsun, fakat ders paylaşım sıklığı hakkında size net bir bilgi ne yazık ki veremiyorum. Bazen gecikmeler yaşanabilir. Başlayalım..

Bir programlama dilini öğrenmenin en iyi yolu bir program yazmaktır. İşte burada ilk programımızı yazalım:

// C++ ile yazdığımız ilk programımız

#include 
using namespace std;

int main()
{
	cout<<"Merhaba Dünya!";
	return 0;
}
Merhaba Dünya!

İlk sütun(soldaki) ilk programımızın kaynak kodunu göstermektedir. İkincisi ise(sağdaki) programımız derlenip çalıştırıldıktan sonraki sonucu göstermektedir.

Bir programı düzenleyip derlemek bilgisayarınızın sistemine göre değişiklik gösterebilir. Kullandığınız geliştirme arayüzüne veya onun sürümüne bağlı olarak değişiklik gösterebilir.

Yukarıdaki program bir programlama dilini öğrenmeye yeni başlayanlar için alışılmış bir yazıyı yani "Merhaba Dünya!" yazısının ekrana basılmasını sağlar. Bu C++ ile yazılabilecek en basit programdır fakat bu program bile bütün C++ programlarında kullanılan temel bileşenlere sahip. Şimdi satır satır yazdığımız kodları inceleyelim:

// C++ ile yazdığımız ilk programımız

Bu bir yorum satırıdır. Çift slaş(//) işareti ile başlayan satırlar yorum olarak algılanır ve programın çalışmasında hiç bir etkisi yoktur. Programlamayı yaparken programlarımızın, fonksiyonlarımızın ne işe yaradıklarını bu satırlar ile rahatlıkça anlayabiliriz.

#include

Diyez işareti(#) ile başlayan satırlar önişlemci için talimatları içerir. Bunlar ifadelerden oluşan basit kod satırları değildir ama derleyicinin önişlemcisi için birer göstergedir. #include talimatı önişlemciye iostream standar dosyasını eklemesini söyler. Bu dosya(iostream) basit ve standart giriş-çıkış kütüphanelerinin tanımlandığı dosyadır ve bunu dosyalarımıza ekleriz çünkü programımızda kullanacağımız bir takım işlemler bu dosya da tanımlanır.

using namespace std;

C++ kütüphanesi bütün elemanları namespace denilen ve std adında tanımlanmıştır. Bu satır çok sık kullanılır ve bu derslerde de birçok kaynak kodda kullanılacaktır.

int main()

Bu satır ana fonksiyonun tanımlandığı yerin başlangıcıdır. Ana fonksiyon C++ programlarında işleyişi yöneten fonksiyon diyebiliriz. Program çalıştırıldığın bu fonksiyon dikkate alınır. Bundan başka farklı bir isimle önce yada sonra başka bir fonksiyon yazılması sorun değil. Önemli olan main() fonksiyonunun tanımlanıp tanımlanmadığıdır. Her C++ programı main() fonksiyonuna sahip olmalıdır. main kelimesini bir çift parantez takip eder. Bunun sebebi fonksiyonların tanımından kaynaklanmaktadır. Parantezlerden sonra küme parantezi dediğimiz işaretleri görürüz({}). Fonksiyonlar bu iki işaret arasında tanımlanır. 

cout<<"Merhaba Dünya!";

Bu satır C++'daki kod demecidir. Kod demeci tek satırlık veya bir kaç satırlık ifadelerden oluşabilir.

cout ekrana çıktı almamızı sağlayan bir komuttur. Sayfanın başında eklediğimiz iostream dosyasında tanımlanmıştır.

Dikkat edin kod demeci noktalı virgül(;) ile bitiyor. C++ programlarımızda bütün ifadelerimizin sonuna bu işareti koymalıyız. Bu derleyiciye o satırın, kodlama ifadesinin sonu olduğunu belirtiyor ve söz dizimi(syntax) hatalarının genellik çoğunluğu bu işaretin unutlmasından kaynaklanmaktadır.

return 0;

return ifadesi ana fonksiyonun bitmesini sağlar. Return belki farklı bir sayısal ifade ilede bitebilirdi ama biz sıfır ile bitirdi.

C++ programımızda her kodlama ifademizi alt alta yazmak zorunda değiliz. Yani:

// C++ ile yazdığımız ilk programımız

#include 
using namespace std;

int main()
{
	cout<<"Merhaba Dünya!";
	return 0;
}

Yerine

int main() { cout<<"Merhaba Dünya!"; return 0; }

Şeklinde de yazabilirdir. Bu program iki şekilde de birebir aynı şekilde çalışacaktır.

C++'da ifadeler arasında ayrım noktalı virgül(;) ile yapılmaktadır, bu sayede her ifadenin ayrı bir işlemi gerçekleştirdiğini derleyiciye bildirmiş oluyoruz. Programımızda kullandığımız her ifadeyi ayrı satıra veya hepsini bir satıra yazabiliriz. Fakat daha sonra dönüp kontrol edeceğiniz zaman tek satır olarak yazdıklarınız büyük bir sıkıntı oluşturabilir. Fakat ayrı ayrı yazmak hem şematik hem de incelemesi daha kolay bir hale getirir kodlarınız.

Şimdi ilk programımıza bir satır daha ekleyelim:

// C++ ile yazdığımız ilk programımız

#include 
using namespace std;

int main()
{
	cout<<"Merhaba Dünya!";
	cout<<"Bu ilk C++ programımız";
	return 0;
}
Merhaba Dünya! Bu ilk C++ programımız

Bu işlemde iki tane cout kullandık ve iki ayrı satırda. Tekrar etmek gerekirse farklı satırları ayırmak için boşluk kullanmamız okunabilirliği muhteşem arttırdı. Yani main fonksiyonumuz şu şekilde de yazılabilirdi:

int main(){ cout<<"Merhaba Dünya!"; cout<<"Bu ilk C++ programımız"; return 0; }

Ayrıca daha anlaşılabilir olduğunu düşünürsek kodlarımızı daha fazla satırlara da ayırabiliriz:

// C++ ile yazdığımız ilk programımız

#include 
using namespace std;

int main()
{
	cout<<
		"Merhaba Dünya!";
	cout
		<<"Bu ilk C++ programımız";
	return 0;
}

Ve sonuç önceki örnek ile birebir aynı olacaktır.

Önişlemci talimatları(# ile başlayanlar) bu kuralın dışındadır. Ve asla noktalı virgül(;) ile bitmezler.

Yorumlar

Yorumlar derleyicinin görmezden geldiği satırlardır. Siz kod bloğunuz hakkında bilgi vermekten başka hiçbir işe yaramazlar. Programcıya sadece bilgi vermek için yine programcı tarafından eklenir. C++ iki farklı yorum satırını desteklemektedir:

// Tek satırlı yorum
/* Çok satırlı yorum */

İlk satırdaki çift slaş(//) hazırlanmış olan yorum satırı sadece tek satır için geçerli olur. İkincisinde ise /* işareti ile */ işareti arasında yer alan bütün yazılar yorum olarak algılanır.

Şimdi en son hazırladığımız programımıza yorum satırlarını ekleyelim:

/* C++ ile yazdığımız ilk programımız
	artık birden fazla yorum satırı ile beraber */

#include 
using namespace std;

int main()
{
	cout<<"Merhaba Dünya!"; // Merhaba Dünya! yazdırır
	cout<<"Bu ilk C++ programımız"; // Bu ilk C++ programımız yazdırır
	return 0;
}
Merhaba Dünya! Bu ilk C++ programımız

İlk dersimiz bu kadar arkadaşlar. Herkese iyi günler dilerim, kolay gelsin.





Özel Karakterleri Temizleme

Özel Karakterleri Temizleme

Merhaba arkadaşlar,

Bu yazımda sizlere bir değişkeninizdeki değerden özel karakterleri nasıl temizleyebileceğinizi anlatıyorum. Bu işlemi bir REGEX kullanarak çok basit bir şekilde gerçekleştireceğiz. Hiç lafı uzatmayalım hemen bu regex yapısını paylaşalım.

$degisken="!'^+%&/(A)=?_";
echo preg_replace('/[^a-zA-Z0-9]/s', '', $degisken);
// Bu kodun ekran çıktısı sadece A olacaktır.

// Birde if kontrolüne sokma yöntemini gösterelim
if(preg_replace('/[^a-zA-Z0-9]/s', '', $degisken)=="")

Umarım işinize yarar, kolay gelsin



Hexadecimal Renk Kodunu RGB Formatına Çevirme

Hexadecimal Renk Kodunu RGB Formatına Çevirme

Merhaba arkadaşlar,

Bildiğiniz HTML sayfalarımızda HTML renk kodları dediğimiz 16'lık sayma sistemine göre düzenlenmiş hexadecimal renk kodları kullanırız. Bu kodlar anlamsız rastgele harfler ve rakamlardan oluşturulmuş renk kodları değildir. Hepsi 16'lık sistemden 10'luk sisteme yani RGB(red, green, blue) formatına çevirilerek tarayıcılar tarafından işlenir. Şimdi bu çevirme işinin nasıl yapıldığını anlatalım.

Renk kodlarında kullanılan karakterler: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Burada harfler sayıların yerlerini tutarlar. A=10, B=11, C=12, D=13, E=14 ve F=15'dir.

#FFFFFF renk kodunda ilk iki FF kırmızılığı yani RGB'deki R'yi temsil eder. Ortadaki iki FF yeşilliği yani RGB'deki G'yi temsil eder ve sondaki FF'de maviliği temsil eder. RGB'deki B.

#ABCDEF renk kodunu RGB formatına çevirelim(işlemlerde harflerin yerine değerlerini yazdık):

R= (10*16)+11 = 171
G= (12*16)+13 = 205
B= (14*16)+15 = 239

Anlayacağınız üzerine ele aldığımız her ikilinin ilk değerini 16 ile çarpıyoruz elde ettiğimiz değeri ikinci değer ile topluyoruz. Şimdi daha da anlaşılması için #1F9E67 renk kodunu çevirelim:

R= (1*16)+15 = 31
G= (9*16)+14 = 158
B= (6*16)+7 = 103

Aşağıdaki PHP fonksiyonu da Hexadecimal renk kodunu RGB'ye çevirme işlemine yaramaktadır:

function hexToRGB($hex){
 // Önce bütün karakterleri parçalayalım
 $her_harf = str_split($hex);
 foreach($her_harf AS $key=>$value){
  if($value=="F" || $value=="f") $her_harf[$key]=15;
  elseif($value=="E" || $value=="e") $her_harf[$key]=14;
  elseif($value=="D" || $value=="d") $her_harf[$key]=13;
  elseif($value=="C" || $value=="c") $her_harf[$key]=12;
  elseif($value=="B" || $value=="b") $her_harf[$key]=11;
  elseif($value=="A" || $value=="a") $her_harf[$key]=10;
 }
 $r = ($her_harf[0]*16)+$her_harf[1];
 $g = ($her_harf[2]*16)+$her_harf[3];
 $b = ($her_harf[4]*16)+$her_harf[5];
 return "RGB: R= {$r} G= {$g} B= {$b};
}

/**
  * Kullanımı
 */
 echo hexToRGB("FFFFFF");
 // Ekran çıktısı: RGB: R= 255 G= 255 B= 255

Umarım işinize yarar bu makale, kolay gelsin



JavaScript KeyCode'ları

JavaScript KeyCode\'ları

Merhaba arkadaşlar,

JavaScript tarayıcı taraflı çalışan günümüz web sitelerinde çok sık kullanılan bir programlama dilidir. Çoğu zamanda sayfamızda bir işlem yapacağımız bazen bu tuş kodlarını ihtiyacımız olabilir. En basit örnek olarak yandaki giriş formunda jQuery ile Enter'a basılınca formun gönderilmesini sağladık. Çünkü yandaki formdaki buton submit işlevinde değildir. Sadece butondur. Enter tuşuna basıldığı zaman formu submit etmesini biz bildiriyoruz. İstersek Escape tuşuna basıldığı zamanda formun submit edilmesini sağlayabilirdik. Aşağıdaki tabloda klavyenizde bulunan gerekli tuş kodları bulunmaktadır.

Basılan tuş Tuş Kodu
backspace 8
tab 9
enter 13
shift 16
ctrl 17
alt 18
pause/break 19
caps lock 20
escape 27
page up 33
page down 34
end 35
home 36
sol tuşu 37
üst tuşu 38
sağ tuşu 39
aşağı tuşu 40
insert 45
delete 46
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
a 65
b 66
c 67
d 68
e 69
f 70
g 71
h 72
i 73
j 74
k 75
l 76
m 77
n 78
o 79
p 80
q 81
r 82
s 83
t 84
u 85
v 86
w 87
x 88
y 89
z 90
numpad 0 96
numpad 1 97
numpad 2 98
numpad 3 99
numpad 4 100
numpad 5 101
numpad 6 102
numpad 7 103
numpad 8 104
numpad 9 105
çarpma işareti 106
toplama işaret 107
eksi işareti 109
ondalık işareti 110
bölme işareti 111
f1 112
f2 113
f3 114
f4 115
f5 116
f6 117
f7 118
f8 119
f9 120
f10 121
f11 122
f12 123
num lock 144
scroll lock 145
eşittir 187
virgül 188
tire 189
slaş 191
ter slaş 220
tek tırnak 222

Bu keycode'larını kullanarak bir deneme yapalım:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml xml:lang="tr" lang="tr">

<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<meta name="author" content="oralunal" />

	<title>keyCode - www.trkodlama.com</title>
    <script src="jQuery_dizini/jQuery.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $("#gizli").hide();
            $(document).keyup(function(e) {
                if(e.keyCode == '13') { //Enter tuşu
                    $("#gizli").fadeIn();
                }
                else if(e.keyCode == '') { //Escape tuşu
                    $("#gizli").fadeOut();
                }
            });
        });
    </script>
</head>
<body>
<div>Bu div herkes tarafında görünecektir.</div>
<div id="gizli">Bu div Enter tuşuna basıldığı zaman görünecek Escape tuşuna basıldığı zaman kaybolacaktr.</div>
</body>
</html>

Kullanımı gayet basit ve anlaşılır. Bu sayede $.keyup() fonksiyonunu da anlatmış oldum. Umarım faydalı olmuştur.

Kolay gelsin,



phpBB Bilgi Ekranları

phpBB Bilgi Ekranları

Merhaba arkadaşlar,

phpBB forumlarının ve hatta nerdeyse bütün forumların kullandığı bilgi ekranları vardır. Kullanıcıya yapılan işlemi söyler ve sonra isterse anasayfaya gitme imkanı vs. sunar. Bunlara örnek vermek gerekirse phpBB forum sisteminde üye giriş yaptığı zaman hemen en son olarak bulunduğu sayfaya atmaz. Üye giriş yapar giriş işlemi başarılı ise karşısına başarı ile giriş yaptınız yazısı çıkar. Aynı şekilde çıkış yaptığı zamanda başarıyla çıkış yaptınız anasayfaya gitmek için tıklayınız linki görünür.

Bu bilgi ekranları forumda aktif olan kişilerde sıkıntı yaratabiliyor. Kendimden biliyorum. Devamlı başarılı başarılı mesajları boğuyor en sonunda. phpBB'de bu sayfaları çok rahat bir şekilde nasıl değiştirebileceğinizi göstereceğim.

Şimdi öncelikle phpBB forumumuzun yüklü olduğu olduğu klasörü açıyoruz. Sonra şu dosyayı açıyoruz: phpbb_klasoru/includes/functions.php Aşağıdaki ifadeyi arıyoruz:

function meta_refresh($time, $url, $disable_cd_check = false)
{
	global $template;

	$url = redirect($url, true, $disable_cd_check);
	$url = str_replace('&', '&amp;', $url);
 
	// For XHTML compatibility we change back & to &
	$template->assign_vars(array(
		'META' => '<meta http-equiv="refresh" content="' . $time . ';url=' . $url . '" />')
	);
	return $url;
}

Yukarıdaki bu ifadeyi aşağıdaki şekilde değiştiriyoruz:

 

function meta_refresh($time, $url, $disable_cd_check = false)
{
	global $template;

	$url = redirect($url, true, $disable_cd_check);
	$url = str_replace('&', '&amp;', $url);
 
    header("Location: $url");
   
    /*
	// For XHTML compatibility we change back & to &
	$template->assign_vars(array(
		'META' => '<meta http-equiv="refresh" content="' . $time . ';url=' . $url . '" />')
	);
	return $url;
    */
}

 

Faydalı olması dileğiyle, kolay gelsin

Önemli not: Bu düzenleme phpBB 3.0.8 üzerinde test edilmiştir.











RSSTwitter

En son yazılanlardan ilk senin haberin olsun


Valid HTML 5 Valid CSS!

Güncel Programlama Makaleleri by TR Kodlama © 2009 is licensed under a Creative Commons Alıntı-TicariOlmayan 3.0 Unported License.