11 Nisan 2015 Cumartesi

C# ASP.NET ile AdRotator Nesnesi ve XML Kullanımı Reklam Gösterme

Adrotator nesnesi kullanarak reklam gösterimi yapalım.
Önce yeni bir web sitesi oluşturalım:

Sonra site için gerekli klasörü oluşturun ve içine resimleri atın.


 Şimdi şekildeki gibi web formunu oluşturn ve nesneyi ekleyin

adrotarator.aspx sayfasının tamamı;
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="adrotator.aspx.cs" Inherits="adrotator" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:AdRotator ID="AdRotator1" runat="server" AdvertisementFile="~/XMLreklam.xml" />
    </div>
    </form>
</body>
</html>

Daha sonra xml dosyasını oluşturalım:




XMLreklam.xml içeriği;
<?xml version="1.0" encoding="utf-8" ?>
<Advertisements>

  <Ad>
    <ImageUrl>img\reklam1.jpg</ImageUrl>
    <NavigateUrl>http://www.google.com.tr</NavigateUrl>
    <AlternateText>Arama motoru</AlternateText>
    <Keyword>Arama</Keyword>
    <Impressions>5</Impressions>
  </Ad>

  <Ad>
    <ImageUrl>img\reklam2.jpg</ImageUrl>
    <NavigateUrl>http://www.zonguldakeml.k12.tr</NavigateUrl>
    <AlternateText>Zonguldak Mesleki ve Teknik Anadolu Lisesi </AlternateText>
    <Keyword>Lise</Keyword>
    <Impressions>10</Impressions>
  </Ad>

  <Ad>
    <ImageUrl>img\reklam3.jpg</ImageUrl>
    <NavigateUrl>http://wwww.bilisimzonguldak.blogspot.com</NavigateUrl>
    <AlternateText>Yayın adresimiz</AlternateText>
    <Keyword>Bilgi</Keyword>
    <Impressions>20</Impressions>
  </Ad>

  <Ad>
    <ImageUrl>img\reklam4.jpg</ImageUrl>
    <NavigateUrl>http://wwww.zonguldakbilisim.wordpress.com</NavigateUrl>
    <AlternateText>Alternatif yayın aDresimiz</AlternateText>
    <Keyword>Paylaşım</Keyword>
    <Impressions>10</Impressions>
  </Ad>

</Advertisements>

xml dosyası;
XML ElemanlarıAçıklama
AdvertisementsReklam dosyasının yolu.
AdAyrı reklamları ayırma.
ImageUrlResmin fiziksel adresi
NavigateUrlKullanıcı reklamı tıkladığında takip edilecek link
AlternateTextEğer resim görüntülenemez ise resmin yerine gösterilir metin
KeywordFiltre yapımında da kullanılabilir anahtar kelime.
ImpressionsReklamın hangi sıklıkla görüntüleyeceğinizi belirten değer.
HeightResmin görüntüleneceği yükseklik
WidthResmin görüntüleneceği genişlik.
adratotar nesnesi;
ÖzelliklerAçıklama
AdvertisementFileReklam dosyasının yolu.
AlternateTextFeildVarsayılan alt değer.
DataMemberkullanılan veri kaynağının alanını belirleme
DataSourcebaşka bir veri kaynağı kullanma
DataSourceIDbaşka bir veri kaynağı kullanma
FontFont özellikleri
ImageUrlFieldGörüntü için URL'si sağlanır
KeywordFilterBir anahtara göre reklam görüntüleme
NavigateUrlFieldKullanıcı reklamı tıkladığında takip edilecek link
TargetAçılacak pencere niteliği.Yeni sayfada veya ayrı sayfada aç
UniqueIDBenzersiz nitelikli tanımlayıcı

