Posts Tagged :

windows

E-Book Gallery for Microsoft Technologies 100 100 mezo

E-Book Gallery for Microsoft Technologies

If you want to learn about Microsoft technologies you can use  E-Book Gallery for Microsoft Technologies 🙂

Click Here…

I hope that is helpful

May the knowledge be with you

M.Zeki Osmancık

Windows 8 Store App _ Youtube Video on Media Element 935 593 mezo

Windows 8 Store App _ Youtube Video on Media Element

Hi everyone

I want to show you to how to play a youtube video on Windows 8 Store App Media Element control. We have to use 3th part references called “MyToolKit”. MyToolKit is have a class named Youtube. That class help us to geting video and play on our control.  You can take a look in here http://mytoolkit.codeplex.com/ .

In this site they said that if you want to use this class the NuGet Package is recomended.

Ok lets start and play any video on Windows 8 Store App

First of all we have to install MyToolKit on our project. Open NuGet Package Manager from Tools->Library Package Manager -> Manage Nuget Packages for Solution

Select Online and searh MyToolKit

Thats our package we find it. We have to click on Install button and select assembly which one will use this.

MyToolKit references will add on our project after select an assembly and click OK button.  That was the diffucult side. Lets check out the simple side of our project.

I added a MediaElement control on my StoreApp xaml page and give a name property…

<Pagex:Class=”youtube.MainPage”xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”

xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”

xmlns:local=”using:youtube”

xmlns:d=”http://schemas.microsoft.com/expression/blend/2008″

xmlns:mc=”http://schemas.openxmlformats.org/markup-compatibility/2006″

mc:Ignorable=”d”>

<Grid Background=”{StaticResource ApplicationPageBackgroundThemeBrush}”>

<MediaElement Name=”mediaYoutube” HorizontalAlignment=”Left” Height=”522″

Margin=”152,201,0,0″ VerticalAlignment=”Top” Width=”1111″/>

<Button Name=”btnPlay” Content=”Play” HorizontalAlignment=”Left” Margin=”904,71,0,0″

VerticalAlignment=”Top”/>

<TextBox Name=”txtYoutubeID” HorizontalAlignment=”Left” Margin=”529,77,0,0″

TextWrapping=”Wrap” Text=”TextBox” VerticalAlignment=”Top” Width=”370″/>

</Grid>

</Page>

 

 

Last thing we have to do write a little code on btnPlay_Click event

private async void btnPlay_Click(object sender, RoutedEventArgs e){var url = await YouTube.GetVideoUriAsync(txtYoutubeID.Text, YouTubeQuality.Quality480P);

mediaYoutube.Source = url.Uri;

}

 

Thats it. Now we have to select a youtube video and get the video id then play on our project then watch the video.

if youtube link is http://www.youtube.com/watch?v=hNpQpjyc9C8 . this videos ID is going to be “hNpQpjyc9C8” . If we write it to our textbox we can watch this video on our Windows Store App.

Like this.

You can download the source code in here http://sdrv.ms/YfrMdG

I hope that is helpful

May the knowledge be with you

M.Zeki Osmancık

Visual Studio 2012 Update 1 Now Available 474 642 mezo

Visual Studio 2012 Update 1 Now Available

S. Somasegar today announced the availability of Visual Studio 2012 Update 1.

He said that this update is so important for developers because this isn’t just about bug fixes, though it contains quite a few of those to measurably address issues reported through Connect, UserVoice, and Windows Error Reporting.  This is also delivers a wealth of new functionality into Visual Studio 2012.  The new functionality in Update 1 primarily spans four areas of investment: Windows development, SharePoint development, agile teams, and continuous quality.

You can download Visual Studio Update 1 in  here (see “Visual Studio 2012 Update 1” under the “Additional software” section)

I hope that is helpful

May the knowledge be with you

M.Zeki Osmancık

Sınırsız Ağaç Yapısı ve Treeview Kullanımı 563 595 mezo

