February 24th, 2009 — 5:55am
Nuriosmaniye – Fevziye arası bol karlı bir yürüyüş oldu. Zaman zaman 30 cm’yi geçtiği oldu kar kalınlığının. Haliyle bizi epey yordu… Eminim herkesin hala bacakları ağrıyordur.
Google Earth görünümünü bir inceleyin nasıl tepeler aşmışız görün :)

nuriosmaniye fevziye gecisi rota
15 kişi gitmeyi düşünürken birden bire 22 kişi olunca büyük minibüsle gittik. Önce Berceste’de kahvaltı ettik, yürüyüş için alışverişimizi yaptık. Berceste’de durulunca bol bol kuruyemiş alındı tabi… Çantalar kuruyemiş yüklü şekilde, Nuriosmaniye köyünden çok dik bir yokuşla başladık yürüyüşe.
Hava çok güzeldi. Yani yürüyüş için güzeldi :) Etraf kar kıyamet tabi. Ama özellikle ilk başlarda ne rüzgâr ne de yağış vardı. Ilımanca bir hava ve her yer bembeyaz… Yürümek için çok güzel anlardı.

nuriosmaniye fevziye gecisi
Başlarda geniş bir yay çizip orman içine daldık, tel örgüler aştık biraz zaman kaybettik, aslında zaman kaybı demeyelim gerçek bir doğa sporu gibi başladık… Sonra hava kararmadan bitirmek adına orman içine dalma işini bıraktık ve patikadan devam ettik…

nuriosmaniye fevziye gecisi
Bir ara ilerileri görmemizi zorlaştıran bir sisle yürüdük ama yolumuzu şaşırmadan köye inen güzel bir patika bulduk. Ve patikanın sonunda yürüyüşü tamamladık.
Bu hafta çok daha güzel geçeceğini tahmin ettiğim deniz manzaralı kar yürüyüşüne herkesi bekliyorum…
Gezinin Fotoğrafları
2 comments » | Anı
February 19th, 2009 — 4:14am
Ado.Net’i veritabanından bağımsız kullanmak için DbProviderFactory classını kullanabiliriz.
web.config‘e provider adını, connection string’i tanımladığımızda bağlanacağımız veritabanı yer olarak da provider olarak da uygulamanın dışına çıkmış oluyor…
hadi oracle‘a taşıyalım, yok olmadı şimdi mysql yapcaz, gene olmadı sql server olsun istekleri karşılanabilir oluyor :P
bu son satırlar komik oldu :)
// bu değerlerin web.configden geldiğini düşünelim
const string factory = "System.Data.SqlClient";
const string cnnStr = @"Data Source=192.168.1.111;
Initial Catalog=myDB;
User ID=sa;Pwd=abcd.1234;";
const string cmdStr = "SELECT * FROM tblUsers";
//query yerine stored procedure kullanırsak
//uygulamayı doğal olarak parametrik hale getirmiş oluyoruz
//web.config'de de bir sürü query olmamış oluyor.
DbProviderFactory myFactory = DbProviderFactories.GetFactory(factory);
DbConnection cnn = myFactory.CreateConnection();
cnn.ConnectionString = cnnStr;
DbCommand cmd = myFactory.CreateCommand();
cmd.CommandText = cmdStr;
cmd.Connection = cnn;
cnn.Open();
DbDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Response.Write(string.Format("{0}<br/>", rdr[0]));
}
cnn.Close();
kaynak
aPress pro asp.net c# 2008 kitabı
david hayden
msdn
2 comments » | Csharp - C#
February 11th, 2009 — 7:59am
The title explains what this code does, Google is the reason that i write long titles :)
This is a console application which listens a folder. If a change occurs in that folder you get an alert with a message box. Also the console screen lists the files in folder.
This type of work is better with windows services. Because if you close the console application you can not get an alert :)
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace FolderAlertService
{
class Program
{
//to beep
[DllImport("Kernel32.dll")]
public static extern bool Beep(UInt32 frequency, UInt32 duration);
static void Main(string[] args)
{
FileSystemWatcher fsw = new FileSystemWatcher(@"c:\Serdar");
fsw.EnableRaisingEvents = true;
fsw.Changed += new FileSystemEventHandler(OnChanged);
Console.Read();
}
private static void OnChanged(object source, FileSystemEventArgs e)
{
Console.Clear();
Beep(500, 100);
MessageBox.Show("Folder Changed!", "Alert",
MessageBoxButtons.OK,
MessageBoxIcon.Warning,
MessageBoxDefaultButton.Button1,
MessageBoxOptions.ServiceNotification);
string[] files = Directory.GetFiles(e.FullPath);
for (int i = 0; i < files.Length; i++)
{
Console.WriteLine(string.Format("File : {0}",
Path.GetFileName(files[i])));
}
}
}
}
2 comments » | Csharp - C#
February 10th, 2009 — 5:33am
Handlerlar default olarak session değerlerini getirmiyorlar.
Erişmek istediğinizde null oluyor. Eğer null olmasın istiyorsanız IRequiresSessionState veya IReadOnlySessionState interfacelerini implemente etmeniz gerekiyor.
using System.Web;
using System.Web.SessionState;
public class MyHandler : IHttpHandler, IRequiresSessionState
{
public MyHandler()
{
}
#region IHttpHandler Members
public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
//do work
context.Session["MyValue"] = "New Value";
}
#endregion
}
Comment » | Asp.Net
February 10th, 2009 — 2:23am
Your datatable must have captions for better view.
Excel.Application xlApp = new Excel.Application();
xlApp.Visible = false;
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Excel.Workbook wb = xlApp.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
Excel.Worksheet ws = (Excel.Worksheet)wb.Sheets[1];
//capion work you can delete it if you want
for (int r = 0; r < dtExcel.Columns.Count; r++)
{
Excel.Range field = (Excel.Range)ws.Cells[1, r + 1];
field.Formula = dtExcel.Columns[r].Caption;
}
for (int i = 0; i < dtExcel.Rows.Count; i++)
{
for (int j = 0; j < dtExcel.Columns.Count; j++)
{
Excel.Range field = (Excel.Range)ws.Cells[i + 2, j + 1];
field.Formula = dtExcel.Rows[i][j].ToString();
}
}
ws.Cells.EntireColumn.AutoFit();
wb.SaveAs(fileName, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value);
wb.Close(true, Missing.Value, Missing.Value);
xlApp.Quit();
Comment » | Csharp - C#