OlaylarıAçıklama
AdCreatedBu kontrol oluşturulmasından sonra sunucuya bir kez gidiş-dönüş
DataBindingSunucu denetimi bir veri kaynağına bağlandığında oluşur
DataBoundSunucu denetimi bir veri kaynağına bağlar sonra veri sınırlama oluşur
DisposedSunucu denetimi bellekten serbest bırakıldığında oluşur
InitSunucu denetimi başlatıldığında oluşur.
LoadSunucu denetimi  sayfası yüklendiğinde oluşur.
PreRenderKontrol nesnesi render olayıdan sonra oluşur.
UnloadSunucu denetimi bellekten kaldırıldığında oluşur.

11 Mart 2015 Çarşamba

Android öğrenmek için gerekli video ve ders anlatımları.

Kaynakları tam olarak incelemedim. Ama inceliyorum. Bitince belki bir kaç proje de yayınlarız. Şu an Merhaba Dünyadayız
https://www.udemy.com/android-programlama-icin-java-ve-xml  ücretsiz üyelik var üye olunca dersler izlenebiliyor. İncelediğim kadarıyla başlangıç seviyesinde çok iyi videolar.

Aptal Terminal Uygulaması

Projede elinizdeki güçlü bir bilgisayara uzaktan bağlanan aptal terminallerle ucuz bir laboratuvar oluşturmak. Eskiyen ve güncel programları çalıştırmayan pcler ile istenen yazılımları çalıştırmak.
Bunun birkaç yolu var, hatta bu işi yapan bir çok firmada var. Biz bu projeyi gerçekleştirdik. istediğimiz bir pc’yi ister cd ile ister floppy disk ile ile sabit diskteki küçük bir programla ve isterseniz de Ethernet kartı ile uzak masaüstü olarak bağlantıyı sağladık. Bir i3 4gb makineye uzaktan 15 adet aptal terminali açtık. Tüm makinelerde aynı anda office uygulaması, internete girme, visual studio çalıştırma, adobe programları çalıştırma işlemlerini yaptık.
Aptal terminaller sabit disksiz p4 256mb sdramli tedavülden kalkmış, devlet kurumlarının bize verdiği hurda pclerdi.
Çalışma; syslinux kullanılarak tüm pcler basit bir linux üzerinden açılarak RDP(uzak masaüstü bağlantısı) yapıyor.
Sorun: win7 aynı anda birden fazla pcden uzak masaüstü için lisans istiyor. Bunu da çözdük. İster aynı kullanıcıdan aynı anda birden fazla oturum açabiliyoruz. İster her aptal terminal için tek bir kullanıcı tanımlayabiliyoruz. Dediğim gibi burada lisans sorunları çıkabilir. Ama uzak masaüstü için başka protokollerde kullanılabilir. (VNC server)
Denemeler şu an devam etmektedir. Okul içinde bu şekilde bir kaç laboratuvar kurarak diğer eksikleri de gidermeye çalışacaz. İnternet üzerinde biraz araştırma yaparak sizde yapabilir veya bizimle iletişime geçebilirsiniz.

Windows 7’de Açılışta … Üzerindeki Dosya Sistemi Denetliyor Sorununu gidermek.

Sorun sabit diskteki fiziksel bir problem olabilir. Ama yinede bu sorunu her açılışta görmeden atlaması için;
başlat – çalıştır’ a – chkntfs /x c: yazıp entera basın.
başlat – çalıştır’ a  “regedit” yaz. Aşağıdaki adrese git
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
“bootexecute”  kayıt anahtarını bul ve degiştir diyerek içindekileri sil.
Dediğim gibi sorun fiziksel ise bu yazdıklarım çözmez sadece açılışta her defasında denetleme yapmayı atlar.

AVASoft Antivirus Professional diye bir program(virüs) başıma iş açtı. Zor Oldu Ama Çözdük.