Sınırsız Ağaç Yapısı ve Treeview Kullanımı

Merhaba arkadaşlar

Bu yazımda çokça bahsedilen çokça kullanılacak olan bir kontrol yapısı ve bunun database den gelen verilerle nasıl çalıştığını göstermek isterim sizlere…

Bahsettiğimiz kontrolümüz Treeview denilen bir nesne bu nesne bizlere ağaç yapısı bulunan bilgileri rahatlıkla ve tek ekranda görmemizde bizlere kolaylık sağlayan bir kontrol peki ama nasıl bu kontrole birşeyler ekler kullanılabilir hale getirebiliriz…

Öncelikle bir DB ye ve tabloya ihtiyacım var sırası gelmişken birde SQL tablosunda sınırsız ağaç yapısından bahsetmeden olmaz heralde.  Şekildeki gibi bir veritabanı oluşturdum…

 

Buradaki mantık aslında basit eğer bir kayıt root kayıtsa yani kök kayıtsa o zaman AltKategoriID si NULL olmalıdır. Eğer girdiğimiz kategori başka bir kategori altında duruyorsa o halde hangi kategori üst ise AltKategoriID sine o kaydın ID değerini girmeliyiz. Zaten resimdeki birbirine bağlı yapıda bunu temsil eder. Birde girdiğimiz verileri inceleyin bakalım nasıl birşey varmış 😀

Burada Elektronik root yani ana kategori Bilgisayar onun altında bulunduğu için Bilgisayar kaydının AltKategoriID si Elektronik kaydının ID sine eşit Bilgisayarın altında olanlarda Bilgisayar kaydının ID sine sahip olacaktır böylelikle alt alta uzayıp giden sınırsız bir ağaç yapısına sahip olabiliriz.

Peki tablomuz tamam verilerimizide girdik e hani Treeview  derseniz onuda şöyle özetleyelim

Yeni bir Windows formuma Treeview ve button nesnemi yerleştirdim

Ardından button nesnesinin Click olayına gelerek dedim ki  :

DataRelation baglanti;private void btnListele_Click(object sender, EventArgs e){SqlConnection cnn = new SqlConnection(“Data Source = .; Initial Catalog = Deneme; User = sa; Password = 1234567?;”);SqlDataAdapter adp = new SqlDataAdapter(“Select * From Kategoriler”,cnn);DataSet ds = new DataSet();

adp.Fill(ds,”Kategoriler”);

 

baglanti = new DataRelation(“baglan”,ds.Tables[“Kategoriler”].Columns[“KategoriID”],

ds.Tables[“Kategoriler”].Columns[“AltKategoriID”]);

 

ds.Relations.Add(baglanti);

 

foreach (DataRow dr in ds.Tables[“Kategoriler”].Rows)

{

if (dr[“AltKategoriID”] == DBNull.Value)

{

TreeNode root = new TreeNode(dr[“KategoriAdi”].ToString());

root.Tag = dr[“KategoriID”];

tvAgac.Nodes.Add(root);

AltKategorileriGetir(dr,root);

}

}

tvAgac.ExpandAll();

}

 


Kodlara bakacak olursak klasik bir ADO.net ile verilerimi alıp bir DATASET e eklemişim biliyorsunuzki DATASET nesnesi içine birden

fazla DATATABLE nesnesi barındırabilen bir nesne yani sanal veritabanı gibide düşünebiliriz aslında. Peki database de bağlantılar olurda bunda olmazmı ? Olmamı tabikide olur bu bağlantıyıda DATARELATION nesnesi sağlar işte tam burada bende verilerimi çektikten sonra içindeki hangi veri ile hangi verinin eşleşeceği yani hangisinin ana ID hangisinin ona bağlı olan Altkategori olduğunu belirtip bağlantımı tamamladım. Ardından bir foreach ile Dataset içersine attığım Datatable içindeki satırları tek tek almaya başladım ve bu foreach içersinde sadece AltKategorisi NULL olanları aldım yani Root olan kök olan kayıtları aldım ve Treeview nesneme ekledim.

