Sümeyye Kök

Visual Studio Invalid license data. Reinstall is required hatası aldıysanız beni çözüme kavuşturan BU linkteki exe yi indirip çalıştırmanız yeterli olacaktır diye umuyorum:)

 

Biz devc++ da opengl ile yazılım yapamaya çalışırken bi arkadaşımın sorununu araştırıken çözmüş bulunduk.Sizinle de paylaşayım istedim:

Eğer siz C:\Windows\System32 içine glut32.dll i indirip kopyalayıp yapıştırdığınız halde hala aynı error mesajını alıyorsanız belki de çözüm şudur:

glut32.dll i C:\Windows\System içine yapıştıralım gençler:)

başka milyon tane durumdan d akaynaklanıyor olabilir ama bu da bizi mutlu eden çözümdü:)

kolay gelsin:)

Web sitesi tasarlıyoruz veya başka bir proje kapsamında slayt geçişi yapmak istedik.Aslında jquery ile çok daha iyilerini yapabilirsiniz fakat ben size önceki makalemde indirmiş olduğumuz ajaxtoolkit ini kullanarak nasıl slayt yaparız onu anlatmaya gayret edeceğim:)

öncelikle slayt ekleyeceğimiz sayfamızın Design kısmına Toolbox ımızdan bi radet Image ekliyoruz.

Daha sonra ise ajaxcontroltoolkit.dll i eklediğimizde otomatik olarak artık menülerimizde yerini almış olan ToolkitScriptManager i ekliyoruz.

 

 

 

 

 

 

 

 

 

 

yine aynı menü de yer alan Slide Show Extender ı ise sürükleyip Image in üstüne bırakıyoruz.

 

 

 

 

 

 

 

 

 

 

Şimdi gelelim en önemli kısım olan kodlara

!!!!!!!!!!yeni bir proje açtığınızda eğer bu aşamaları gerçekleştirmede sorun yaşarsanız,yani script manager a tıklıyorsunuz fakat eklemiyordur design’a .İşte bu durumda yeniden dll i import edip Solution Explorer daki projeyi refresh leyin gençler:) !!!!!!!!!!

kodlara gelince en üstü öncelikle düzenleyelim..

<%@ Register assembly=”AjaxControlToolkit” namespace=”AjaxControlToolkit” tagprefix=”asp” %>

şeklinde en üst satırlara ekliyoruz.

daha sonra:

<asp:SlideShowExtender ID=”SlideShowExtender1_SlideShowExtender”
runat=”server” TargetControlID=”Image1″
SlideShowServiceMethod=”GetSlides”
SlideShowServicePath=”Service.asmx”
PreviousButtonID=”Button1″
PlayButtonID=”Button2″
NextButtonID=”Button3″
PlayButtonText=”Play”
StopButtonText=”Stop”
AutoPlay=”true”>
</asp:SlideShowExtender>
şeklinde olan kodları aynen yapıştırıyoruz fakat diyeceksiniz ki resimleri nasıl alacak.Projenin olduğu Solution Explorer da sağ tık->add new ıtem diyerek Web Service i seçiyoruz.yani projeye bir web servis ekledik.Peki Service.asmx ile oluşturduğum bu web servise ne yazmalıyım? Buyrun efendm:

(kodu biraz üst satırdan aldım.)

[System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{

public Service()
{

//Uncomment the following line if using designed components
//InitializeComponent();
}

[WebMethod]
// [System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public AjaxControlToolkit.Slide[] GetSlides()
{
AjaxControlToolkit.Slide[] slides = new AjaxControlToolkit.Slide[5];
slides[0] = new AjaxControlToolkit.Slide(“resimler/slayt1.jpg”, “Image1”, “Image1”);
slides[1] = new AjaxControlToolkit.Slide(“resimler/slayt2.jpg”, “Image2”, “Image2”);
slides[2] = new AjaxControlToolkit.Slide(“resimler/slayt3.jpg”, “Image3”, “Image3”);
slides[3] = new AjaxControlToolkit.Slide(“resimler/slayt4.jpg”, “Image4”, “Image4”);
slides[4] = new AjaxControlToolkit.Slide(“resimler/slayt5.jpg”, “Image5”, “Image5”);

return (slides);
}

şeklinde  dizi tutma mantığıyla resimlerimizi yönlendiriyoruz.Yani işin mantığı web servis te yatıyor.Şimdilik bu kadar herkese kolay gelsin:)

Eğer ajax ın sadece script manager özelliği size yetmiyorsa daha nice extra nimetlerden faydalanmak istiyorsanız ajax toolkit kurmak zorundayız gençler:) benim yolum asp.net ile slayt geçişi yapmak isterken kesişti kendisiyle şimdi öncelikle ne yapıyoruz adım adım gidelim:

1-bunu indirelim(ben AjaxControlToolkit.Binary.NET4.zip i indirdim)

(Dosyadaki AjaxControlToolkit.dll i çıkaralım.)

ve Visual Studio muzun Toolbox ını açalım

2-Toolbox ın en altındaki boş kısma  sağ tık Choose Items diyoruz ve Browse butonuna tıklıyoruz.

burdan az önce rardan  çıkardığımız dll i seçelim ve Ok butonuna tıklayarak işlemi sonlandıralım.Artık Solution Explorer da bin klasörünüz ve içinde de dll iniz aynı zamanda da diğer toolkit elemanlarını içeren menümüz olmalı.

Ben bu menü den SlideShowExtender ve ToolkitScriptManager ile slayt yaptım diğer makalemize de merak edenler buyursunlar efendim🙂

.fig Matlab’da grafik arayüzün oluştrumanız sonucunda ortaya çıkan bir uzantıdır.

 

 

 

 

Matlab’ın ana ekranının Menü-barından File->New-> Gui diyerek Gui ekranını açıyoruz

 

 

 

 

ve soldaki butonları,textfield’ı kullanarak tasarımı yapıyoruz.Sağ tıklayıp Property Inspector yardımıyla değişiklik yapabiliyoruz.

 

 

 

 

 

kolay gelsin hepmize..:)

Ancak benim bir anlık da olsa bulamayınca merak ettiğim soru şuydu: kaydettikten sonra ben yeniden düzenleme yapmak için .fig uzantılı dosyamı açtığımda direk olarak düzenleme ekranı gelmiyor.Bunun yerine sonuç ekran tasarımı geliyor.Yeniden düzenlemek istersem ne yaparım?

efendim çözümü basitmiş:) File->New->Gui diyoruz fakat çıkan ekranda Open Existing Gui ‘ yi seçiyoruz ve istediğimiz projeyi editlemek için açmış bulunuyoruz.

1-C# ile Acces bağlantısı kurmuş ve projenizde emin adımlarla ilerlerken ListView’de tüm satırın  tek tıklamayla seçilmesini istersiniz:

Bunun için ListView’e tıklayıp Properties bölümünden FullRowSelect özelliğini True olarak ayarlamamız yeterli olacaktır.

Daha sonra tıkladığınız verilerin TextBox’larınıza aktarılması için ise;

private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
//listviewden satır seçip textboxa aktarma kodu:)
if (listView1.SelectedItems.Count > 0)
{
textBox1.Text = listView1.SelectedItems[0].SubItems[0].Text;
textBox2.Text = listView1.SelectedItems[0].SubItems[1].Text;
textBox3.Text = listView1.SelectedItems[0].SubItems[2].Text;

}

bu kod parçacığını kullanmanız yeterlidir.Ancak direk kodları yapıştırırsak çalışmaz.Yine ListView’in Properties->Events sekmesinden SelectedIndexChanged : listView1_SelectedIndexChanged seçili olarak tıklamanız ve açılan kod sayfasına bu kodu yapıştırmanız yeterli olacaktır.

2-Eğer Otomasyon işlemi yapıyorsanız ve bir text dosyasından veri okuyup yazıyorsanız orada ise listBox ta aynı işlemi yapmak isterseniz:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
int index = (sender as ListBox).SelectedIndex;

listBox1.SelectedIndex = index;
listBox2.SelectedIndex = index;
listBox3.SelectedIndex = index;

