Archive for April 2008


Sayfa Yönlendirmek

April 14th, 2008 — 8:01pm

Bir web sayfasını yönlendirmek için bildiğim bazı yöntemleri yazayım istedim. Yönlendirmeleri server tarafında yada client tarafında yapabiliriz. Önce html ve javascript ile client tarafındaki yönlendirme tekniklerini ele alalım.

Meta Tag’ı Kullanmak

<meta http-equiv=”refresh” content=”5;URL=http://www.serdarbuyuktemiz.com” />

Html’in head tagları arasına bir meta refresh tagı eklersek. Content attribute’ünde verdiğimiz süre sonra sayfayı yeniler ve belirttiğimiz adrese yönlenir. Eğer adres belirtmezsek kendi kendini yeniler.

<meta http-equiv=”refresh” content=”180″ />

Mesela www.ntvmsnbc.com gibi haber sayfaları otomatik yenileme yaparlar. Bu yenileme işlemi için genelde meta refresh kullanılır.

Meta refresh kullanmanın bir kötü tarafı arama motorlarının bu tagı içeren adresleri sevmemesi. Arama sonuçlarını manipüle etmek için kullanılabileceği için sayfanız sonuçlar arasında gelmeyebilir. Pek tercih etmemeye çalışalım.

Anchor Tag’ı Kullanmak

Yönlendirme yapmak için kullanıcının tıklamasını bekliyorsak. Bu tag biçilmiş kaftan.

<a href=”http://www.serdarbuyuktemiz.com/” target=”_blank”>Linkin Sayfada Görüntülenen Adı…

Yukardaki kullanım ile href attribute’üne yazdığımız sayfaya yönlendirme yaparız. Anchor tagının bir başka kullanımıda sayfa içinde bir yere yönlendirmedir. Mesela sayfanın başında sorular olur cevapları uzundur. Her hangi bi soruya tıkladığınızda aşağıya cevabın başladığı yere yönlendirir. Bunun için name attribute’ü kullanılır.

<a href=”#SayfadaAsagilardaBirYer”>SayfadaAsagilardaBirYer etiketli anchor tagına git… </a>
……….
<a name=”SayfadaAsagilardaBirYer”>Aşağılarda bir yerdeki yazı</a>

Javascript Kullanmak

<script type=”text/javascript”>
window.location = “http://www.serdarbuyuktemiz.com/”;
</script>

Sayfanın head tagları arasına yukarıdaki javascript kodunu eklersek sayfamız açılır açılmaz yönlenecektir.

Javascript ile çeşitli fonksiyonlar kullanarak her duruma uygun yönlendirme yapabiliriz. Mesela bir butona basıldığında, bir olay tetiklendiğinde, belli bir süre geçtiğinde… şimdi de belli bir süre geçince yönlendirme örneğine bakalım.

<script type=”text/javascript”>
function biSureSonraYonlendir(){
window.location = “http://www.serdarbuyuktemiz.com/”;
}

self.setTimeout(‘biSureSonraYonlendir()’, 5000);
</script>

Süre ile yönlendirmenin yöntemleri de çoğaltılabilir. Settimeout her hangi bir olaydan sonrada çağırılabilir. (body onLoad=”setTimeout(‘biSureSonraYonlendir()’, 5000)”)

Bir başka yöntemde window nesnesinin open metodu.

<script type=”text/javascript”>
function yeniSayfadaAc(adres) {
window.open(adres,”_blank”,”left=100″,false);
}
</script>

Yukarıdaki fonksiyonu herhangi bir olayda çağırarak adres parametresine yazdığımız sayfaya yönlendirebiliriz window.open(URL,name,specs,replace)

Open metodunda;
URL – yönelendirilecek adresi,
Name – sayfanın açılma yöntemini, (_blank,_self,_parent,_top)
Specs – pencere özelliklerini, (height, scrollbars,menubar)
Replace – history’e yeni bir sayfa olarak mı ekleneceğini yoksa var olanın üzerine mi yazılacağını belirtir. (true, false)

Asp.NET Yöntemleri Server.Transfer() – Response.Redirect()

Asp.net ile Response.Redirect metodunu kullanarak bir yönlendirme yapabiliriz. Bu metot server tarafında çalışır. Ve tarayıcının içine yönlenmek istediğimiz sayfayı getirtir.

