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

31 Mart 2011 Perşembe

PayPal ekran tasarımı

Örnek olsun deyyu güzel bir ekran tasarımı:

Normalize olmuş bir yapının resmi

16 Mart 2011 Çarşamba

ASP.NET ile Excel import

Ref: http://www.aspfree.com/c/a/ASP.NET-Code/Read-Excel-files-from-ASPNET/


protected void Page_Load(object sender, EventArgs e)
{
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=C:\\temp\\deltamed.xls;" +
"Extended Properties=Excel 8.0;";
//You must use the $ after the object you reference in the spreadsheet
OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);

DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet, "ExcelInfo");
DataGrid1.DataSource = myDataSet.Tables["ExcelInfo"].DefaultView;
DataGrid1.DataBind();
}

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server">SpreadSheetContents:</asp:Label><br />
<asp:DataGrid ID="DataGrid1" runat="server" />
</div>
</form>
</body>
</html>

9 Mart 2011 Çarşamba

GAC dan dll leri çeken uygulama

Ben yazmadım. Bu abi şurada yazmış.

Süper işime yaradı Allah ondan razı olsun :)

using System;
using System.IO;

class Program
{
static void Main(string[] args)
{
string[] sourceFiles = new string[]
{
@"C:\Windows\assembly\GAC_MSIL\CrystalDecisions.CrystalReports.Engine\10.5.3700.0__692fbea5521e1304\CrystalDecisions.CrystalReports.Engine.dll",
@"C:\Windows\assembly\GAC\CrystalDecisions.Enterprise.Framework\10.5.3700.0__692fbea5521e1304\CrystalDecisions.Enterprise.Framework.dll",
@"C:\Windows\assembly\GAC\CrystalDecisions.Enterprise.InfoStore\10.5.3700.0__692fbea5521e1304\CrystalDecisions.Enterprise.InfoStore.dll",
@"C:\Windows\assembly\GAC_MSIL\CrystalDecisions.KeyCode\10.5.3700.0__692fbea5521e1304\CrystalDecisions.KeyCode.dll",
@"C:\Windows\assembly\GAC_MSIL\CrystalDecisions.ReportAppServer.ClientDoc\10.5.3700.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.ClientDoc.dll",
@"C:\Windows\assembly\GAC_MSIL\CrystalDecisions.ReportAppServer.CommLayer\10.5.3700.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.CommLayer.dll",
@"C:\Windows\assembly\GAC_MSIL\CrystalDecisions.ReportAppServer.Controllers\10.5.3700.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.Controllers.dll",
@"C:\Windows\assembly\GAC_MSIL\CrystalDecisions.ReportAppServer.DataDefModel\10.5.3700.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.DataDefModel.dll",
@"C:\Windows\assembly\GAC_MSIL\CrystalDecisions.ReportAppServer.DataSetConversion\10.5.3700.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.DataSetConversion.dll",
@"C:\Windows\assembly\GAC_MSIL\CrystalDecisions.ReportAppServer.ReportDefModel\10.5.3700.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.ReportDefModel.dll",
@"C:\Windows\assembly\GAC_MSIL\CrystalDecisions.ReportAppServer.XmlSerialize\10.5.3700.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.XmlSerialize.dll",
@"C:\Windows\assembly\GAC_MSIL\CrystalDecisions.ReportSource\10.5.3700.0__692fbea5521e1304\CrystalDecisions.ReportSource.dll",
@"C:\Windows\assembly\GAC_MSIL\CrystalDecisions.Shared\10.5.3700.0__692fbea5521e1304\CrystalDecisions.Shared.dll",
@"C:\Windows\assembly\GAC_MSIL\CrystalDecisions.Web\10.5.3700.0__692fbea5521e1304\CrystalDecisions.Web.dll",
@"C:\Windows\assembly\GAC_MSIL\CrystalDecisions.Windows.Forms\10.5.3700.0__692fbea5521e1304\CrystalDecisions.Windows.Forms.dll",
};

foreach (string file in sourceFiles)
File.Copy(file, Path.Combine(@"C:\Temp\CrystalReportsAssemblies", Path.GetFileName(file)));
}
}

7 Mart 2011 Pazartesi

16F877A işlemcisinde input bacağı tanımlama




void main(){
TRISA = 0;
// 0x01 ile TRISB nin 0. bacağını giriş olarak belirledik
TRISB = 0x01;
TRISC = 0;
TRISD = 0;
TRISE = 0;

PORTA = 0;
// giriş bacağına anlık olarak ilk başlangıçta 1 değeri atıyoruz ama
// sinyal gelir gelmez input bacağı yeni değerine kavuşur.
PORTB = 0b00000001;
PORTC = 0;
PORTD = 0;
PORTE = 0;

while(1){
// Eğer bacaktaki sinyal 1 ise (bacakta voltaj varsa)
if(PORTB.f0==1){
// tüm bacakları high a çekiyor
PORTB.f1 = 1;
PORTB.f2 = 1;
PORTB.f3 = 1;
PORTB.f4 = 1;
PORTB.f5 = 1;
PORTB.f6 = 1;
PORTB.f7 = 1;
}else{
// bacakta voltaj yoksa low a çek
PORTB = 0;
}
}
}