Peki bunun altında bişi yokmu ? Altındakini hatta onun altındaki kayıtları nasıl alacağız derseniz ondada bir metotun yardımını isteyip o metodu kendi içersinde çağırarak işimizi çözeceğiz…

 

private void AltKategorileriGetir(DataRow dr,TreeNode pNode){foreach(DataRow row in dr.GetChildRows(baglanti)){TreeNode childNode = new TreeNode(row[“KategoriAdi”].ToString());childNode.Tag = row[“KategoriID”];pNode.Nodes.Add(childNode);

AltKategorileriGetir(row,childNode);

}

}

 

Bu metodu çalıştırırkende biraz once kontrol ettiğimiz root kaydı ve oluşturulan TreeNode nesnesini parametre olarak yolladıktan sonra oluşturduğumuz bağlantı nesnesi ile Altkategorideki değerleri kontrol ediyoruz ve varsa yine TreeNode oluşturup mevcut Node altına ekliyoruz. Vee sonra kategori ve altındaki elemanları tek tek karşıma geliyor

Umarım yararlı olur

Görüşmek Üzere

M.Zeki Osmancık

 

VMWare Windows 8 Kurulumu 1024 641 mezo

VMWare Windows 8 Kurulumu

Merhaba arkadaşlar
Windows 8 Developer Preview çıktı biliyorsunuz. Merak edip kurdum ve kurarken bazı sorunlarla karşılaştım. Genel manada pek beğendim denilemez ama incelemek isteyen arkadaşlar için kurulum ile alakalı birkaç not aktarmak isterim…
Öncelikle buradan indiriyorsunuz http://msdn.microsoft.com/en-us/windows/apps/br229516

Daha sonra VMWare programımızı çalıştırıyorsunuz henüz windows 8 uyumu yok ama Windows 7 seçerek sağlıklı şekilde kurulabilir

VMWare ile standart kurulum yapmaya çalıştığımızda kurulum başladıktan sonra dil ekranını beklerken böyle bir hata ile karşılaşıyoruz. ilk girişte key de girsek ne yapsak kar etmiyor.

Bunun sebebi standart kurulum yaparken oluşturulan sanal makinede Disket sürücüsününde bulunması ilk kurulum yaparken bu disketten key bilgisini okumaya çalışıyor hiç birşey bulamadığı içinde key ile ilgili hata veriyor.  Çözümü sanal makinenin ayarlarını açıp disket sürücüsünü silmek. bundan sonra hiç sorun kalmıyor…

Bundan sonrası klasik windows kurulumu.

Kurulum tamamlandıktan sonra bizden windows hesap bilgilerimizi istiyor ve internete bağlanarak bilgilerimizi alarak bizim için bir oturum oluşturuyor.

Veee Microsoft un en son Windows Mobile 7 de kullandığı çokda kullanışlı olmayan menüsü bizi karşılıyor.

İçersinde Internet Explorer 10  Visual Studio 11 ve Expression 5 yüklü olarak geliyor. Bunları inceledikçe notlarımı yine sizlerle paylaşacağım.

Şimdilik bu kadar sonraki yazılarda görüşmek üzere….

M.Zeki Osmancık

GDI 401 376 mezo

GDI

Merhaba arkadaşlar

GDI  = Graphical Design Interface  ile ilgili ufak bir bilgi vermek istiyorum sizlere. GDI, Windows uygulamaları üzerinde çizim işlemleri gerçekleştirmemize olanak tanıyan sınıflardır.

Bu sınıflar ile Windows formlar üzerine veya print nesneleri ile kağıt üzerine bazı çizimler yapabilmemiz mümkün.