Response.Redirect(“http://www.serdarbuyuktemiz.com”);

Server.Transfer metodu ile de benzer bir iş yapıyoruz ama Server.Transfer metodu ile yapacağımız yönlendirmeler projemizdeki sayfalardır. www.abc.com gibi bir yönlendirme yapamayız. Projedekibaskasayfa.aspx gibi bir yönlendirme yaparız.

Server.Transfer(“Default.aspx”);

Birde Server.Execute metodu var oda çalıştırıldığı sayfanın üstüne çağırılan sayfayı ekliyor. Ama eski bir metod olduğu ve başka çözümler düşünülmesi gerektiği yazılmış pek çok yerde.

Server.Execute(“Default.aspx”);

Kaynaklar
developer.com/net/asp/article.php/3299641
developerfusion.co.uk/show/4643/4/
ondotnet.com/pub/a/dotnet/2003/04/07/aspnetnav.html
evcil.net/post/redirect-transfer-rewritepath-kahraman-olan-hangisi

Comment » | Something

1 inci Mekanize Piyade Tugayı

April 7th, 2008 — 10:40pm

Pazartesi sabaha karşı www.kkk.tsk.mil.tr’yi 10 saniyede bir açıyordum. Ama hala açıklanmamıştı. Ertesi gün saat 10 gibi kardeşimden öğrenmiştim. “Ağrı – Doğubayazıt 1nci Mknz. P. Tug.” Yurdun çok uzak bir köşesi. Hatta olabilecek en uzak köşesinde askerlik yapacaktım.

Daha önce doğuya gitmiştim kamp yapmak için. Bu da bir kamp sayılır diyordum içimden sadece biraz daha uzun sürecek. 6 Ay. Ama Ağrı’ya daha önce gitmemiştim. Ağrı’nın nasıl bir yer olduğunu birkaç örnekle açıklamaya çalışıyım. Hava alanında telefon yok. Sokaklarda kadın yok. Aralık 11 de her yer kar.

Askerlik Anıları

Doğubayazıt denince akla Ağrı Dağı ve İshakpaşa sarayı geliyor. Kulağa da hoş geliyor. İnsan görmek ister buraları. Ama içtima ile beraber olunca hiç göresi gelmiyor insanın. Muhtemelen dönünce kağıt 100 TL’lere de dokunmak istemeyeceğim! :)

Askerlik Anıları

Ağrı merkezi ile Doğubayazıt merkezi arasında pek fark yok. Ağrıda da yollarda 30 – 40 dakika yürüdüm ve sıkıldım. Doğubayazıt tada 30 – 40 dakika yürüdüm ve sıkıldım. Ama Ağrıda bu süre içerisinde 1 dişi gördüm. Doğubayazıt da 3 dişi. Buradan şu sonuca varıyorum Doğubayazıt Ağrıdan 3 e 1 oranında daha gelişkin :) Buraya yakın bir başka merkez de Iğdır oranın gelişkinliğini oranlayamıyor görenler :)

Askerlik Anıları

Bir gece ağrıda kalıp ertesi gün birliğime teslim olmuştum. İlk gün den bitse de gitsek diye düşünmeye başlıyor insan. Tugayın içi hiç gelişkin değil zira…

20 şerli gruplar halinde mangalaştırılıp, kalacağımız yerlere doğru yollandık. 60 kişilik bir oda da yatacaktım. Biraz sıkılmıştım bu duruma daha az kişilik bir oda istiyordum. Ama yanımda yatan herif horlamasaydı da keşke koğuş 120 kişi olsaydı diye düşünmeye başladım çok geçmeden :)

Öyle yada böyle bitirdik askerliği… ordayken sıkılıyosun, sonuçta yapmak istediklerini yapamıyosun…. ama bittikten bir süre sonra güzel hatırlıyorsun o günleri….

63 comments » | Anı

C Sharp ile Excel Grafiği ve Pivot Table Oluşturmak

April 5th, 2008 — 10:21pm

Pivot table çok gelişmiş bir veri özetleme aracıdır. excelde open office calc’te yada başka bir elektronik tablolama programında eklenmiş olarak bulabilirsiniz. en genel olarak sıralama, veri sayma, veri işleme gibi özellikleri vardır.

Pivot tablolara matrix tablolarda diyebiliriz.

Excel PivotTable, C#

Bu makaledeki amacımız c# koduyla excel verisinden pivota tablosu ve grafik oluşturmak.

Excel Grafik, C#

Visual Studio 2008 ile hazırlandı.

Kodları indirmek için Tıklayınız

Örneğin Kodları

protected void Page_Load(object sender, EventArgs e)
{
//System.Globalization.CultureInfo eskiKultur = System.Threading.Thread.CurrentThread.CurrentCulture;
//System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(“en-US”);

ChartWorks();

PivotWorks();

//System.Threading.Thread.CurrentThread.CurrentCulture = eskiKultur;

Response.Write(“İşlem Tamamlandı…”);

}

private void PivotWorks()
{
Excel.Application xlApp = new Excel.Application();

if (xlApp == null)
{
throw new Exception(“Excel Başlatılamadı. Excel Kurulu Olmaya Bilir.”);
}

xlApp.Visible = true;
xlApp.DisplayAlerts = false;

Excel.Workbook wb = xlApp.Workbooks.Open(
Server.MapPath(ConfigurationManager.AppSettings["PivotFile"]),
Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value);

Excel.Worksheet ws = (Excel.Worksheet)wb.Sheets[1];

Excel.Range sourceData = ws.get_Range(“A1″, “G37″);

Excel.Worksheet ws2 = (Excel.Worksheet)wb.Sheets.Add(Missing.Value,
Missing.Value, Missing.Value, Missing.Value);

CreatePivotTable(wb, ws2, sourceData, “MARKA”, “TARİH”, “ADET”,
“Adet Toplamı”,
Microsoft.Office.Interop.Excel.XlConsolidationFunction.xlSum);

wb.Close(true, Missing.Value, Missing.Value);
xlApp.Quit();
}

