Örnek olsun deyyu güzel bir ekran tasarımı:
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
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 :)
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)));
}
}
Etiketler:
Console Application,
Cyrstal Report,
dll,
GAC,
Global Assembly Cache
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++;
}
}
Kaydol:
Kayıtlar (Atom)