Öncelikle bir çizim yapabilmek için de ilk gereken bir kağıt yada çizim yapılacak alandır öncelikle bunu belirtmemiz gerekiyor

Form üzerine çizim yapabilmek için:Graphics grp = this.CreateGraphics();

 

PictureBox üzerine çizim yapabilmek için:

Graphics grp = pictureBox1.CreateGraphics();

 

Çizim alanımızı oluşturduktan sonra ile form veya picturebox üzerine ne çizdireceğimizi seçmemiz gerekiyor ama bunu seçmeden öncede çizmek için gerekli olan kalem veya içi dolu bir şekil çizeceksek fırça gerekiyor. Bunu da şu şekilde tanımlayabiliriz;

Pen kalem = new Pen(Color.Blue);kalem.Width = 5;

 

Brush firca = new SolidBrush(Color.Red) ;

 

Bu şekilde tanımladığımızda kalem ve fircanin özelliklerini değiştirebilir durumda oluyoruz. Kalemin kalınlığı vs gibi özelliklerini ayarlayabiliyoruz. Ya bunlara ihtiyacımız yoksa bunlarla uğraşmadan nasıl yaparız derseniz onun çözümüde şu şekilde…

Pens.Blue 

Brushes.Red

 

Hemen belirteyim bu şekilde kullanım tek başına mümkün olmuyor ancak gerekli kodlar içersinde bu şekilde kullanabilirsiniz biraz aşağıda bunun örneklerini göreceksiniz zaten 😉

Çizim alanı tamam kalem tamam firça tamam eee ne kaldı geriye ??? Sadece çizmek kaldı 😉

Çizim yapabilmek içinde ilk başta örneğini (instance) aldığımız Graphics nesnesini kullanacağız. Ve içersindeki çizim metotları ile form üzerine şekiller çizeceğiz….

grp.DrawLine(Pen nesnesi, X1, Y1, X2, Y2);grp.DrawLine(kalem, 50, 50, 150, 50);

Formun üzerine Line çizerken verilen koordinatlar 2 tane x ve y noktalarıdır bu iki noktayı belirtiriz ve DrawLine metodu bizim yerimize bu iki noktayı birleştirir ve şekildeki gibi bir görüntü ortaya çıkar.

Birde Dikdörtgen Yuvarlak bişiler çizelim.

grp.DrawEllipse(Pen nesnesi, X, Y, Genişlik, Yükseklik);grp.DrawEllipse(kalem, 100, 100, 100, 100);

 

grp.DrawRectangle(Pen nesnesi, X, Y, Genişlik, Yükseklik);

grp.DrawRectangle(Pens.Blue, 200, 100, 100, 100);

 

Bu şekilleri çizerkende gerekli olan veriler önce bir kalem sonra X ve Y noktası ardından çizilecek olan şeklin yükseklik ve genişlik bilgileridir.

Son olarak Pie yani kekden bahsetmek istiyorum 😀 evet sizi keklemiyorum pasta grafik olarak adlandırdımız şekli nasıl çizeriz ona bakalım…

grp.DrawPie(Pen nesnesi, X, Y, Genişlik,Yükseklik , Başlangıç Açısı, Yay Açısı); 

grp.DrawPie(kalem, 50, 200, 100, 100, 0, 270);

Şimdi birde bunların içi dolu olanları nasıl yazılıyor aralarında ne fark var görelim 😉

grp.FillEllipse(firca, 100, 100, 100, 100);grp.FillRectangle(firca, 200, 100, 100, 100);

grp.FillPie(Brushes.Purple, 50, 200, 100, 100, 0, 270);

 

 

 

GDI nesnesi sadece bu işemi yarar diyebilirsiniz 😀 Bu sadece başlangıç bir sonraki yazıda GDI nin asıl nasıl kullanılabildiğini göreceğiz 😉

Görüşmek Üzere…

 

 

    Join our Newsletter

    We'll send you newsletters with news, tips & tricks. No spams here.