private void ChartWorks()
{
Excel.Application xlApp = new Excel.Application();

if (xlApp == null)
{
throw new Exception(“Excel Başlatılamadı. Excel Kurulu Olmaya Bilir.”);
}

xlApp.Visible = false;
xlApp.DisplayAlerts = false;

Excel.Workbook wb = xlApp.Workbooks.Open(
Server.MapPath(
ConfigurationManager.AppSettings["OkunacakExcelFile"]),
Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value);

Excel.Worksheet ws = (Excel.Worksheet)wb.Sheets.Add(Missing.Value,
Missing.Value, Missing.Value, Missing.Value);

Excel.Worksheet ws2 = (Excel.Worksheet)wb.Sheets[2];

Excel.Range ChartRange = (Excel.Range)ws2.get_Range(“A1″, “B15″);

CreateChart(wb, ws, ChartRange, “Grafik Nesnesi”,
Microsoft.Office.Interop.Excel.XlRowCol.xlRows,
10, 20, 700, 400);

wb.Close(true, Missing.Value, Missing.Value);
xlApp.Quit();
}

private void CreateChart(Excel.Workbook book, Excel.Worksheet sheet,
Excel.Range range, string name, Excel.XlRowCol plotby,
int top, int left, int width, int height)
{
Excel._Chart oChart;
oChart = (Excel._Chart)book.Charts.Add(Missing.Value, Missing.Value,
Missing.Value, Missing.Value);

oChart.ChartType =
Microsoft.Office.Interop.Excel.XlChartType.xlBarClustered;

oChart.SetSourceData(range, plotby);

oChart.ApplyDataLabels(
Microsoft.Office.Interop.Excel.XlDataLabelsType.xlDataLabelsShowLabel,
Missing.Value, Missing.Value, false, false, false,
true, false, false, Missing.Value);

oChart.PlotArea.Interior.Color = System.Drawing.ColorTranslator.ToOle(
System.Drawing.Color.White);
oChart.ChartArea.Shadow = true;

Excel.Axis axis =
(Excel.Axis)oChart.Axes(Excel.XlAxisType.xlValue,
Excel.XlAxisGroup.xlPrimary);

axis.TickLabels.Font.Size = 7;
axis.TickLabels.Font.Name = “Tahoma”;

Excel.Axis axis2 = (Excel.Axis)oChart.Axes(
Excel.XlAxisType.xlCategory,
Excel.XlAxisGroup.xlPrimary);

axis2.TickLabels.Font.Name = “Tahoma”;
axis2.TickLabels.Font.Size = 7;

oChart.Legend.Font.Size = 7;
oChart.Legend.Font.Name = “Tahoma”;
oChart.Legend.Position =
Microsoft.Office.Interop.Excel.XlLegendPosition.xlLegendPositionBottom;

oChart.Location(Excel.XlChartLocation.xlLocationAsObject, sheet.Name);

sheet.Shapes.Item(1).Top = top;
sheet.Shapes.Item(1).Left = left;
sheet.Shapes.Item(1).Width = width;
sheet.Shapes.Item(1).Height = height;
}

private void CreatePivotTable(Excel.Workbook workbook, Excel.Worksheet sheet,
Excel.Range range, string rowfiledname, string columnfieldname,
string valuefieldname, string valuelabel, Excel.XlConsolidationFunction function)
{
workbook.PivotCaches().Add(Excel.XlPivotTableSourceType.xlDatabase,
range).CreatePivotTable(sheet.get_Range(“A2″,
Type.Missing), “PivotTable”
+ sheet.Name, Type.Missing, Type.Missing);

Excel.PivotTable PT = (Excel.PivotTable)sheet.PivotTables(“PivotTable”
+ sheet.Name);
PT.NullString = “0″;
PT.GrandTotalName = “Toplam”;

Excel.PivotField _RowField = (Excel.PivotField)PT.PivotFields(rowfiledname);
_RowField.Orientation = Excel.XlPivotFieldOrientation.xlRowField;
_RowField.Position = 1;

Excel.PivotField _ColumnField =
(Excel.PivotField)PT.PivotFields(columnfieldname);
_ColumnField.Orientation = Excel.XlPivotFieldOrientation.xlColumnField;
_ColumnField.Position = 1;

PT.AddDataField(PT.PivotFields(valuefieldname), valuelabel, function);

Excel.Range _grpRange = (Excel.Range)sheet.Cells[3, 2];

_grpRange.Group(Missing.Value, Missing.Value, 5,
new bool[] { false, false, false, false, true, false, true });

}

4 comments » | Csharp - C#, Excel

Page 2 of 3123

Back to top