AVASoft Antivirus Professional diye bir programı bilgisayarınıza yüklediyseniz artık herşey virüs gibi algılanıyor ve satın almanız için tüm pc bloke ediliyor. msconfig, cmd çalışmıyor, dosyalar gizleniyor, güvenli kipte bile pc açılmıyor. Antivirüs etkisiz kalıyor, ctrl+alt+enter çalışmıyor. Anlıyacağınız herşey bloke. Pcye formt atmaktan başka çare yokmuş gibi görünüyor. Ama pcdeki verilerde önemli. İnternette bir sürü yol var. Ama bunların tamamı pc güvenli kipte açılması ile yapılıyor. Artı olarakta temizlemek için başka bir program yüklüyor. Benim elimdeki pc güvenli kiptede açılmadı ben de şu şekilde sorunu çözdüm.
  1. AVASoft Antivirus Professional Virüs ara birimi kayıt simgesine tıklayın. Kayıt Şifresi olarak AA39754E-715219CE olarak girin. Muhtemel lisans işlemi oluyor olmazsa nette başka şifrelerde var onları da deneyebilirsiniz.
  2. Program lisanslanınca artık ctrl+alt+enter çalışıyor. Çalışan programlar listesinden 7600000AFB3F68E9C9…com veya exe diye bir program var onun görevini sonlandırdım. Böylece sistemde çalışanlardan kalkmış oldu.
  3. Avira antivirüs ücretsiz sürümünü netten güncelleyip kurdum ve tarattım. Muhtemel artık herhangi bir antivirüs kurup temizleyebilirsiniz.
  4. Program kendini C:\Documents and Settings\All Users\Application Dataveya ProgramData gibi bir klasörün altında veya başka bir yerde  “0AFB4A5BD631E17600000AFB3F68E9C9″ isimli bir klasör olacak. (Bu şekilde bir klasör olacak aynı karakterler olmayabilir.) O klasörü de sistemden sildim.
  5. Başlat -> Programlar içinde de AVASoft Professional Antivirus isimli program klasörü olacak onu da alt programlarıyla siliyoruz.
  6. Masaüstünden de AVASoft Professional Antivirus kısayolunu silerek virüsten kurtulmuş oluyoruz.
  7. Başlat Çalıştır ‘a msconfig yazarak açılışta çalışan tüm programları Sadece antivirüs seçili olacak şekilde devre dışı bıraktım.
  8. Bilgisayarı tekrar yeniden başlatın ve normal olarak açılsın.

Access 2003 Veritabanı kullanarak Asp.Net Veri ekleme Silme Değiştirme ve Bulma İşlemleri Ders Notlarım

Örnek veritabanı;
Veritabani.mdb veliler tablosu
KimlikKuladSifreMailyasKay_tarCinsiyettckimlik
1Kulad1111112345@12.com1501.01.2013111111111111
2Kulad22222Qqaq@aa.com2501.02.2013022222222222
Tablodaki veri türleri tanımları;
Kimlik(birincil anahtar otomatik sayı), Kulad(metin 15 karakter), sifre(metin 10 karakter)mail(metin 100 karakter), yas(sayı), Kay_tar(tarih), cinsiyet(bit 0=bayan, 1=bay),tckimlik(metin 11 karakter)
veritabaniislemleri
Öğrenme amaçlı hazırlanan Örnekte Her işlem bir butona atanmıştır.
Visual Studio 2010 Access Veritabanı İşlemleri
using System.Data;
using System.Data.OleDb;//bu kütüphaneler programa eklenecek
  • Tablo oluşturma:
protected void tabloolustur_Click(object sender, EventArgs e)
{
OleDbConnection baglanti = new OleDbConnection(“Provider=Microsoft.Jet.OleDb.4.0;Data Source=”+ Server.MapPath(“~/App_Data/veritabani.mdb”));//veritabanı dosya bağlantısı
OleDbCommand tabloyabaglan = new OleDbCommand(
“create table veliler(kimlik autoincrement, kulad text(15),sifre text(10),mail text(100),yas integer,kay_tar datetime,cinsiyet bit,tckimlik text(11))”, baglanti);//tablo olştur kodu
baglanti.Open();//İşlemleri Başlat
tabloyabaglan.ExecuteNonQuery();
baglanti.Close();
}
  • Tablo Silme:
protected void tablosil_Click(object sender, EventArgs e)
{
OleDbConnection baglanti = new OleDbConnection(“Provider=Microsoft.Jet.OleDb.4.0;Data Source=”+ Server.MapPath(“~/App_Data/veritabani.mdb”));
OleDbCommand tabloyabaglan = new OleDbCommand(“drop table veliler”, baglanti);
baglanti.Open();
tabloyabaglan.ExecuteNonQuery();
baglanti.Close();
}
  • Tabloya veri ekleme:
protected void tabloyakul1ekle_Click(object sender, EventArgs e)
{
OleDbConnection baglanti = new OleDbConnection(“Provider=Microsoft.Jet.OleDb.4.0;Data Source=”+ Server.MapPath(“~/App_Data/veritabani.mdb”));
OleDbCommand tabloyabaglan = new OleDbCommand(“insert into veliler(kulad,sifre,mail,yas,kay_tar,cinsiyet,tckimlik) values (‘kulad1′,’1111′,’12345@12.com’,15,’01.01.2013′,true,’11111111111′)”, baglanti);
baglanti.Open();
tabloyabaglan.ExecuteNonQuery();
baglanti.Close();
}
  • Tabloyu Listele:
protected void tabloyulistele_Click(object sender, EventArgs e)
{
OleDbConnection baglanti = new OleDbConnection(“Provider=Microsoft.Jet.OleDb.4.0;Data Source=”+ Server.MapPath(“~/App_Data/veritabani.mdb”));
OleDbCommand tabloyabaglan = new OleDbCommand(“SELECT * from veliler”, baglanti);
baglanti.Open();
OleDbDataReader tabloylaislemyap = tabloyabaglan.ExecuteReader();
GridView1.DataSource = tabloylaislemyap;
GridView1.DataBind();
baglanti.Close();
}
  • Şarta Göre Listele:
protected void kulad2olanlistele_Click(object sender, EventArgs e)
{
OleDbConnection baglanti = new OleDbConnection(“Provider=Microsoft.Jet.OleDb.4.0;Data Source=”+ Server.MapPath(“~/App_Data/veritabani.mdb”));
OleDbCommand tabloyabaglan = new OleDbCommand(“SELECT * from veliler where kulad=’kulad2′”, baglanti);
//OleDbCommand tabloyabaglan = new OleDbCommand(“SELECT * from veliler where mail like ‘%12%'”, baglanti);
//OleDbCommand tabloyabaglan = new OleDbCommand(“SELECT * from veliler where kay_tar>=#05/01/2012# and yas<=25″, baglanti);
//
baglanti.Open();
OleDbDataReader tabloylaislemyap = tabloyabaglan.ExecuteReader();
GridView1.DataSource = tabloylaislemyap;
GridView1.DataBind();
baglanti.Close();
}
  • Tablodaki verileri Silme;
protected void tablodanverisil_Click(object sender, EventArgs e)
{
OleDbConnection baglanti = new OleDbConnection(“Provider=Microsoft.Jet.OleDb.4.0;Data Source=”+ Server.MapPath(“~/App_Data/veritabani.mdb”));
OleDbCommand tabloyabaglan = new OleDbCommand(“delete from veliler”, baglanti);
//OleDbCommand tabloyabaglan = new OleDbCommand(“Delete from veliler where kulad=’kulad2′”, baglanti);
//OleDbCommand tabloyabaglan = new OleDbCommand(“Delete from veliler where mail like ‘%12%'”, baglanti);
//OleDbCommand tabloyabaglan = new OleDbCommand(“Delete from veliler where kay_tar>=#05/01/2012# and yas<=25″, baglanti);
baglanti.Open();
tabloyabaglan.ExecuteNonQuery();
baglanti.Close();
}
  • Tablodaki verileri değiştirme;
protected void tablodanverisil_Click(object sender, EventArgs e)
{
OleDbConnection baglanti = new OleDbConnection(“Provider=Microsoft.Jet.OleDb.4.0;Data Source=”+ Server.MapPath(“~/App_Data/veritabani.mdb”));
OleDbCommand tabloyabaglan = new OleDbCommand(“Update ogrenci set bolum_id=2,bolum_ad=’pazarlama’ where adi=’Ahmet’ and Soyadi=’yilmaz’”, baglanti);
baglanti.Open();
tabloyabaglan.ExecuteNonQuery();
baglanti.Close();
}