şeklinde olmalıdır.Kolay gelsin..

 Asp.Net ile yazdığım bir projede bir anda çok önemli bir detay haline gelen ve beni de biraz uğraştıran kodlar ve işlevi şu şekilde:

Butona tıklandığında veritabanımızdaki istenilen verileri alıp textboxlara çekme işlemini yapan kodlar ->

 

public void dene()
{

SqlConnection con = new SqlConnection(“data source=Sumeyye-PC;Database=BarkodBakkalSatis;Integrated Security=True”);
con.Open();
SqlCommand komut = new SqlCommand();
komut.Connection = con;
komut.CommandText = “select Barkod_No,Urun_Ad,Urun_Cins,Urun_Fiyat,Stok_Miktar,Risk_Limit,Tarih from Urun_Tanimlama where Barkod_No='” + TextBox1.Text + “‘”;
SqlDataReader dr = komut.ExecuteReader();
while (dr.Read())
{
TextBox1.Text = dr[0].ToString();
 TextBox2.Text = dr[1].ToString();
 TextBox3.Text = dr[2].ToString();
  TextBox4.Text = dr[3].ToString();
 TextBox5.Text = dr[4].ToString();
  TextBox8.Text = dr[5].ToString();
}

ve Butonun Click_Event’ı içinde de fonksiyonu çağırmalıyız:

protected void Button5_Click(object sender, EventArgs e)
{
dene();

Herkese kolay gelsin.:)

/span

    Web servis’e Visual Studio aracılığıyla bağlandıktan sonra insert,update gibi işlemlerimizi yapmak için nasıl kodlar yazmalıyız diye düşünebiliriz.Kendimce basic seviyede bir örnekle açıklamaya çalıştım..

Default.aspx yi kullanrak bir dizayn yapacağız ve gerekli buton,kodlarla daha önceden tabloda yaptığımız işleri web tabanında gerçeklemiş olacağız..adım adım gidelim:

1-web servis bağlantımızın ardından otomatik olarak projenizde oluşturulmuş olan Default.aspx’in altındaki Design kısmını seçip,Toolbox larımızı kullanrak projemize uygun textBox ları ve bir de bilgilerimizi ekrana bastıracağımız gridView i ekliyoruz

2-Ekle,Sil,Güncelle butonlarınızı ekledikten sonra kod bölümüne geçelim.mesela ekleme işlemi için örnek kodlarımız verelim diğer komutları bu mantıkla dizayn etmeniz yeterli olacaktır.

namespace projeadi

 

{

 public partial class _Default : System.Web.UI.Page

 {

 protected void Page_Load(object sender, EventArgs e)

 {

 getData(); //veritabanı bağlantısını sağlayan fonksiyon

 }

 SqlConnection conn;

 

protected void Button1_Click(object sender, EventArgs e)

 {

 if (Page.IsPostBack != false)

 {

 string cnString = ConfigurationManager.ConnectionStrings[“ApplicationServices”].ConnectionString;

 conn = new SqlConnection(cnString);

 conn.Open();

 

SqlCommand komut = new SqlCommand(“insert into OGRENCİ_TABLO(OGRENCI_ADI,OGRENCI_SOYADI) values(@ad,@soyad)”, conn);

 komut.Connection =conn;

 komut.Parameters.AddWithValue(“@ad”, TextBox1.Text);

 komut.Parameters.AddWithValue(“@soyad”, TextBox2.Text);

 

komut.ExecuteNonQuery();

 komut.Dispose();

 conn.Close();

 getData();//bu fonksiyon veritabanı bağlantısını sağlayan fonksiyonum,siz kendi Connection kodlarınızı eklemelisiniz.

 

}

 

}

3-farkettiğiniz gibi değişkenlere atayarak metodumuzu gerçekleştirdik.gerekli kütüphaneler ise:

 

using System;

 using System.Collections.Generic;

 using System.Linq;

 using System.Web;

 using System.Web.UI;

 using System.Web.UI.WebControls;

 using System.Data;

 using System.Data.SqlClient;

 using System.Configuration;

 

şeklindedir.

 

4-şimdide Webservice1.asmx.cs ye ait kodları verelim:

 

[WebMethod]

 public void getData()

 {

 string cnString = ConfigurationManager.ConnectionStrings[“ApplicationServices”].ConnectionString;

 conn = new SqlConnection(cnString);

 conn.Open();

 SqlDataAdapter sda = new SqlDataAdapter(“Select OGRENCI_ID,OGRENCI_ADI,OGRENCI_SOYADI from OGRENCİ_TABLO”, conn);

 DataTable dt = new DataTable();

 sda.Fill(dt);

 conn.Close();

 GridView1= dt;

 }

5-işlemlerimiz bu şekildedir.İlk olarak web ervisi çalıştırıp ardından Default.aspx’i sağ click->set start up project olarak ayarlayıp çalıştırırsanız localhostta tasarımınızla birlikte gelen tablo verilerini görmüş olursunuz

herkese kolay gelsin:)

 

 

 

C#’ ta geliştirdiğim bir otomasyondan aklımda kalanları paylaşmak istedim.Fazla oyalanmadan direk kodlara geçiyorum step step gidelim:(Çok fazla listbox,textbox kullanmış olduğum projenin sadece örnek teşkil edecek kısımlarını paylaşıyorum:)

1-Öncelikle using System.IO kütüphanesini direk programın başına ekliyoruz.

2-Eğer dosya okuma işlemi yapmak istiyorsak şu kodlar işe yarayacaktır:
private void Form2_Load(object sender, EventArgs e)

{      //Formlar üzerinde çalştım.ve Load kısmına bu kodları yazdım(Açıklamaları takip edelim.)

FileStream fs;           //Dosya açmak için değişken oluşturdum.
StreamReader sr;   //Dosya okumak için değişken oluşturdum.
string satir;
string dosya_adi;
char[] karakter = new char[1];   //Dosyadan birer birer okuma yapacaz.
karakter[0] = ‘*’;                              //Kayıtarın karışmaması için ben * işaretii ayıraç olarak kullandım.
string[] dizi = new string[20];
dosya_adi = “C:\OtoProje\musteri.txt”;   //Dosya yolunu belirttik.

fs = new FileStream(dosya_adi, FileMode.Open, FileAccess.Read);   //Dosyayı açma ve okuma işlemlerini bu iki satırda yaptık.
sr = new StreamReader(fs);
while ((satir = sr.ReadLine()) != null)     //dosya sonuna gelinmediği sürece okumaya devam etmesi gerektiğini kodladık.
{
dizi = satir.Split(karakter);
listBox1.Items.Add(dizi[0].ToString());
listBox2.Items.Add(dizi[1].ToString();
}
sr.Close();
fs.Close();

}

3Kayıt Ekleme butonuna basıldığında:

private void button2_Click(object sender, EventArgs e)
{
listBox1.Items.Add(textBox1.Text);  // texbox’tan alınıp kayıtın eklenme işlemini yaptık.
listBox2.Items.Add(textBox9.Text);
MessageBox.Show(“KAYIT YAPILDI,görmek için yeniden KAYIT sayfasına dönünüz..”);
this.Close();

}

4-Kayıt silme işlemi:

private void button3_Click(object sender, EventArgs e)   //Silme butonu için kodları yazdık.
 {
int index = listBox1.SelectedIndex;     //listboxların birine tıklandığında diğerlerinin de seçilmesini sağlayan şey index’tir.
if (index < 0)
{
MessageBox.Show(“Önce silinecek ögeyi seçin!..”);
}
else
{
listBox1.Items.RemoveAt(index);
listBox2.Items.RemoveAt(index);
this.Close();

}

5-index kullanımı(Seçili listbox uygulaması) :

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
int index = (sender as ListBox).SelectedIndex;
listBox1.SelectedIndex = index;
listBox2.SelectedIndex = index;

}

6-Verilerin dosyaya kayıt edilem işlemi Form kapanırken yapılır.Bu yüzden Formun CloseEvent’ına şu kodlar yazılabilir:

private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
FileStream fs;
StreamWriter sw;
string dosya_no, plaka, sigorta_sirketi, aciklama, sasi_no, motor_no, musteri_adi, tc_no, telefon_no, exper_adi, exper_telefon, police_no, iscilik_tutar, parca_tutar, genel_toplam;
int kayit_sayisi;

fs = new FileStream(“C:\OtoProje\musteri.txt”, FileMode.Create, FileAccess.Write);       //yazmak  için dosya açılır.
sw = new StreamWriter(fs);
kayit_sayisi = listBox1.Items.Count;  // kayıt sayısı hesaplanır.
if (kayit_sayisi > 0)
{
for (int i = 0; i < kayit_sayisi; i++)
{
sigorta_sirketi = textBox1.Text.ToString();
police_no = textBox2.Text.ToString();

sigorta_sirketi = listBox5.Items[i].ToString();
police_no = listBox6.Items[i].ToString();

sw.WriteLine( sigorta_sirketi + “*” + police_no );

}

sw.Close();
fs.Close();

}

kodlar bu şekilde ana hatlarıyla özetlenebilir.Tek bir Form üzerinde çalıştığımızı varsayarak bişeyler karaladım umarım işinize yarar kolay gelsin:))


Web servis hakkında netten biraz alıntı yaparak biraz da kendimce bildiklerimden şöyle bir derleme yaptım:

Web servisi, XML mesajlaşma tabanlı bir sistem entegrasyon yöntemidir.Diğer bir tanımla; bilgisayarlar arasında ağ üzerinden etkileşimi ve uyumluluğu sağlayacak yazılım sistemidir. Günümüzde birbiriyle haberleşecek sistemleri gerçeklemek için en çok tercih edilen yöntem web servisidir.

Web servisler 3 ana birimden oluşmaktadır:

Servis sağlayıcı, servis istemcisi ve servis kayıt birimi.
Servis sağlayıcı(service provider): Bu birim, sağlayıcıdaki servislere erişimi sağlar ve kendi sitesinde bulunan web servisleri tanımını servis kayıt birimine (service registry) kaydeder. Burada servisin nasıl çağrılacağı belirtilir.
Servis İstemcisi (Service Requester) : Bu uygulama servis sağlayıcısındaki web servislerini çağırıp kullanır. Web servisinin nasıl çağrılacağını bulur ve ilgili parametreleri servis kayıt biriminden arayarak çağırır.
Servis Kayıt Birimi (Service Registry) : Servis sağlayıcılarının yayımladıkları web servisi tanımlarını saklar ve aranıp bulunmasını sağlar. Servis sağlayıcıları servis kayıt birimini tarayıp istediği servisler hakkında bilgi edinebilir. Ayrıca, servis kayıt birimi her servisin nasıl çağırılacağı konusunda tanım bilgileri de içerir.şimdi bir örnek verelim: diyelim ki biri java diğeri asp.net ile kodlanmış iki site var elimizde.Bu iki site arasında veri paylaşımı yapmak ya da bir siteden diğer siteye yönlendirme yapmak istiyoruz.Bu durumda sıkıntı çıkmaması için ortak bir dile ihtiyaç duyulur. Bu da WSDL’dir(Web Service Description Language- Web Servis Tanımlama Dili). Bu dil web servislerini tanımlamaya yaramaktadır.(İstemcilerin kullanacakları web servisindeki bilgileri önceden bilmeleri gerekir.bunu sağlayan da WSDL dir.)

Farklı iki programlama dilini konuşturmak için bir de SOAP(Simple Object Access Protocol – Basit Nesne Erişim Protokolü)’a ihtiyaç duyulur. Öyle ki Java’da yazılan metodlar çağrıldığında, bu istek SOAP paketine dönüştürülür ve server(sunucu)’a gider. Server da SOAP paketini alır ve inceler. Daha sonra çağrılan metod işletilir ve veriler dataset’e aktarılır. Oluşturulan dataset nesnesi de SOAP yardımıyla client(istemci)’a gönderilir. Client bilgisayar da SOAP paketini alır ve verileri işler. Yani SOAP paketi client ve server arasındaki iletişimi sağlar.

şematik olarak da özetlersek..web servis hakkında genel bir bilgi edinmekti amacım,umarım faydalı olmuştur.