// NOT: LM78L Direnci sıcaklık ölçmek içindir. 3 bacaklı olup birisi 5V ikincisi
// topraktır. Sıcaklık değiştikçe üstünden geçen akım miktarıda doğrusal değiştiği için
// potansiyel fark (V = I x R) ın karşılık düştüğü değere göre sıcaklığı ölçebiliriz.
// Potansiyel farktaki bu değişim sıcaklığın kaç olduğunu verecektir.
// www.digchip.com/data/1090/LM78L06.pdf

4 Mart 2011 Cuma

Çeşitli Thread yöntemleri


private void btnUpdate_Click(object sender, EventArgs e)
{
if (pc != null)
{
Commander cmd = new Commander(pc);

new Thread(new ThreadStart(delegate()
{
int i = pc.ToplamOkunacakByte;
MessageBox.Show(i.ToString());
})).Start();

// pc formun SerialPort okuma işini yapan objeyi barındıran sınıfının örneği
new Thread(new ThreadStart(() =>
{
int i = pc.ToplamOkunacakByte;
MessageBox.Show(i.ToString());
})).Start();

// pb form üzerindeki ProgresBar dır (private System.Windows.Forms.ProgressBar pb;)
pb.Maximum = 100;
pb.Value = 0;

// Thread e parametre olarak pb yi veriyor,
// delegesinde ise p olarak kullanıyoruz.
new Thread(new ParameterizedThreadStart((p) =>
{
for (int i = 0; i < 100; i++)
{
Thread.Sleep(10);
((ProgressBar)p).Value++;
}
})).Start(pb);
}
}


2 Mart 2011 Çarşamba

16F877A İşlemcisiyle karaşimşek



void main(){
unsigned int i=1;


// ww1.microchip.com/downloads/en/devicedoc/39582b.pdf
// adresindeki datasheetin 6. sayfasında 40 pinlik işlemcimizin
// portlarının bacaklarını görebiliriz.
// A portunda 6 bacak olduğunu görüyoruz.
//
// A portunun yönünü belirlemek için TRISA registerı ile ulaşıyoruz.
// Tüm portları Portları OUTPUT olarak ayarlıyoruz.
TRISA = 0x00;
TRISB = 0x00;
TRISC = 0x00;
TRISD = 0x00;
TRISE = 0x00;

// 1) A portunun f0 dan f5 e kadar nın da 0 verelim
PORTA.f0 = 0;
PORTA.f1 = 0;
PORTA.f2 = 0;
PORTA.f3 = 0;
PORTA.f4 = 0;
PORTA.f5 = 0;

// 2) Yukarıdakini kısaca tüm portun bacaklarını 0 lamak için aşağıdaki gibi:
PORTB = 0x00;
PORTC = 0x00;
PORTD = 0x00;
PORTE = 0x00;

// 1 deki durumda tek bir bacak (1 bit) olduğu için 0 değerini atamamız yetti.
// 2 deki durumda ise 8 biti hexadecimal olarak 0x00 ile tüm bacakları 0 ladık.
// Eğer B portunun (8 bacaklı) son iki bacağı 1 ama diğerlerini 0 lamak
// istersek 0b00000011 (binary olarak) ya da 0x03 (hexadecimal) olarak ayarlayabiliriz.

while(1)
{
i=1;
while(i<128)
{
PORTB=i;
i=i<<1;
delay_ms(100);
}
i=128;
while(i>0)
{
PORTb = i;
i = i>>1;
delay_ms(100);
}
}
}

16F877A İşlemcisiyle LED yakıp söndürme


void main(){
// Eski programlama dili olduğu için önce değişkenlerimizi tanımlayalım
int i = 0;

// Tüm portlarımızı çıkış olarak ayarlıyoruz
// neticede led yakıp söndüreceğiz
TRISA = 0x00;
TRISB = 0x00;
TRISC = 0x00;
TRISD = 0x00;
TRISE = 0x00;

// Tüm port bacaklarının aşlangıç değerlerini vereceğiz
// Önceki programlamadan üstünde değer kalmış olma ihtimaline karşı
// Yukarıda ANALOG ayarlama registerını kullanmadığımız için hepsi dijital
// Bu portların bacaklarının çıkış sinyaline 0 veriyoruz.
PORTA = 0x00;
PORTB = 0x00;
PORTC = 0x00;
PORTD = 0x00;
PORTE = 0x00;

delay_ms(5000); // Çalıştıktan 5 saniye sonra


// sonsuz döngüde i == 5 oluncaya kadar
while(i<5){
// RD2 bacağına sinyal verelim
PORTD.F2 = 1;
// Yandığında biraz yanık kalsın ledimiz
delay_ms(500);


// Sinyali keselim
PORTD.F2 = 0;
// Södüğünde de biraz sönük kalsın ledimiz
delay_ms(500);

i++;
}
}