ASP veya ASP.Net ile Barcode Oluşturma

İnternetten yaptığım araştırmalara göre bu barkod hakkında kullandığım siteleri sonra kendim tekrar bulmakta zorlanmayayım diye buraya yazıyorum,
  • Benim kullanmayı düşündüğüm ulgulama;
http://www.aspindir.com/goster/3310 buradaki kodlar çalışıyo denedim. Kodu incelediğinizde istenen barkodu adrese
code128a.aspx?input=deneme şeklinde yazarsanız istediğiniz verinin barkodu oluşuyor. Yapılmış örnekte değişiklikler yapılarak uygulanabilir.
code128a.aspx ‘in içeriği
<%@ Import Namespace=”System.Drawing” %>
<%@ Import Namespace=”System.Drawing.Imaging” %><script language=”VB” runat=”server”>
Sub BarCode(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Input As String = Request.Querystring(“input”)
If Input = “” Then Input = “barkodyaz”
Dim ValidInput As String = ” !” & Chr(34) & “#$%&()**+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~” & Chr(0) & Chr(1) & Chr(2) & Chr(3) & Chr(4) & Chr(5) & Chr(6) & Chr(7) & Chr(8) & Chr(9) & Chr(10) & Chr(255)
Dim ValidCodes As String = “17401644163811761164110012241220112416081604157214361244123014841260125416501628161417641652190218681836183018921844184217521734159013041112109414161128112216721576157014641422113414961478114219101678158217681762177418801862181418961890181819141602193013281292120011581068106214241412123212181076107415541616197815561146134012121182150812681266195619401938175817821974140013101118151215061960195415021518188619661724168016926379”
Dim Digit As Integer = 103
Dim i As Integer
For i = 1 to Input.Length
Digit += (i * Instr(1, ValidInput, Mid(Input, i, 1)))
Next
Digit = Digit Mod 103
Input = Chr(8) & Input & Mid(ValidInput, Digit, 1) & Chr(255)
Dim bmp As Bitmap = New Bitmap((Input.Length * 11) + 13, 50)
Dim g As Graphics = Graphics.FromImage(bmp)
g.FillRectangle(New SolidBrush(Color.White), 0, 0, (Input.Length * 11) + 13, 50)
Dim p As New Pen(Color.Black, 1)
Dim BarValue, BarX As Integer
Dim BarSlice As Short
For i = 1 To Input.Length
Try
If InStr(1, ValidInput, Mid(Input, i, 1)) > 0 Then
BarValue = Val(Mid(ValidCodes, ((InStr(1, ValidInput, Mid(Input, i, 1)) – 1) * 4) + 1, 4))
Digit = 11
If i = Input.Length Then Digit = 13
For BarSlice = Digit To 0 Step -1
If BarValue >= 2 ^ BarSlice Then
g.DrawLine(p, BarX, 0, BarX, 50)
BarValue = BarValue – (2 ^ BarSlice)
End If
BarX += 1
Next
Else
Response.Write(“Invalid input”)
Response.End
End If
Catch
End Try
Next
Response.ContentType = “image/gif”
bmp.Save(Response.OutputStream, ImageFormat.GIF)
g.Dispose()
bmp.Dispose()
End Sub
</script>
  • Diğer bir örnek;
Bu kod biraz daha karışık kurcalandı mı çalışabilir ama benim işimi üstteki gördü.
  • Son olarak kod yazmayı sevmeyenler için http://barcode.tec-it.com/ adresinde bulunan generator servisini kullanabilirsiniz. Sizin için otomatik üretip sonucu gösteriyor;
<table>
<tr>
<td>
<img src=”http://barcode.tec-it.com/barcode.ashx?code=Code128&modulewidth=fit&data=burayabarkodunuistediğinifadeyiyaz&dpi=96&imagetype=gif&rotation=0&color=&bgcolor=&fontcolor=&quiet=0&qunit=mm” alt=”Barkod TEC-IT üretiyor “/>
</td>
</tr>
</table>