<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Fox4um - .NET ve VFP]]></title>
	<link rel="self" href="http://www.fox4um.com/feed/atom/forum/21/"/>
	<updated>2011-12-21T17:31:47Z</updated>
	<generator>PunBB</generator>
	<id>http://www.fox4um.com/</id>
		<entry>
			<title type="html"><![CDATA[array]]></title>
			<link rel="alternate" href="http://www.fox4um.com/topic/2078/array/new/posts/"/>
			<summary type="html"><![CDATA[<p>c# kodları ile yazılan bir web servis de 
</p><p>Foxpro da&nbsp; alttaki biçimde çağırılabiliyor 
<br />provizyon = CREATEOBJECT(&quot;Test.provizyon&quot;)
<br />provizyon.BransKodu=&quot;5100&quot;
<br />provizyon.devredilenKurum=&quot;1&quot;
<br />provizyon.TedaviTuru=&quot;A&quot;
<br />...
<br />...
<br />sonuc= hk.f_TakipAl(provizyon)&nbsp; &nbsp;&amp;&amp;&nbsp; sonuc c# dan dönen bir eleman
</p><p>basvuruTakip1 = sonuc.basvuruTakip
</p><p>sonuc &#039;un döndürdüğü elemanlardan biri &quot;basvuruTakip&quot; bu object türünde bunu diziye atıyor
</p><p>? ALEN(basvuruTakip1) dediğimde içindeki eleman sayısını görüyorum 
</p><p>&quot;basvuruTakip1&quot; içeriğini tek tek nasıl okurum?
</p><p>teşekkürler</p>]]></summary>
			<author>
				<name><![CDATA[cetinbasoz]]></name>
				<uri>http://www.fox4um.com/user/16/</uri>
			</author>
			<updated>2011-12-21T17:31:47Z</updated>
			<id>http://www.fox4um.com/topic/2078/array/new/posts/</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[c# ile ftp işlemleri]]></title>
			<link rel="alternate" href="http://www.fox4um.com/topic/1802/c-ile-ftp-islemleri/new/posts/"/>
			<summary type="html"><![CDATA[<p>Benim foxpro da bir ihtiyacım oldu bundan dolayı ftp işlemleri yazmaya başladım(c sharp da)
<br />alttaki kodlar c# da yazılmıştır. Sadece foxpro, klasik vb gibi dillerin içinden kullanılabilir .
<br />Daha çok yeni, biraz daha geliştirdim. İçinde hata kontrollerini falan yok şu anda . 
<br />çalışması için programı derleyip dll i register etmek gerekir. 
<br />regasm ftpfoxdll.dll&nbsp; /codebase&nbsp; &nbsp; şeklide register edilir.&nbsp; isteyen olursa project olarak gönderebilirim 
</p><p>foxpro içinden çalışması için&nbsp; notlar.
</p><p>* değişkenlerin açıklaması 
<br />ftpadres=&quot;ftp://ftp.abccom.w04.acbd.com/&quot;&nbsp; &amp;&amp; şeklinde olmalı
<br />kullaniciadi=&quot;KULLANICIADI&quot; &amp;&amp; küçük harf buyuk harf duyarlı 
<br />sifre=&quot;11111&quot;
<br />karsidosyaadi=&quot;abc.DAT&quot;&nbsp; &nbsp; &amp;&amp; herhangi bir dosya adı olabilir&nbsp; x.exe , a.xml&nbsp; şeklinde 
<br />localdizin=&quot;c:\\&quot;&nbsp; &nbsp; &amp;&amp; dizin adı&nbsp; &nbsp;c:\\altdizin\\diziniki\\&nbsp; &nbsp; şeklinde olmalı ( c# böyle istiyor)
</p><p>localtxtdosyaadi=&quot;ftpdekidosya.txt&quot;&nbsp; &amp;&amp; local makinene dosyaadlari.txt biçiminde bir txt dosyası kayıt edecek bunun içinde 
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&amp;&amp;&nbsp; ftp deki tüm dizinler ve tüm dosyaların adları sıra ile&nbsp; var daha sonra xml yapılabilir.&nbsp; &nbsp; 
</p><p>o = Createobject(&quot;ftpfoxdll.Class1&quot;)
<br />sonuc=o.ftpdendosyacek(ftpadres, kullaniciadi, sifre, karsidosyaadi, localdizin )
</p><p>o = Createobject(&quot;ftpfoxdll.Class1&quot;)
<br />sonuc=o.ftpdendosyasil(ftpadres, kullaniciadi, sifre, karsidosyaadi )
</p><p>o = Createobject(&quot;ftpfoxdll.Class1&quot;)
<br />sonuc=o.ftpdosyaisimleri(ftpadres, kullaniciadi, sifre, localtxtdosyaadi , localdizin)
</p><p>şeklinde kullanılır
</p>
<br /><p>**** c#&nbsp; kodu 
<br /></p><div class="codebox"><div class="head">C#</div><table class="csharp fxcode"><tbody><tr class="li1"><td class="ln"><pre class="de1">1
<br />2
<br />3
<br />4
<br />5
<br />6
<br />7
<br />8
<br />9
<br />10
<br />11
<br />12
<br />13
<br />14
<br />15
<br />16
<br />17
<br />18
<br />19
<br />20
<br />21
<br />22
<br />23
<br />24
<br />25
<br />26
<br />27
<br />28
<br />29
<br />30
<br />31
<br />32
<br />33
<br />34
<br />35
<br />36
<br />37
<br />38
<br />39
<br />40
<br />41
<br />42
<br />43
<br />44
<br />45
<br />46
<br />47
<br />48
<br />49
<br />50
<br />51
<br />52
<br />53
<br />54
<br />55
<br />56
<br />57
<br />58
<br />59
<br />60
<br />61
<br />62
<br />63
<br />64
<br />65
<br />66
<br />67
<br />68
<br />69
<br />70
<br />71
<br />72
<br />73
<br />74
<br />75
<br />76
<br />77
<br />78
<br />79
<br />80
<br />81
<br />82
<br />83
<br />84
<br />85
<br />86
<br />87
<br />88
<br />89
<br />90
<br />91
<br />92
<br />93
<br />94
<br />95
<br />96
<br />97
<br />98
<br /></pre></td><td class="de1"><pre class="de1"><span class="kw1">using</span> <span class="co3">System</span><span class="sy0">;</span>
<br /><span class="kw1">using</span> <span class="co3">System.Runtime.InteropServices</span><span class="sy0">;</span> <span class="co1">// fox için gerekli </span>
<br /><span class="kw1">using</span> <span class="co3">System.Net</span><span class="sy0">;</span>
<br /><span class="kw1">using</span> <span class="co3">System.IO</span><span class="sy0">;</span>
<br />&nbsp;
<br /><span class="kw1">namespace</span> ftpfoxdll
<br /><span class="br0">&#123;</span>
<br />&nbsp; &nbsp; <span class="br0">&#91;</span>ClassInterface<span class="br0">&#40;</span>ClassInterfaceType.<span class="me1">AutoDual</span><span class="br0">&#41;</span><span class="br0">&#93;</span> &nbsp;<span class="co1">// foxpro için &nbsp;gerekli </span>
<br />&nbsp; &nbsp; <span class="br0">&#91;</span>ProgId<span class="br0">&#40;</span><span class="st0">&quot;ftpfoxdll.Class1&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// foxpro için &nbsp;gerekli </span>
<br />&nbsp; &nbsp; <span class="br0">&#91;</span>ComVisible<span class="br0">&#40;</span><span class="kw1">true</span><span class="br0">&#41;</span><span class="br0">&#93;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// foxpro için &nbsp;gerekli </span>
<br />&nbsp;
<br />&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">class</span> Class1
<br />&nbsp; &nbsp; <span class="br0">&#123;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">string</span> ftpdendosyacek<span class="br0">&#40;</span><span class="kw4">string</span> ftpadres, <span class="kw4">string</span> kullaniciadi, <span class="kw4">string</span> sifre, <span class="kw4">string</span> karsidosyaadi, <span class="kw4">string</span> localdizin<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> dosyaninadi<span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dosyaninadi <span class="sy0">=</span> ftpadres.<span class="me1">Trim</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">+</span> karsidosyaadi.<span class="me1">Trim</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FtpWebRequest ftpbaglan <span class="sy0">=</span> <span class="br0">&#40;</span>FtpWebRequest<span class="br0">&#41;</span>WebRequest.<span class="me1">Create</span><span class="br0">&#40;</span>dosyaninadi<span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ftpbaglan.<span class="me1">Credentials</span> <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> NetworkCredential<span class="br0">&#40;</span>kullaniciadi.<span class="me1">Trim</span><span class="br0">&#40;</span><span class="br0">&#41;</span>, sifre.<span class="me1">Trim</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">using</span> <span class="br0">&#40;</span>FtpWebResponse islem <span class="sy0">=</span> <span class="br0">&#40;</span>FtpWebResponse<span class="br0">&#41;</span>ftpbaglan.<span class="me1">GetResponse</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Stream data <span class="sy0">=</span> islem.<span class="me1">GetResponseStream</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> localkayitdosyasi <span class="sy0">=</span> localdizin.<span class="me1">Trim</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="st0">&quot;/&quot;</span> <span class="sy0">+</span> karsidosyaadi.<span class="me1">Trim</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>File.<span class="me1">Exists</span><span class="br0">&#40;</span>localkayitdosyasi<span class="br0">&#41;</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span> File.<span class="me1">Delete</span><span class="br0">&#40;</span>localkayitdosyasi<span class="br0">&#41;</span><span class="sy0">;</span> <span class="br0">&#125;</span> &nbsp;<span class="co1">// &nbsp;Local makinede bu dosyadan varsa sil &nbsp; </span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">byte</span><span class="br0">&#91;</span><span class="br0">&#93;</span> byteBuffer <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> <span class="kw4">byte</span><span class="br0">&#91;</span><span class="nu0">4096</span><span class="br0">&#93;</span><span class="sy0">;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">using</span> <span class="br0">&#40;</span>FileStream output <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> FileStream<span class="br0">&#40;</span>localkayitdosyasi, FileMode.<span class="me1">CreateNew</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> bytesRead <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">do</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; bytesRead <span class="sy0">=</span> data.<span class="me1">Read</span><span class="br0">&#40;</span>byteBuffer, <span class="nu0">0</span>, byteBuffer.<span class="me1">Length</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>bytesRead <span class="sy0">&gt;</span> <span class="nu0">0</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span> output.<span class="me1">Write</span><span class="br0">&#40;</span>byteBuffer, <span class="nu0">0</span>, bytesRead<span class="br0">&#41;</span><span class="sy0">;</span> <span class="br0">&#125;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">while</span> <span class="br0">&#40;</span>bytesRead <span class="sy0">&gt;</span> <span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> sonuc<span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sonuc <span class="sy0">=</span> <span class="st0">&quot;ok&quot;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> sonuc<span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">string</span> ftpdendosyasil<span class="br0">&#40;</span><span class="kw4">string</span> ftpadres, <span class="kw4">string</span> kullaniciadi, <span class="kw4">string</span> sifre, <span class="kw4">string</span> karsidosyaadi<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> dosyaninadi<span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dosyaninadi <span class="sy0">=</span> ftpadres.<span class="me1">Trim</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">+</span> karsidosyaadi.<span class="me1">Trim</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> &nbsp; <span class="co1">// dosyanın ftp deki tam adresi </span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">try</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FtpWebRequest ftpbaglan <span class="sy0">=</span> <span class="br0">&#40;</span>FtpWebRequest<span class="br0">&#41;</span>FtpWebRequest.<span class="me1">Create</span><span class="br0">&#40;</span><a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> Uri<span class="br0">&#40;</span>dosyaninadi<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ftpbaglan.<span class="me1">Credentials</span> <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> NetworkCredential<span class="br0">&#40;</span>kullaniciadi.<span class="me1">Trim</span><span class="br0">&#40;</span><span class="br0">&#41;</span>, sifre.<span class="me1">Trim</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ftpbaglan.<span class="me1">UseBinary</span> <span class="sy0">=</span> true<span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ftpbaglan.<span class="me1">Method</span> <span class="sy0">=</span> WebRequestMethods.<span class="me1">Ftp</span>.<span class="me1">DeleteFile</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FtpWebResponse response <span class="sy0">=</span> <span class="br0">&#40;</span>FtpWebResponse<span class="br0">&#41;</span>ftpbaglan.<span class="me1">GetResponse</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// &nbsp;Response.Write(response.StatusDescription); &nbsp; asp.net den kalma</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="st0">&quot;ok&quot;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">catch</span> <span class="br0">&#40;</span>Exception ex<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span> <span class="kw1">return</span> ex.<span class="me1">Message</span>.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="br0">&#125;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// hata kodları burada <a href="http://msdn.microsoft.com/tr-tr/library/aa383887.aspx">http://msdn.microsoft.com/tr-tr/library/aa383887.aspx</a></span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">string</span> ftpdosyaisimleri<span class="br0">&#40;</span><span class="kw4">string</span> ftpadres, <span class="kw4">string</span> kullaniciadi, <span class="kw4">string</span> sifre, <span class="kw4">string</span> localtxtdosyaadi, <span class="kw4">string</span> localdizin<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span> &nbsp; <span class="co1">// ftp den aldığım dosya adlarını bir txt dosyasına yazıyorum &nbsp;alttaki localdosyaadi isimli değişken </span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> localdosyaadi<span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; localdosyaadi <span class="sy0">=</span> localdizin.<span class="me1">Trim</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="st0">&quot;<span class="es0">\\</span>&quot;</span> <span class="sy0">+</span> localtxtdosyaadi.<span class="me1">Trim</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">try</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FtpWebRequest ftpbaglan <span class="sy0">=</span> <span class="br0">&#40;</span>FtpWebRequest<span class="br0">&#41;</span>FtpWebRequest.<span class="me1">Create</span><span class="br0">&#40;</span><a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> Uri<span class="br0">&#40;</span>ftpadres.<span class="me1">Trim</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ftpbaglan.<span class="me1">UseBinary</span> <span class="sy0">=</span> true<span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ftpbaglan.<span class="me1">Credentials</span> <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> NetworkCredential<span class="br0">&#40;</span>kullaniciadi.<span class="me1">Trim</span><span class="br0">&#40;</span><span class="br0">&#41;</span>, sifre.<span class="me1">Trim</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span> &nbsp; <span class="co1">// kullanıcı adı ve şifresi &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ftpbaglan.<span class="me1">Method</span> <span class="sy0">=</span> WebRequestMethods.<span class="me1">Ftp</span>.<span class="me1">ListDirectory</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; WebResponse islem <span class="sy0">=</span> ftpbaglan.<span class="me1">GetResponse</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; StreamReader reader <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> StreamReader<span class="br0">&#40;</span>islem.<span class="me1">GetResponseStream</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> okunan <span class="sy0">=</span> reader.<span class="me1">ReadLine</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; StreamWriter dosya <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> StreamWriter<span class="br0">&#40;</span>localdosyaadi<span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">while</span> <span class="br0">&#40;</span>okunan <span class="sy0">!=</span> <span class="kw1">null</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dosya.<span class="me1">WriteLine</span><span class="br0">&#40;</span>okunan<span class="br0">&#41;</span><span class="sy0">;</span> &nbsp; &nbsp;<span class="co1">// text dosyasına tek tek ftp deki dosya adlarını yaz !( dizinlerle birlikte )</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; okunan <span class="sy0">=</span> reader.<span class="me1">ReadLine</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> &nbsp;<span class="co1">// sonrakini oku </span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dosya.<span class="me1">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; reader.<span class="me1">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; islem.<span class="me1">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="st0">&quot;ok&quot;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">catch</span> <span class="br0">&#40;</span>Exception ex<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span> <span class="kw1">return</span> ex.<span class="me1">Message</span>.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="br0">&#125;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
<br />&nbsp; &nbsp; <span class="br0">&#125;</span>
<br /><span class="br0">&#125;</span></pre></td></tr></tbody></table></div>]]></summary>
			<author>
				<name><![CDATA[KONURALP]]></name>
				<uri>http://www.fox4um.com/user/16/</uri>
			</author>
			<updated>2011-11-15T12:39:20Z</updated>
			<id>http://www.fox4um.com/topic/1802/c-ile-ftp-islemleri/new/posts/</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VFP Entity Framework provider]]></title>
			<link rel="alternate" href="http://www.fox4um.com/topic/2045/vfp-entity-framework-provider/new/posts/"/>
			<summary type="html"><![CDATA[<p>Daha once LinqToVFP driver yazip yayinlayan Tom Brothers EF Provider da yayinladi:)
</p><p>Codeplex link:
<br /><a href="http://vfpefprovider.codeplex.com/releases/view/76383">http://vfpefprovider.codeplex.com/releases/view/76383</a>
</p><p>Konuyla ilgili blog:
<br /><a href="http://www.randomdevnotes.com/2011/10/vfp-entity-framework-provider-v0-5/">http://www.randomdevnotes.com/2011/10/v &#133; ider-v0-5/</a>
<br /><a href="http://www.randomdevnotes.com/2011/11/vfp-entity-framework-provider-v0-6/">http://www.randomdevnotes.com/2011/11/v &#133; ider-v0-6/</a>
</p><p>Indirdim ama henuz kullanmadim. LinqToVFP&#039;yi dusununce iyi bir sey cikacagini dusunuyor ve kendisine giyabinda tesekkur ediyorum.</p>]]></summary>
			<author>
				<name><![CDATA[cetinbasoz]]></name>
				<uri>http://www.fox4um.com/user/11/</uri>
			</author>
			<updated>2011-11-15T08:57:10Z</updated>
			<id>http://www.fox4um.com/topic/2045/vfp-entity-framework-provider/new/posts/</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Windows phone]]></title>
			<link rel="alternate" href="http://www.fox4um.com/topic/1906/windows-phone/new/posts/"/>
			<summary type="html"><![CDATA[<p>Görünün o ki Microsoft, Apple&#039;ın Iphone için yaptığını Windows Phone 7 için yapmaya çalışıyor. Programını bedava ve kolay bir ortamda geliştir, test et, benim dükkanımda sat:
</p><p><a href="http://phone.microsoftplatformready.com/">http://phone.microsoftplatformready.com/</a>
</p><p>Iphone&#039;nin başarısına ulaşabilir mi? Ben&nbsp; pek sanmam. Nokia, Android ve Samsung da bunu denedi ama Iphone&#039;nin başarısından çok uzaklar. Ben şahsen Nokia kullanıyorum ve OVI Apps&#039;ı çok başarısız buluyorum. Uyduruk uyduruk şeyler var.</p>]]></summary>
			<author>
				<name><![CDATA[cetinbasoz]]></name>
				<uri>http://www.fox4um.com/user/39/</uri>
			</author>
			<updated>2011-01-18T14:58:55Z</updated>
			<id>http://www.fox4um.com/topic/1906/windows-phone/new/posts/</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[64 bit .net dll register  da sorun]]></title>
			<link rel="alternate" href="http://www.fox4um.com/topic/1835/64-bit-net-dll-register-da-sorun/new/posts/"/>
			<summary type="html"><![CDATA[<p>.net de&nbsp; foxpro içinden kullanılmak için yazılmış bir dll 
<br /> alttaki komutla 
</p><p>regasm ftpfoxdll.dll&nbsp; /codebase 
</p><p>32 bit windows xp , windows vista da çalışıyor 
</p><p>fakat 64 bitte register ederken sorun çıkartıyor
</p><p>fikri olan tecrübesi olan varmı?</p>]]></summary>
			<author>
				<name><![CDATA[KONURALP]]></name>
				<uri>http://www.fox4um.com/user/16/</uri>
			</author>
			<updated>2010-11-10T14:09:52Z</updated>
			<id>http://www.fox4um.com/topic/1835/64-bit-net-dll-register-da-sorun/new/posts/</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Yine Linq]]></title>
			<link rel="alternate" href="http://www.fox4um.com/topic/1820/yine-linq/new/posts/"/>
			<summary type="html"><![CDATA[<p>dim db as new dataclassesdatacontext 
</p><p>dim query = from q&nbsp; in db.bankalar where a=b and c=d select q
</p><p>query tablosunun boş olduğunu nasıl test edebilirim.
</p><p>if query.count &gt; 0 .....
</p><p>if query.single() ....
</p><p>Bunlar Hata döndürüyor. 
</p><p>if query is nothing ...
</p><p>kayıt dönmediğini bildiğim halde varmış gibi davranıyor.
</p><p>Internette epey aradım. Ama çalışan bir çözüm bulamadım. Yardımcı olacak arkadaş varmı ?</p>]]></summary>
			<author>
				<name><![CDATA[avrasya34]]></name>
				<uri>http://www.fox4um.com/user/184/</uri>
			</author>
			<updated>2010-11-03T16:02:51Z</updated>
			<id>http://www.fox4um.com/topic/1820/yine-linq/new/posts/</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VFP to Linq]]></title>
			<link rel="alternate" href="http://www.fox4um.com/topic/1792/vfp-to-linq/new/posts/"/>
			<summary type="html"><![CDATA[<p>VFP de çok kullanışlı bir komut var. 
</p><div class="codebox"><div class="head">Visual Fox Pro</div><table class="visualfoxpro fxcode"><tbody><tr class="li1"><td class="ln"><pre class="de1">1
<br /></pre></td><td class="de1"><pre class="de1"><span class="kw2">TOTAL</span> <span class="kw2">on</span> Tarih <span class="kw3">to</span> tToplam <span class="kw2">FIELDS</span> Borc<span class="sy0">,</span>Alacak</pre></td></tr></tbody></table></div><p>
</p><p>sonuc tabloda ;
</p><p>cari&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;borc&nbsp; &nbsp; &nbsp; &nbsp;alacak
<br />-----------------------------------
<br />FIRMA1&nbsp; &nbsp;1550&nbsp; &nbsp; &nbsp; &nbsp;750
<br />FIRMA2&nbsp; &nbsp;450&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;200
</p><p>Bunu LINQ te nasıl yaparım ?</p>]]></summary>
			<author>
				<name><![CDATA[metin]]></name>
				<uri>http://www.fox4um.com/user/184/</uri>
			</author>
			<updated>2010-10-08T14:21:20Z</updated>
			<id>http://www.fox4um.com/topic/1792/vfp-to-linq/new/posts/</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Web sayfasi yapan ve .Net kullananlarin dikkatine]]></title>
			<link rel="alternate" href="http://www.fox4um.com/topic/1345/web-sayfasi-yapan-ve-net-kullananlarin-dikkatine/new/posts/"/>
			<summary type="html"><![CDATA[<p><a href="http://weblogs.asp.net/scottgu/archive/2009/09/24/announcing-the-websitespark-program.aspx">http://weblogs.asp.net/scottgu/archive/ &#133; ogram.aspx</a></p>]]></summary>
			<author>
				<name><![CDATA[aydinufuk]]></name>
				<uri>http://www.fox4um.com/user/11/</uri>
			</author>
			<updated>2010-08-31T04:51:45Z</updated>
			<id>http://www.fox4um.com/topic/1345/web-sayfasi-yapan-ve-net-kullananlarin-dikkatine/new/posts/</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[LinqPad 2.0 beta cikti]]></title>
			<link rel="alternate" href="http://www.fox4um.com/topic/1506/linqpad-20-beta-cikti/new/posts/"/>
			<summary type="html"><![CDATA[<p>Yeni versiyonun carpici ozelligi, yeni destekler. Bunlarin icinde SQLite, MySQL destegi var. ADO.Net services, SQL Azure da yeni eklenen desteklerden.
</p><p>Daha once blogumda da belirttigim gibi LinqPad sadece&nbsp; .Net ile ilginenler icin degil. Bir SQL nasil yazilir ya da daha pratik bir SQL server yonetim konsolu olsun diyenler icin de faydali. MySQL, SQLite kullananlar da artik LinqPad&#039;de object query yazip onun &#039;SQL&#039;ini yurutebilir (ben bunu karmasik SQL server SQL&#039;leri icin kullaniyordum - ne de olsa nesne sorgulari SQL&#039;den daha anlasilir:)
</p><p><a href="http://www.linqpad.net/Beta.aspx">http://www.linqpad.net/Beta.aspx</a></p>]]></summary>
			<author>
				<name><![CDATA[metin]]></name>
				<uri>http://www.fox4um.com/user/11/</uri>
			</author>
			<updated>2010-01-27T16:27:10Z</updated>
			<id>http://www.fox4um.com/topic/1506/linqpad-20-beta-cikti/new/posts/</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VFP'dan sonra]]></title>
			<link rel="alternate" href="http://www.fox4um.com/topic/336/vfpdan-sonra/new/posts/"/>
			<summary type="html"><![CDATA[<p>( Mesaj uzun isterseniz dogrudan son paragraflara bakin)
</p><p>MS un aciklamasindan sonra bir baska dile gecmek neredeyse kacinilmaz oldu. Ben kendi adima C# secmistim. C# veya VB.Net oncelikli gorunuyor, dabo, python ... alternatifler.
<br />C# ogrenenler en azindan VB.Net&#039;i okumayi da ogrenmis oluyor. VB.Net&#039;in yadsinamaz avantajlari da var (C# daha cok mimari ve nereye isterse oraya mudahale edecekler icin, VB ise cok fazla detay bilmeden hizla uygulama gelistirmek icin daha uygun destegi aliyor MSdan).
<br />Guzel haber henuz yayinlanmamis (beta ve CTP seviyesinde) LINQ bizim alisik oldugumuz select-sql&#039;e benziyor ve onunla yapamadigimiz bircok seyi de yapiyor. Dilin parcasi olarak isi sadece datayi degil her turlu nesneyi sorgulamak (ve .Net de hersey nesne). Uzun lafin kisasi .Net basta korkutucu gelse de cok carpici yanlari var.
</p><p>VFP&#039;de bizim en cok sevdigimiz, dataenvironmentdan tut cek harketleriyle alanlari/gridi vs yaratmak. Ondan sonra form icinde bircok kodla uygulamanin ne yapmasi gerektigini belirliyoruz. Aslinda bu VFP&#039;de bile yapmamamiz gereken birsey (dogrudan forma bagimli data ile ilgili kod). Gene de inkar etmenin anlami yok, kolay geldiginden hepimiz yaptik bunu.
</p><p>Bu noktada, .Net&#039;e gececek olanlar icin harika buldugum (ve daha once yuzeysel bahsettigim) bir framework var. <a href="http://www.ideablade.com">www.ideablade.com</a>&#039;dan indirebileceginiz Devforce. Devforce neden harika. Tum detaylarini anlatmaya ne benim vaktim yeter ne de siz okumaya vakit ayirabilirsiniz simdilik. Cok kaba ve kisaca anlatmak gerekirse, bir kez yazdiginiz program tek kullanicilidan dunya uzerinde bircok makineye yayilmis cok kulanicili bir sisteme kadar cok genis bir yelpazeyi destekliyor. 
</p><p>VFP windows formlari olusturuyor ve zengin, hizla cevap veren bir ara yuzu var. Diger taraftan web uygulamalari yazmak istiyoruz cunku web&#039;in tek bir noktadan tum web&#039;te calisan, kullaniciya install edilmesi gerekmeyen uygulamalar icin harika destegi var. Guvenlik sourlarini hallediyor, web servislerini kullanabiliyoruz vs vs. Web thin client olarak biliniyor, windows uygulamalari ise fat client. Ikisinin guclu yanlarini birlestiren ve yeni sayilan &quot;smart client&quot; var. En basit sekliyle bakilinca &#039;smart client&#039; web uzerinde calisan bir VFP formu gibi dusunulebilir. Ancak boyle birseyi yazmanin zorlugunu bir dusunun. Hesaba katilmasi gereken dataya nasil ulasilacagi, almak/saklamak, datanin guvenirligini denetlemek, datanin guvenligini saglamak, yetkisiz erisimleri engellemek, alan seviyesinde bile kullaniciya gore okuma/yazma/gorme yetkilerini duzenlemek vs vs. Diyelim ki bu kismini basardik, web de data girerken (mesela bir combodan ulkeyi sectiginizde) bir baska combonun (sehirler gibi) o ulkenin sehirleriyle dolmasi icin web serverin yeniden sayfayi duzenleyip geri gondermesini beklemek hepimizin tecrube ettigi seyler (submit tusunda beklemeler gibi). VFP formlarinda alisik degiliz boyle seylere ve data yakinimizda gercekte. Neyse web uygulamasi yazan arkadaslar bu &#039;round tripler&#039;in derdini biliyor zaten (bu forumda bile yasiyoruz yeteri kadar). Smart client ise bir karmasim gibi. Windows/web guclu yanlari birlestiriliyor. Webdeki gibi dataya gereginden fazla &#039;tekrar gitme&#039;, ara yuzu yenileme gibi dertler kalkiyor (Ajax ve Atlas yardimci olsa da bu sorunu cozemedi daha webde). 
</p><p>Uzatmayalim, bu noktada Devforce devreye giriyor.&nbsp; Onun yaptigi ihtiyaciniz olan altyapiyi sunmak size (.Net sunmuyor mu&nbsp; diyebilirsiniz, sunuyor da hammadde halinde 7000 civarinda namespace dedigimiz yerlere dagilmis 30000den fazla class halinde). Siz ise VFPde yaptginiz isler gibi hatta daha da basit olarak, uygulamanizin dizayni, kurallari ile ilgileniyorsunuz.
<br />Bu arada Devforce suslu puslu arayuz olusturma isine karismiyor. Normal .Net kontrollerini kullaniyor (veya elinizde varsa meshur 2 adet arayuz frameworku, Devexpress ve Infragistics).
<br />Yaptginiz sey yalnizca smart client olmuyor tabii. Isterseniz web uygulamasi yapin, ister windows formu ister web servis yayincisi ya da kullanicisi. 
</p><p>Yaziyla herseyi anlatmak da cok zor ya. Zaten aslinda bu detaylari anlatmak icin baslamamistim bu mesaja:) 
<br />.Net ile calisacaklar ve Devforce kullanmayi da dusunenlere (express versiyonu ucretsiz indirebilirsiniz, .Net&#039;in kendi express versiyonlari da ucretsiz. Yani .Net ve Devforce icin baslangicta ucret odemeniz gerekmiyor. Ancak bir noktadan sonra o is sizin icin profesyonel olarak gerekli ise tabii ki odeyip profesyonel/enterprise versiyonlara gecmeniz gerekli. O seviyede zaten onlara odediginizin cok cok uzerinde kazaniyor olursunuz):
</p><p>Bu hafta sonu sadece data hazirken (ornek data hazir, Ideablade&#039;den - ornek dolu data yapmanin zorlugu vakit kaybi malum ondan o hazir, zaten VFPcilerin de en asina oldugu sey), Devforce install edilmis bir sistemde, sifirdan Visual Studio ve Devforce kullanarak cok da ilginc bulunabilecek bir formun DEMOsunu yapmayi dusunuyorum. Birkac kisinin halihazirda o demolar hakkinda fikri oldugunu ve kullandigini da biliyorum. Katilip bana yardimci olurlarsa sevinirim:)
</p><p>Demolar aslinda ideablade sitesinde buyuk olcude var. Ben VFP&#039;den birinin VFP camiasina daha iyi anlatabilecegi ve onemli olan noktalari gosterebilecegini dusundugumden yapacagim. Bir resim bircok seyi anlatir hesabi:) Tum anlattiklarim ve gorecekleriniz aysbergin ucu, kisaca Devforce + .Net yeni hedefim oldu benim. En onemlisi, dunyanin en buyuk firmalarina bile uygulama yazabileceginiz bir ortamdan bahsediyoruz burada (ya da en basit uygulamadan). O meshur scalability/reliability ... laflari olan sistemlerden.
</p><p>Katilanlar birsey kaybetmez, katilmayanlar ne kaybettiklerini asla bilmeyecek:)
</p><p>KATILMAK ISTEYEN VARSA lutfen hafta sonundaki uygun zaman dilimini belirtsinler. Ona gore herkese uyan bir veya birkac toplanti seklinde ben de vaktimi ayiracagim.
</p><p>NOT: Devforce sadece C# icin degil. C# ve VB.Net kodu uretiyor. .Netin yapisi geregi o kod tum .Net dilleri tarafindan da kullanilabiliyor.</p>]]></summary>
			<author>
				<name><![CDATA[metin]]></name>
				<uri>http://www.fox4um.com/user/11/</uri>
			</author>
			<updated>2009-11-03T08:28:58Z</updated>
			<id>http://www.fox4um.com/topic/336/vfpdan-sonra/new/posts/</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[C# öğrenmek]]></title>
			<link rel="alternate" href="http://www.fox4um.com/topic/1402/c-ogrenmek/new/posts/"/>
			<summary type="html"><![CDATA[<p>John Sharp&#039;ın Adım Adım Visual C# 2008 kitabını aldım. Gördüğüm kadarıyla en iyi C# kitabı bu. Kitapta ilk gözüme çarpan herşeyin türkçeye çevrilmesi oldu. iterator, interface, class ama herşey. Bu çok kötü olmuş. 
</p><p>Generics, iterator, enumarator gibi bazı şeyleri tam anlayamadım doğrusu. Bazılarını hiç anlayamadım. Şimdiye kadar ilk defa bir kitabı okuyup da anlayamadığım oldu. Anlayamadıklarımı geçiyorum. Artık tekrar geçicez onları. C# OOP olayında çok ileriye gitmiş doğrusu. Ben encapculation, inheridence, abstract, overload vs... bazıları VFP&#039;de de olmayan OOP terimlerini biliyorum ama C# bundan da öte. Şimdilik bunları öğrenmesem de C# kullanabilirim. Tabii ki eksik olur ama...
</p><p>Şimdi sorum şu. Bu anlayamadığım kısımları anlayabileceğim daha farklı bir kaynak var mı?</p>]]></summary>
			<author>
				<name><![CDATA[ugurlu2001]]></name>
				<uri>http://www.fox4um.com/user/39/</uri>
			</author>
			<updated>2009-10-31T08:41:07Z</updated>
			<id>http://www.fox4um.com/topic/1402/c-ogrenmek/new/posts/</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[.NET ve VFP Karşılaştırması.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/topic/1301/net-ve-vfp-karsilastirmasi/new/posts/"/>
			<summary type="html"><![CDATA[<p>Öncelikle tüm Fox4um &#039;a merhabalar.
</p><p>Şimbi benim dediğim gibi: &quot;VFP ile .NET in nesini karşılaştırıcaz? Ne gerek var? Biz zaten topyekün Foxpro &#039;cuyuz&quot; dimi? 
</p><p>Daha iki gün öncesine kadar; yukarıdaki cümlenin aynısını hatta daha da fazlasını benden duyardınız? Tamam VFP yi kendi çapımda biliyorum; .NET &#039;i de. Bu arada; &quot;biliyorum&quot; demediğime lütfen dikkat edin! ( Kendi çapımda biliyorum. ). 
</p><p>Hep VFP nin hızını övüp duruyoruz. Hızlı uygulama geliştirme; verileri hızlı işleme; Veri tabanı ( yada yenilerin tabiriyle Table ) işlemeye yönelik düzinelerce komut, object oriented modelleme (C# ile kesinlikle kıyas bile götürmez. Çok çok gerilerde ama yinede bir veritabanı programcısının işini fazla fazla görecek kadar iyi.), Win API ve ActiveX kullanımı, Office entegrasyonu. vs. v.s...
</p><p>Şimdi bunbları neden mi yazıyorum. Biraz sabır <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" /> Gülümsediğime bakmayın, bu gülümseme biraz sinirdenkendime hayıflanmamdan. !!!
</p><p>Geçen gün can sıkıntısı ile Çetin Üstad&#039; a bir bulaşıyim dedim. Bulaşmak derken bir konuda biraz görüş almaktan; vakti varsa da bir kaç kelime sohbet etmek niyetindeydim. Sen misin bulaşan!!! :
</p><p>-Üstad, biraz boş vaktin var mı?
<br />- Evet olabilir?
<br />- Bir şey sorucaktım da?
<br />- ?. (&nbsp; Sor işte be adam ne bekliyorsun!! <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" />&nbsp; - Uğur &#039;un notu. )
<br />- ..... konusunda ne düşünüyorsun biraz yardıma ihtiyacım var. ( Konu tabii ki VFP ) 
</p><p>Ve arkadaşlar; ben şu anda bu soruyu sorduğuma öyle pişmanım ki. Bana kibarca verilen cevabı aynen aktarıyorum.
</p><p>- Akşama biraz boş zamanın var mı? Teamviewer ile bağlanıp sana biraz bir şeyler göstereyim. Bence artık sorduğun türdeki işleri C# ile yapmalısın.
<br />- İyi de Üstad C# için 40 fırın ekmek yemek lazım.
<br />- Yok yok hiçde öyle diil, akşama sana 10 dk bir şeyler göstereyimde ne kadar kolay olduğunu gör.
<br />- ( DUMUR ! Vay be. Ne kadar da güzel 10 dk da C# programcısı olucakmışım. Yaşasınn!! Ya ba daba duuu. ). 
<br />İyi de Üstad, ben 2 kış dönemi o .NET ve C# &#039;ın kursuna gittim. Hiç de öyle dediğin gibi görünmüyordu meret.
<br />- Yok ya gözünde büyüttüğün kadar diil. Şimdi işim var. Gece 10 da görüşürüz. 
<br />( İşim var işte! Daha tutma beniii. Daha forumlarda cevap bekleyen bilmem kaç düzine soru var. Onlara sihirli değnekle dokunmam lazım. Milletinde işi gücü yok sorup duruyor.&nbsp; Böylede olmaz ki canım. Şimdi biri sordumu cevap vermemek te olmaz dimi. Bu sihirli değneği boşuna tutmuyoruz elimizde. Hem yeni çıkan hangi teknolojiler var, kimsenin bilmediği yada aklına gelmemiş ne keşifler yapmak lazım. Ohooo Çoook işim var çok. Tutma beni Uğur. TUTMAAA - Uğur &#039;un hayal gücü <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" /> -)
<br />-Tamam Üstad, gece görüşürüz.
</p><p>Ve gece 10 suları ....
</p><p>Teamviewer ile hızlı bir bağlantı ve show başlıyor...
<br />Şimdi heyecanla şov içeriğini merak eden arkadaşlara sadece önsöz vericem. Gerisi hep beraber Çetin Üstad &#039;ı ikna edip eski günlerdeki gibi Go2meeting görüşmesine kalıyor. Tabi ikna olursa <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" />
</p><p>Ben artık VFP &#039;nin kolay ve hızlı kullanımı konusunda kesinlikle bir karşıt gruptayım. Yok artık öyle bir şey. Foxpro gerçekten bitmiş, üstelik okeye dönüyor. Hemde Çiftten okey.. Neden mi? Devam ediyorum... :
</p><p>Çalışmaortamı: Windows 7 RC2 + Visual Studio 2010 ( .Net 4.0 )&nbsp; + SQL Server 2008 Express Edt. + Linq Pad + AdvantureWorks (SQL Server 2008) + Northwind(SQL Server 2000) 
</p><p>Sözün kısası Konuyu biraz .NET ve Linq ya bırakalım.
<br />--------------------------------------------------------- 
<br /></p><div class="codebox"><div class="head">C#</div><table class="csharp fxcode"><tbody><tr class="li1"><td class="ln"><pre class="de1">1
<br />2
<br />3
<br />4
<br />5
<br />6
<br />7
<br />8
<br />9
<br />10
<br />11
<br />12
<br />13
<br />14
<br /></pre></td><td class="de1"><pre class="de1"><span class="co1">// LinqPAD örneği: </span>
<br />&nbsp;
<br />DirectoryInfo di <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> DirectoryInfo<span class="br0">&#40;</span><span class="st_h">@&quot;C:\Program Files\Microsoft Visual FoxPro 9&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp;
<br /><span class="kw4">string</span><span class="br0">&#91;</span><span class="br0">&#93;</span> extensions <span class="sy0">=</span> <span class="br0">&#123;</span><span class="st0">&quot;.scx&quot;</span>,<span class="st0">&quot;.prg&quot;</span><span class="br0">&#125;</span><span class="sy0">;</span>
<br />&nbsp;
<br />var result <span class="sy0">=</span>
<br />from f <span class="kw1">in</span> di.<span class="me1">GetFiles</span><span class="br0">&#40;</span><span class="st0">&quot;*.*&quot;</span>,SearchOption.<span class="me1">AllDirectories</span><span class="br0">&#41;</span>
<br />where extensions.<span class="me1">Contains</span><span class="br0">&#40;</span> f.<span class="me1">Extension</span>.<span class="me1">ToLower</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span>
<br />select <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> <span class="br0">&#123;</span>f.<span class="me1">FullName</span>, f.<span class="me1">CreationTime</span>, f.<span class="me1">Attributes</span>, f.<span class="me1">Length</span><span class="br0">&#125;</span><span class="sy0">;</span>
<br />&nbsp;
<br />result.<span class="me1">Dump</span><span class="br0">&#40;</span><span class="st0">&quot;File System Query&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp;
<br /><span class="co1">// RUN i</span></pre></td></tr></tbody></table></div><p>
</p><p>Ve karşınızda dosya listesi... Kod kısa, gayet okunaklı ve hepsinden öte, Intellisense inanılmaz iyi. 
</p><p>şimdi benzer işi yapan bir VFP kodu, tamam fazlası ve birazda eksiği var. Hazır kod arşivimden. Muhtemelen Çetin üstadın kodu. Emin değilim.
</p><p>--------------------------------------------------------------
<br />* Çetin Başöz Code :
</p><div class="codebox"><div class="head">Visual Fox Pro</div><table class="visualfoxpro fxcode"><tbody><tr class="li1"><td class="ln"><pre class="de1">1
<br />2
<br />3
<br />4
<br />5
<br />6
<br />7
<br />8
<br />9
<br />10
<br />11
<br />12
<br />13
<br />14
<br />15
<br />16
<br />17
<br />18
<br />19
<br />20
<br />21
<br />22
<br /></pre></td><td class="de1"><pre class="de1"><span class="sy0">?</span> GetTree<span class="br0">&#40;</span>'c<span class="sy0">:</span>\<span class="kw3">Program</span> <span class="kw2">Files</span>'<span class="br0">&#41;</span>
<br /><span class="kw2">SELECT</span> CAST<span class="br0">&#40;</span>filepath <span class="kw2">as</span> c<span class="br0">&#40;</span><span class="nu0">250</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="kw2">as</span> filepath <span class="kw2">FROM</span> folderlist
<br />&nbsp;
<br /><span class="kw1">Function</span> GetTree
<br />&nbsp; <span class="kw1">Lparameters</span> tcStartDir
<br />&nbsp; <span class="kw1">Create</span> <span class="kw4">Cursor</span> folderlist <span class="br0">&#40;</span>filepath m<span class="br0">&#41;</span>
<br />&nbsp; oFiler <span class="sy0">=</span> <span class="kw1">Createobject</span><span class="br0">&#40;</span>'<span class="kw1">filer</span><span class="sy0">.</span><span class="me1">fileutil</span>'<span class="br0">&#41;</span>
<br />&nbsp; <span class="kw1">With</span> oFiler
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">SearchPath</span> <span class="sy0">=</span> m<span class="sy0">.</span><span class="me1">tcStartDir</span>
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">Subfolder</span> <span class="sy0">=</span> <span class="sy0">.</span><span class="kw3">T</span><span class="sy0">.</span>
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">FileExpression</span> <span class="sy0">=</span> '<span class="sy0">.</span>'
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="kw1">Find</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; <span class="kw1">For</span> ix<span class="sy0">=</span><span class="nu0">1</span> <span class="kw3">To</span> <span class="sy0">.</span><span class="kw2">Files</span><span class="sy0">.</span><span class="kw1">Count</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">With</span> <span class="sy0">.</span><span class="kw2">Files</span><span class="br0">&#40;</span>ix<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">If</span> <span class="kw1">Bittest</span><span class="br0">&#40;</span><span class="sy0">.</span><span class="me1">Attr</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Insert</span> <span class="kw2">Into</span> folderlist <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#40;</span>filepath<span class="br0">&#41;</span> <span class="kw3">values</span> <span class="br0">&#40;</span><span class="sy0">.</span><span class="kw3">Path</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Endif</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">Endwith</span>
<br />&nbsp; &nbsp; <span class="kw1">Endfor</span>
<br />&nbsp; &nbsp; <span class="kw2">Return</span> <span class="sy0">.</span><span class="kw2">Files</span><span class="sy0">.</span><span class="kw1">Count</span>
<br />&nbsp; <span class="kw1">Endwith</span></pre></td></tr></tbody></table></div><p>
</p><p>--------------------------------------------------------------
<br />Yada başka bir versiyonu :
</p><div class="codebox"><div class="head">Visual Fox Pro</div><table class="visualfoxpro fxcode"><tbody><tr class="li1"><td class="ln"><pre class="de1">1
<br />2
<br />3
<br />4
<br />5
<br />6
<br />7
<br />8
<br />9
<br />10
<br />11
<br />12
<br />13
<br />14
<br />15
<br />16
<br />17
<br />18
<br />19
<br />20
<br />21
<br />22
<br />23
<br />24
<br />25
<br />26
<br />27
<br />28
<br />29
<br />30
<br />31
<br />32
<br />33
<br />34
<br />35
<br />36
<br />37
<br />38
<br />39
<br />40
<br />41
<br />42
<br />43
<br />44
<br />45
<br />46
<br />47
<br />48
<br />49
<br />50
<br />51
<br />52
<br />53
<br />54
<br />55
<br />56
<br />57
<br />58
<br />59
<br />60
<br />61
<br />62
<br />63
<br />64
<br />65
<br />66
<br />67
<br />68
<br />69
<br />70
<br />71
<br />72
<br />73
<br />74
<br />75
<br />76
<br />77
<br />78
<br />79
<br />80
<br />81
<br />82
<br />83
<br />84
<br />85
<br />86
<br />87
<br />88
<br />89
<br />90
<br />91
<br />92
<br />93
<br />94
<br />95
<br />96
<br />97
<br />98
<br />99
<br />100
<br />101
<br />102
<br />103
<br />104
<br />105
<br />106
<br />107
<br />108
<br />109
<br />110
<br />111
<br />112
<br />113
<br />114
<br />115
<br />116
<br />117
<br />118
<br />119
<br />120
<br />121
<br />122
<br />123
<br />124
<br />125
<br />126
<br />127
<br />128
<br />129
<br />130
<br />131
<br />132
<br />133
<br />134
<br />135
<br /></pre></td><td class="de1"><pre class="de1"><span class="sy0">?</span> GetTree<span class="br0">&#40;</span>'C<span class="sy0">:</span>\<span class="kw3">Program</span> <span class="kw2">Files</span>\Microsoft Visual <span class="kw1">FoxPro</span> <span class="nu0">9</span>'<span class="sy0">,</span>'<span class="sy0">*.</span><span class="me1">Prg</span>'<span class="sy0">,.</span><span class="kw3">T</span><span class="sy0">.</span><span class="br0">&#41;</span>
<br /><span class="kw2">locate</span>
<br />Brow
<br />&nbsp;
<br /><span class="sy0">*</span> Cetin Basoz code<span class="sy0">.</span> <span class="kw1">Public</span><span class="sy0">.</span> 
<br />&nbsp;
<br /><span class="kw1">Function</span> GetTree
<br />&nbsp; <span class="kw1">Lparameters</span> tcStartDir<span class="sy0">,</span>tcSkeleton<span class="sy0">,</span>tlSubfolders
<br />&nbsp; <span class="kw1">Create</span> <span class="kw4">Cursor</span> filelist <span class="sy0">;</span>
<br />&nbsp; &nbsp; <span class="br0">&#40;</span>filepath m<span class="sy0">,</span> filename c<span class="br0">&#40;</span><span class="nu0">50</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; filesize i<span class="sy0">,</span> fattr c<span class="br0">&#40;</span><span class="nu0">8</span><span class="br0">&#41;</span><span class="sy0">,</span> createtime <span class="kw3">T</span><span class="sy0">,</span> lastacc <span class="kw3">T</span><span class="sy0">,</span> lastwrite <span class="kw3">T</span><span class="br0">&#41;</span>
<br />&nbsp; oFiler <span class="sy0">=</span> <span class="kw1">Createobject</span><span class="br0">&#40;</span>'<span class="kw1">filer</span><span class="sy0">.</span><span class="me1">fileutil</span>'<span class="br0">&#41;</span>
<br />&nbsp; <span class="kw1">With</span> oFiler
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">SearchPath</span> <span class="sy0">=</span> tcStartDir
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">Subfolder</span> <span class="sy0">=</span> tlSubfolders
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">SortBy</span> <span class="sy0">=</span> <span class="nu0">5</span>
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">SortDirection</span> <span class="sy0">=</span> <span class="nu0">1</span>
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">FileExpression</span> <span class="sy0">=</span> tcSkeleton
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="kw1">Find</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; <span class="kw1">For</span> ix<span class="sy0">=</span><span class="nu0">1</span> <span class="kw3">To</span> <span class="sy0">.</span><span class="kw2">Files</span><span class="sy0">.</span><span class="kw1">Count</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">With</span> <span class="sy0">.</span><span class="kw2">Files</span><span class="br0">&#40;</span>ix<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">If</span> <span class="sy0">!</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span><span class="sy0">.</span><span class="me1">Attr</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#41;</span> <span class="kw2">And</span> <span class="sy0">.</span><span class="kw4">Name</span> <span class="sy0">=</span> '<span class="sy0">.</span>'<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Insert</span> <span class="kw2">Into</span> filelist <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#40;</span>filepath<span class="sy0">,</span> filename<span class="sy0">,</span> filesize<span class="sy0">,</span> fattr<span class="sy0">,</span> createtime<span class="sy0">,</span> lastacc<span class="sy0">,</span> lastwrite<span class="br0">&#41;</span> &nbsp;<span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">values</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#40;</span><span class="sy0">.</span><span class="kw3">Path</span><span class="sy0">,</span> <span class="sy0">.</span><span class="kw4">Name</span><span class="sy0">,</span> <span class="sy0">.</span><span class="kw2">Size</span><span class="sy0">,</span> Attr2Char<span class="br0">&#40;</span><span class="sy0">.</span><span class="me1">Attr</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Num2Time<span class="br0">&#40;</span><span class="sy0">.</span><span class="kw1">Datetime</span><span class="br0">&#41;</span><span class="sy0">,</span> Num2Time<span class="br0">&#40;</span><span class="sy0">.</span><span class="me1">LastAccessTime</span><span class="br0">&#41;</span><span class="sy0">,</span> Num2Time<span class="br0">&#40;</span><span class="sy0">.</span><span class="me1">LastWriteTime</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Endif</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">Endwith</span>
<br />&nbsp; &nbsp; <span class="kw1">Endfor</span>
<br />&nbsp; &nbsp; <span class="kw2">Return</span> <span class="sy0">.</span><span class="kw2">Files</span><span class="sy0">.</span><span class="kw1">Count</span>
<br />&nbsp; <span class="kw1">Endwith</span>
<br />&nbsp;
<br /><span class="kw1">Function</span> Num2Time
<br />&nbsp; <span class="kw1">Lparameters</span> tnFloat
<br />&nbsp; <span class="kw2">Return</span> <span class="kw1">Dtot</span><span class="br0">&#40;</span><span class="br0">&#123;</span>^<span class="nu0">1899</span><span class="sy0">/</span><span class="nu0">12</span><span class="sy0">/</span><span class="nu0">30</span><span class="br0">&#125;</span><span class="sy0">+</span><span class="kw2">Int</span><span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">tnFloat</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">+</span><span class="nu0">86400</span><span class="sy0">*</span><span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">tnFloat</span><span class="sy0">-</span><span class="kw2">Int</span><span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">tnFloat</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
<br />&nbsp;
<br /><span class="kw1">Function</span> Attr2Char
<br />&nbsp; <span class="kw1">Lparameters</span> tnAttr
<br />&nbsp; <span class="kw2">Return</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">,</span>'RO'<span class="sy0">,</span>'RW'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="sy0">,</span>'H'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">2</span><span class="br0">&#41;</span><span class="sy0">,</span>'S'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#41;</span><span class="sy0">,</span>'D'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">5</span><span class="br0">&#41;</span><span class="sy0">,</span>'A'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">6</span><span class="br0">&#41;</span><span class="sy0">,</span>'E'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br /><span class="sy0">?</span> GetTree<span class="br0">&#40;</span>'C<span class="sy0">:</span>\<span class="kw3">Program</span> <span class="kw2">Files</span>\Microsoft Visual <span class="kw1">FoxPro</span> <span class="nu0">9</span>'<span class="sy0">,</span>'<span class="sy0">*.</span><span class="me1">Prg</span>'<span class="sy0">,.</span><span class="kw3">T</span><span class="sy0">.</span><span class="br0">&#41;</span>
<br /><span class="kw2">locate</span>
<br />Brow
<br />&nbsp;
<br /><span class="kw1">Function</span> GetTree
<br />&nbsp; <span class="kw1">Lparameters</span> tcStartDir<span class="sy0">,</span>tcSkeleton<span class="sy0">,</span>tlSubfolders
<br />&nbsp; <span class="kw1">Create</span> <span class="kw4">Cursor</span> filelist <span class="sy0">;</span>
<br />&nbsp; &nbsp; <span class="br0">&#40;</span>filepath m<span class="sy0">,</span> filename c<span class="br0">&#40;</span><span class="nu0">50</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; filesize i<span class="sy0">,</span> fattr c<span class="br0">&#40;</span><span class="nu0">8</span><span class="br0">&#41;</span><span class="sy0">,</span> createtime <span class="kw3">T</span><span class="sy0">,</span> lastacc <span class="kw3">T</span><span class="sy0">,</span> lastwrite <span class="kw3">T</span><span class="br0">&#41;</span>
<br />&nbsp; oFiler <span class="sy0">=</span> <span class="kw1">Createobject</span><span class="br0">&#40;</span>'<span class="kw1">filer</span><span class="sy0">.</span><span class="me1">fileutil</span>'<span class="br0">&#41;</span>
<br />&nbsp; <span class="kw1">With</span> oFiler
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">SearchPath</span> <span class="sy0">=</span> tcStartDir
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">Subfolder</span> <span class="sy0">=</span> tlSubfolders
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">SortBy</span> <span class="sy0">=</span> <span class="nu0">5</span>
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">SortDirection</span> <span class="sy0">=</span> <span class="nu0">1</span>
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">FileExpression</span> <span class="sy0">=</span> tcSkeleton
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="kw1">Find</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; <span class="kw1">For</span> ix<span class="sy0">=</span><span class="nu0">1</span> <span class="kw3">To</span> <span class="sy0">.</span><span class="kw2">Files</span><span class="sy0">.</span><span class="kw1">Count</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">With</span> <span class="sy0">.</span><span class="kw2">Files</span><span class="br0">&#40;</span>ix<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">If</span> <span class="sy0">!</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span><span class="sy0">.</span><span class="me1">Attr</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#41;</span> <span class="kw2">And</span> <span class="sy0">.</span><span class="kw4">Name</span> <span class="sy0">=</span> '<span class="sy0">.</span>'<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Insert</span> <span class="kw2">Into</span> filelist <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#40;</span>filepath<span class="sy0">,</span> filename<span class="sy0">,</span> filesize<span class="sy0">,</span> fattr<span class="sy0">,</span> createtime<span class="sy0">,</span> lastacc<span class="sy0">,</span> lastwrite<span class="br0">&#41;</span> &nbsp;<span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">values</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#40;</span><span class="sy0">.</span><span class="kw3">Path</span><span class="sy0">,</span> <span class="sy0">.</span><span class="kw4">Name</span><span class="sy0">,</span> <span class="sy0">.</span><span class="kw2">Size</span><span class="sy0">,</span> Attr2Char<span class="br0">&#40;</span><span class="sy0">.</span><span class="me1">Attr</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Num2Time<span class="br0">&#40;</span><span class="sy0">.</span><span class="kw1">Datetime</span><span class="br0">&#41;</span><span class="sy0">,</span> Num2Time<span class="br0">&#40;</span><span class="sy0">.</span><span class="me1">LastAccessTime</span><span class="br0">&#41;</span><span class="sy0">,</span> Num2Time<span class="br0">&#40;</span><span class="sy0">.</span><span class="me1">LastWriteTime</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Endif</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">Endwith</span>
<br />&nbsp; &nbsp; <span class="kw1">Endfor</span>
<br />&nbsp; &nbsp; <span class="kw2">Return</span> <span class="sy0">.</span><span class="kw2">Files</span><span class="sy0">.</span><span class="kw1">Count</span>
<br />&nbsp; <span class="kw1">Endwith</span>
<br />&nbsp;
<br /><span class="kw1">Function</span> Num2Time
<br />&nbsp; <span class="kw1">Lparameters</span> tnFloat
<br />&nbsp; <span class="kw2">Return</span> <span class="kw1">Dtot</span><span class="br0">&#40;</span><span class="br0">&#123;</span>^<span class="nu0">1899</span><span class="sy0">/</span><span class="nu0">12</span><span class="sy0">/</span><span class="nu0">30</span><span class="br0">&#125;</span><span class="sy0">+</span><span class="kw2">Int</span><span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">tnFloat</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">+</span><span class="nu0">86400</span><span class="sy0">*</span><span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">tnFloat</span><span class="sy0">-</span><span class="kw2">Int</span><span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">tnFloat</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
<br />&nbsp;
<br /><span class="kw1">Function</span> Attr2Char
<br />&nbsp; <span class="kw1">Lparameters</span> tnAttr
<br />&nbsp; <span class="kw2">Return</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">,</span>'RO'<span class="sy0">,</span>'RW'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="sy0">,</span>'H'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">2</span><span class="br0">&#41;</span><span class="sy0">,</span>'S'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#41;</span><span class="sy0">,</span>'D'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">5</span><span class="br0">&#41;</span><span class="sy0">,</span>'A'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">6</span><span class="br0">&#41;</span><span class="sy0">,</span>'E'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">7</span><span class="br0">&#41;</span><span class="sy0">,</span>'<span class="kw2">N</span>'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">?</span> GetTree<span class="br0">&#40;</span>'C<span class="sy0">:</span>\<span class="kw3">Program</span> <span class="kw2">Files</span>\Microsoft Visual <span class="kw1">FoxPro</span> <span class="nu0">9</span>'<span class="sy0">,</span>'<span class="sy0">*.</span><span class="me1">Prg</span>'<span class="sy0">,.</span><span class="kw3">T</span><span class="sy0">.</span><span class="br0">&#41;</span>
<br /><span class="kw2">locate</span>
<br />Brow
<br />&nbsp;
<br /><span class="kw1">Function</span> GetTree
<br />&nbsp; <span class="kw1">Lparameters</span> tcStartDir<span class="sy0">,</span>tcSkeleton<span class="sy0">,</span>tlSubfolders
<br />&nbsp; <span class="kw1">Create</span> <span class="kw4">Cursor</span> filelist <span class="sy0">;</span>
<br />&nbsp; &nbsp; <span class="br0">&#40;</span>filepath m<span class="sy0">,</span> filename c<span class="br0">&#40;</span><span class="nu0">50</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; filesize i<span class="sy0">,</span> fattr c<span class="br0">&#40;</span><span class="nu0">8</span><span class="br0">&#41;</span><span class="sy0">,</span> createtime <span class="kw3">T</span><span class="sy0">,</span> lastacc <span class="kw3">T</span><span class="sy0">,</span> lastwrite <span class="kw3">T</span><span class="br0">&#41;</span>
<br />&nbsp; oFiler <span class="sy0">=</span> <span class="kw1">Createobject</span><span class="br0">&#40;</span>'<span class="kw1">filer</span><span class="sy0">.</span><span class="me1">fileutil</span>'<span class="br0">&#41;</span>
<br />&nbsp; <span class="kw1">With</span> oFiler
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">SearchPath</span> <span class="sy0">=</span> tcStartDir
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">Subfolder</span> <span class="sy0">=</span> tlSubfolders
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">SortBy</span> <span class="sy0">=</span> <span class="nu0">5</span>
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">SortDirection</span> <span class="sy0">=</span> <span class="nu0">1</span>
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="me1">FileExpression</span> <span class="sy0">=</span> tcSkeleton
<br />&nbsp; &nbsp; <span class="sy0">.</span><span class="kw1">Find</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; <span class="kw1">For</span> ix<span class="sy0">=</span><span class="nu0">1</span> <span class="kw3">To</span> <span class="sy0">.</span><span class="kw2">Files</span><span class="sy0">.</span><span class="kw1">Count</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">With</span> <span class="sy0">.</span><span class="kw2">Files</span><span class="br0">&#40;</span>ix<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">If</span> <span class="sy0">!</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span><span class="sy0">.</span><span class="me1">Attr</span><span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#41;</span> <span class="kw2">And</span> <span class="sy0">.</span><span class="kw4">Name</span> <span class="sy0">=</span> '<span class="sy0">.</span>'<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Insert</span> <span class="kw2">Into</span> filelist <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#40;</span>filepath<span class="sy0">,</span> filename<span class="sy0">,</span> filesize<span class="sy0">,</span> fattr<span class="sy0">,</span> createtime<span class="sy0">,</span> lastacc<span class="sy0">,</span> lastwrite<span class="br0">&#41;</span> &nbsp;<span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">values</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#40;</span><span class="sy0">.</span><span class="kw3">Path</span><span class="sy0">,</span> <span class="sy0">.</span><span class="kw4">Name</span><span class="sy0">,</span> <span class="sy0">.</span><span class="kw2">Size</span><span class="sy0">,</span> Attr2Char<span class="br0">&#40;</span><span class="sy0">.</span><span class="me1">Attr</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Num2Time<span class="br0">&#40;</span><span class="sy0">.</span><span class="kw1">Datetime</span><span class="br0">&#41;</span><span class="sy0">,</span> Num2Time<span class="br0">&#40;</span><span class="sy0">.</span><span class="me1">LastAccessTime</span><span class="br0">&#41;</span><span class="sy0">,</span> Num2Time<span class="br0">&#40;</span><span class="sy0">.</span><span class="me1">LastWriteTime</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Endif</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">Endwith</span>
<br />&nbsp; &nbsp; <span class="kw1">Endfor</span>
<br />&nbsp; &nbsp; <span class="kw2">Return</span> <span class="sy0">.</span><span class="kw2">Files</span><span class="sy0">.</span><span class="kw1">Count</span>
<br />&nbsp; <span class="kw1">Endwith</span>
<br />&nbsp;
<br /><span class="kw1">Function</span> Num2Time
<br />&nbsp; <span class="kw1">Lparameters</span> tnFloat
<br />&nbsp; <span class="kw2">Return</span> <span class="kw1">Dtot</span><span class="br0">&#40;</span><span class="br0">&#123;</span>^<span class="nu0">1899</span><span class="sy0">/</span><span class="nu0">12</span><span class="sy0">/</span><span class="nu0">30</span><span class="br0">&#125;</span><span class="sy0">+</span><span class="kw2">Int</span><span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">tnFloat</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">+</span><span class="nu0">86400</span><span class="sy0">*</span><span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">tnFloat</span><span class="sy0">-</span><span class="kw2">Int</span><span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">tnFloat</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
<br />&nbsp;
<br /><span class="kw1">Function</span> Attr2Char
<br />&nbsp; <span class="kw1">Lparameters</span> tnAttr
<br />&nbsp; <span class="kw2">Return</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">,</span>'RO'<span class="sy0">,</span>'RW'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="sy0">,</span>'H'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">2</span><span class="br0">&#41;</span><span class="sy0">,</span>'S'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">4</span><span class="br0">&#41;</span><span class="sy0">,</span>'D'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">5</span><span class="br0">&#41;</span><span class="sy0">,</span>'A'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">6</span><span class="br0">&#41;</span><span class="sy0">,</span>'E'<span class="sy0">,</span>'_'<span class="br0">&#41;</span><span class="sy0">+;</span>
<br />&nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw1">Bittest</span><span class="br0">&#40;</span>tnAttr<span class="sy0">,</span><span class="nu0">7</span><span class="br0">&#41;</span><span class="sy0">,</span>'<span class="kw2">N</span>'<span class="sy0">,</span>'_'<span class="br0">&#41;</span></pre></td></tr></tbody></table></div><p>
</p><p>-------------------------------------------------------------------------------------------
</p><p>Başka bir linq sorgusu.
</p><div class="codebox"><div class="head">C#</div><table class="csharp fxcode"><tbody><tr class="li1"><td class="ln"><pre class="de1">1
<br />2
<br />3
<br /></pre></td><td class="de1"><pre class="de1">from p <span class="kw1">in</span> Products 
<br />where p.<span class="me1">OrderDetails</span>.<span class="me1">Any</span><span class="br0">&#40;</span> od <span class="sy0">=&gt;</span> od.<span class="me1">Order</span>.<span class="me1">Customer</span>.<span class="me1">Country</span> <span class="sy0">==</span> <span class="st0">&quot;Argentina&quot;</span> <span class="br0">&#41;</span>
<br />select p</pre></td></tr></tbody></table></div><p>
</p><p>-------------------------------------------------------------------------------------------
<br />Birde şu kadarcık kodun arka planda yaptığına bakın: 
<br />-------------------------------------------------------------------------------------------
</p><div class="codebox"><div class="head">SQL</div><table class="sql fxcode"><tbody><tr class="li1"><td class="ln"><pre class="de1">1
<br />2
<br />3
<br />4
<br />5
<br />6
<br />7
<br />8
<br />9
<br />10
<br />11
<br />12
<br />13
<br />14
<br />15
<br />16
<br />17
<br />18
<br />19
<br />20
<br />21
<br />22
<br />23
<br /></pre></td><td class="de1"><pre class="de1"><span class="co1">-- Region Parameters</span>
<br />DECLARE @p0 NVarChar<span class="br0">&#40;</span><span class="nu0">9</span><span class="br0">&#41;</span> <span class="sy0">=</span> <span class="st0">'Argentina'</span>
<br /><span class="co1">-- EndRegion</span>
<br /><span class="kw1">SELECT</span> 
<br />&nbsp; &nbsp; <span class="br0">&#91;</span>t0<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>ProductID<span class="br0">&#93;</span><span class="sy0">,</span> 
<br />&nbsp; &nbsp; <span class="br0">&#91;</span>t0<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>ProductName<span class="br0">&#93;</span><span class="sy0">,</span> 
<br />&nbsp; &nbsp; <span class="br0">&#91;</span>t0<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>SupplierID<span class="br0">&#93;</span><span class="sy0">,</span> 
<br />&nbsp; &nbsp; <span class="br0">&#91;</span>t0<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>CategoryID<span class="br0">&#93;</span><span class="sy0">,</span> 
<br />&nbsp; &nbsp; <span class="br0">&#91;</span>t0<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>QuantityPerUnit<span class="br0">&#93;</span><span class="sy0">,</span> 
<br />&nbsp; &nbsp; <span class="br0">&#91;</span>t0<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>UnitPrice<span class="br0">&#93;</span><span class="sy0">,</span> 
<br />&nbsp; &nbsp; <span class="br0">&#91;</span>t0<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>UnitsInStock<span class="br0">&#93;</span><span class="sy0">,</span> 
<br />&nbsp; &nbsp; <span class="br0">&#91;</span>t0<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>UnitsOnOrder<span class="br0">&#93;</span><span class="sy0">,</span> 
<br />&nbsp; &nbsp; <span class="br0">&#91;</span>t0<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>ReorderLevel<span class="br0">&#93;</span><span class="sy0">,</span> 
<br />&nbsp; &nbsp; <span class="br0">&#91;</span>t0<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>Discontinued<span class="br0">&#93;</span> 
<br /><span class="kw1">FROM</span> <span class="br0">&#91;</span>Products<span class="br0">&#93;</span> <span class="kw1">AS</span> <span class="br0">&#91;</span>t0<span class="br0">&#93;</span>
<br /><span class="kw1">WHERE</span> <span class="kw1">EXISTS</span><span class="br0">&#40;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">SELECT</span> 
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">NULL</span> <span class="kw1">AS</span> <span class="br0">&#91;</span>EMPTY<span class="br0">&#93;</span> <span class="sy0">//</span> Bu satırı okuyamadım<span class="sy0">.</span> Onun dışındakiler tamam <span class="sy0">..</span>!!! TELEFON <span class="sy0">...</span> 
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">FROM</span> <span class="br0">&#91;</span><span class="kw1">ORDER</span> Details<span class="br0">&#93;</span> <span class="kw1">AS</span> <span class="br0">&#91;</span>t1<span class="br0">&#93;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">INNER</span> <span class="kw1">JOIN</span> <span class="br0">&#91;</span>Orders<span class="br0">&#93;</span> <span class="kw1">AS</span> <span class="br0">&#91;</span>t2<span class="br0">&#93;</span> <span class="kw1">ON</span> <span class="br0">&#91;</span>t2<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>OrderID<span class="br0">&#93;</span> <span class="sy0">=</span> <span class="br0">&#91;</span>t1<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>OrderID<span class="br0">&#93;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">LEFT</span> <span class="kw1">OUTER</span> <span class="kw1">JOIN</span> <span class="br0">&#91;</span>Customers<span class="br0">&#93;</span> <span class="kw1">AS</span> <span class="br0">&#91;</span>t3<span class="br0">&#93;</span> <span class="kw1">ON</span> <span class="br0">&#91;</span>t3<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>CustomerID<span class="br0">&#93;</span> <span class="sy0">=</span> <span class="br0">&#91;</span>t2<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>CustomerID<span class="br0">&#93;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">WHERE</span> <span class="br0">&#40;</span><span class="br0">&#91;</span>t3<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>Country<span class="br0">&#93;</span> <span class="sy0">=</span> @p0<span class="br0">&#41;</span> <span class="kw1">AND</span> <span class="br0">&#40;</span><span class="br0">&#91;</span>t1<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>ProductID<span class="br0">&#93;</span> <span class="sy0">=</span> <span class="br0">&#91;</span>t0<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>ProductID<span class="br0">&#93;</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; <span class="br0">&#41;</span></pre></td></tr></tbody></table></div><p>
<br />-----------------------------------------------------------------------------------------------------------
<br />Birazda C# 
<br />-----------------------------------------------------------------------------------------------------------
</p><div class="codebox"><div class="head">C#</div><table class="csharp fxcode"><tbody><tr class="li1"><td class="ln"><pre class="de1">1
<br />2
<br />3
<br />4
<br />5
<br />6
<br />7
<br />8
<br />9
<br />10
<br />11
<br />12
<br />13
<br />14
<br />15
<br />16
<br />17
<br />18
<br />19
<br />20
<br />21
<br />22
<br />23
<br />24
<br />25
<br />26
<br />27
<br />28
<br />29
<br />30
<br />31
<br />32
<br />33
<br />34
<br />35
<br />36
<br />37
<br />38
<br />39
<br />40
<br />41
<br />42
<br />43
<br />44
<br />45
<br />46
<br />47
<br />48
<br />49
<br />50
<br />51
<br />52
<br />53
<br />54
<br />55
<br />56
<br />57
<br />58
<br />59
<br />60
<br />61
<br />62
<br />63
<br />64
<br />65
<br />66
<br />67
<br />68
<br />69
<br />70
<br />71
<br />72
<br />73
<br />74
<br /></pre></td><td class="de1"><pre class="de1"><span class="kw1">using</span> <span class="co3">System</span><span class="sy0">;</span>
<br /><span class="kw1">using</span> <span class="co3">System.Collections.Generic</span><span class="sy0">;</span>
<br /><span class="kw1">using</span> <span class="co3">System.Linq</span><span class="sy0">;</span>
<br /><span class="kw1">using</span> <span class="co3">System.Text</span><span class="sy0">;</span>
<br /><span class="kw1">using</span> <span class="co3">System.Diagnostics</span><span class="sy0">;</span>
<br />&nbsp;
<br /><span class="kw1">using</span> <span class="co3">Excel </span><span class="sy0">=</span> Microsoft.<span class="me1">Office</span>.<span class="me1">Interop</span>.<span class="me1">Excel</span><span class="sy0">;</span>
<br /><span class="kw1">using</span> <span class="co3">Word </span><span class="sy0">=</span> Microsoft.<span class="me1">Office</span>.<span class="me1">Interop</span>.<span class="me1">Word</span><span class="sy0">;</span> <span class="co1">// consume-first ne ola ki:)</span>
<br />&nbsp;
<br /><span class="kw1">namespace</span> ExcelAutomation1
<br /><span class="br0">&#123;</span>
<br />&nbsp; &nbsp; <span class="kw4">class</span> Program
<br />&nbsp; &nbsp; <span class="br0">&#123;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">static</span> <span class="kw1">void</span> Main<span class="br0">&#40;</span><span class="kw4">string</span><span class="br0">&#91;</span><span class="br0">&#93;</span> args<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// Once bir kenarda datayi getirecek sorgu</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// sonra Excel otomasyonuyla sonuc</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// from ... tipi syntax VFP'ye cok benziyor ve dun gordun</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// ama tum gucune ulasamiyor + bazi seyler de onunala olmuyor</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// ayni sey.</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// GetProcesses sonucu bir cesit liste - Liste tarzi sonucu </span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// olan hersey Linq ile sorgulanabilir . ile gelenlerin </span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// cogu -asagi dogru mavi ok gibi ikonlular-</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// LINQ extesion metodlari - sorguya yonelik metodlar</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// Bu lambda syntax - p bir variable gibi ve selecte gelen</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// her bir &quot;record&quot;u sembolik olarak tutuyor</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// ProsesAdi select ProcessName as ProsesAdi gibi</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// koymasaydik kolon kendi original adina olacakti</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// new {} ile tum alanlar yerine istedigimiz iki alani aliyoruz</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// new olmasinin nedeni aldigimiz sonucta bir obje listesi</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">/// createobject() yapar gibiyiz</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var pList <span class="sy0">=</span> Process.<span class="me1">GetProcesses</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<span class="me1">OrderByDescending</span><span class="br0">&#40;</span>p <span class="sy0">=&gt;</span> p.<span class="me1">WorkingSet64</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .<span class="me1">Select</span><span class="br0">&#40;</span>p <span class="sy0">=&gt;</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> <span class="br0">&#123;</span> ProsesAdi <span class="sy0">=</span> p.<span class="me1">ProcessName</span>, Hafiza <span class="sy0">=</span> p.<span class="me1">WorkingSet64</span> <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// sorgu hazir - daha calismadi kenarda duruyor</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Excel.<span class="me1">Application</span> xl <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> Microsoft.<span class="me1">Office</span>.<span class="me1">Interop</span>.<span class="me1">Excel</span>.<span class="me1">Application</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Word.<span class="me1">Application</span> wd <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> Microsoft.<span class="me1">Office</span>.<span class="me1">Interop</span>.<span class="me1">Word</span>.<span class="me1">Application</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Excel.<span class="me1">Workbook</span> wb <span class="sy0">=</span> xl.<span class="me1">Workbooks</span>.<span class="me1">Add</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xl.<span class="me1">Visible</span> <span class="sy0">=</span> true<span class="sy0">;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Excel.<span class="me1">Worksheet</span> sh <span class="sy0">=</span> wb.<span class="me1">ActiveSheet</span><span class="sy0">;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sh.<span class="me1">Cells</span><span class="br0">&#91;</span><span class="nu0">1</span>, <span class="nu0">1</span><span class="br0">&#93;</span>.<span class="me1">Value</span> <span class="sy0">=</span> <span class="st0">&quot;Proses Adi&quot;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sh.<span class="me1">Cells</span><span class="br0">&#91;</span><span class="nu0">1</span>, <span class="nu0">2</span><span class="br0">&#93;</span>.<span class="me1">Value</span> <span class="sy0">=</span> <span class="st0">&quot;Memory&quot;</span><span class="sy0">;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> r <span class="sy0">=</span> <span class="nu0">2</span><span class="sy0">;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span>var i <span class="kw1">in</span> pList<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sh.<span class="me1">Cells</span><span class="br0">&#91;</span>r, <span class="nu0">1</span><span class="br0">&#93;</span>.<span class="me1">Value</span> <span class="sy0">=</span> i.<span class="me1">ProsesAdi</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sh.<span class="me1">Cells</span><span class="br0">&#91;</span>r, <span class="nu0">2</span><span class="br0">&#93;</span>.<span class="me1">Value</span> <span class="sy0">=</span> i.<span class="me1">Hafiza</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; r<span class="sy0">++;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// bu kadarla bir calistir. Şaka gibi iyimi <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" /> Var + bu satırı tuttum <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" /> </span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Üstad bayıldın mı? </span>
<br />&nbsp; &nbsp; &nbsp; <span class="co1">// hayir o arada kendi makinemden birsey ariyordum</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// 1 sn ye. bunu saklayalım <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" /> </span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// sende Üstad, 5 dk ya dönüyorum . şakamı </span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Excel.<span class="me1">Chart</span> ch <span class="sy0">=</span> wb.<span class="me1">Charts</span>.<span class="me1">Add</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ch.<span class="me1">SetSourceData</span><span class="br0">&#40;</span>sh.<span class="me1">UsedRange</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ch.<span class="me1">ChartArea</span>.<span class="me1">Copy</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Word.<span class="me1">Document</span> doc <span class="sy0">=</span> wd.<span class="me1">Documents</span>.<span class="me1">Add</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; wd.<span class="me1">Visible</span> <span class="sy0">=</span> true<span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; doc.<span class="me1">Content</span>.<span class="me1">Paste</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
<br />&nbsp; &nbsp; <span class="br0">&#125;</span>
<br /><span class="br0">&#125;</span></pre></td></tr></tbody></table></div><p>
</p><p>---------------------------------------------------------------------------------------------
</p><p>İşte bu an benim bittiğim andır. Kodun yazılmasındaki intellisense özelliklerini bir görün ve ne kadar sürede bittiğini görün. Excel için external object kullanmak gerekiyor, VS da office entegrasyonu tam. Sadece References penceresinde COM object olarak Microsoft. Office Interop Excel seçmek yetiyor. 
</p><p>Gerçekten tarifi yok. Kesinlikle görmek lazım. İnanılmaz hızlı uygulama yazılıyor ve kodun okunaklılığı mükemmel .
</p><p>Bir örnek daha :
</p><div class="codebox"><div class="head">C#</div><table class="csharp fxcode"><tbody><tr class="li1"><td class="ln"><pre class="de1">1
<br />2
<br />3
<br />4
<br />5
<br />6
<br />7
<br />8
<br />9
<br />10
<br />11
<br />12
<br />13
<br />14
<br />15
<br />16
<br />17
<br />18
<br />19
<br />20
<br />21
<br />22
<br />23
<br />24
<br />25
<br />26
<br />27
<br />28
<br /></pre></td><td class="de1"><pre class="de1"><span class="kw1">using</span> <span class="co3">System</span><span class="sy0">;</span>
<br /><span class="kw1">using</span> <span class="co3">System.Collections.Generic</span><span class="sy0">;</span>
<br /><span class="kw1">using</span> <span class="co3">System.Linq</span><span class="sy0">;</span>
<br /><span class="kw1">using</span> <span class="co3">System.Text</span><span class="sy0">;</span>
<br />&nbsp;
<br /><span class="kw1">using</span> <span class="co3">Excel </span><span class="sy0">=</span> Microsoft.<span class="me1">Office</span>.<span class="me1">Interop</span>.<span class="me1">Excel</span><span class="sy0">;</span>
<br />&nbsp;
<br /><span class="kw1">namespace</span> ExcelAutomation2
<br /><span class="br0">&#123;</span>
<br />&nbsp; &nbsp; <span class="kw4">class</span> Program
<br />&nbsp; &nbsp; <span class="br0">&#123;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">static</span> <span class="kw1">void</span> Main<span class="br0">&#40;</span><span class="kw4">string</span><span class="br0">&#91;</span><span class="br0">&#93;</span> args<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Excel.<span class="me1">Application</span> x <span class="sy0">=</span> <a href="http://www.google.com/search?q=new+msdn.microsoft.com"><span class="kw3">new</span></a> Excel.<span class="me1">Application</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; x.<span class="me1">Workbooks</span>.<span class="me1">Add</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; x.<span class="me1">Visible</span> <span class="sy0">=</span> true<span class="sy0">;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Excel.<span class="me1">Worksheet</span> sheet <span class="sy0">=</span> x.<span class="me1">ActiveWorkbook</span>.<span class="me1">ActiveSheet</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Excel.<span class="me1">Range</span> range <span class="sy0">=</span> sheet.<span class="me1">get_Range</span><span class="br0">&#40;</span><span class="st0">&quot;A1&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> sql <span class="sy0">=</span> <span class="st0">&quot;select * from AdventureWorks.HumanResources.Employee&quot;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sheet.<span class="me1">QueryTables</span>.<span class="me1">Add</span><span class="br0">&#40;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">@&quot;OleDb;Provider=SQLNCLI10.1;Data Source=.\SQLserver2008;Trusted_connection=yes&quot;</span>,
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; range,
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sql<span class="br0">&#41;</span>.<span class="me1">Refresh</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
<br />&nbsp; &nbsp; <span class="br0">&#125;</span>
<br /><span class="br0">&#125;</span></pre></td></tr></tbody></table></div><p>
</p><p>----------------------------------------------------------------------------------------------------------------
<br />Ve şu kadarcık kodla: SQL Server &#039;a bağlandık; Datayı çektik ve Excel e aktardık. Daha ne diyim. Üstelik intellicense yine inanılmaz harika: 
</p><p>VS2010 + SQL Server + Excel + Word + LinqPAd, sınırların sonu yok. Bu platformlar ile hem uygulama geliştirme hızı, hemde sonuca yönelik üretkenlik inanılmaz. 
</p><p>VFP deki benzer örnekler sitede bolca mevcut artık buraya yapıştırmıyorum.
<br />----------------------------------------------------------------------------------------------------------------
</p><p>Arkadaşlar; sözün kısası.
</p><p>Başkası Foxproyu .NET &#039;e karşı eleştirse, gözünün üstünde kaşın var deyip, eklımdan geçeni dudaklarıma dökerim; ama bunu Çetin üstad söyleyince işin şekli değişiyor. Bu bir!!! İkincisi ben burada ne kadar yazarsam yazayım; uygulamalı olarak görmek lazım. .NET VS 2010 ile gerçekten aşmış durumda. SQL Server + VS + LinqPAD + Excel + Word ile hayallerin gerçekten sınırı yok.
</p><p>Ben kendi adıma fazla bencil olamadım ve bunları sizlerle paylaşmanın doğru olacağına inandım. Gerisi artık bizlerin isteğine ve Çetin Üstad &#039;ın görüşüne kalmış....
</p><p>Bir kaç ekstra not:&nbsp; WPF + Xaml ve Excel + Word entegrasyonuna hiç girmedim. Ayrıca Çetin Üstad VS 2010 platformunda; 1 milyar kaydı SQL Server dan çekip, excel &#039;e atmanın 1sn yeden kısa süreceğini söylediğinde yüz halimi düşünmeyin. ( Doğru okunuz tam 1 ve 9 tane 0 kayıt ve 1 sn. ye altında bir süre.)&nbsp; 
</p><p>Üstad, ben kendi adıma ( eğer düşünüyorsan ve olucaksa ), yeni teknolojileri senden öğrenmeyi iple çekiyorum. 
</p><p>Dilerim diğer arkadaşlardan olumlu eleştiriler alırım...
</p><p>Uğur YILMAZ.</p>]]></summary>
			<author>
				<name><![CDATA[konuka]]></name>
				<uri>http://www.fox4um.com/user/30/</uri>
			</author>
			<updated>2009-08-21T11:33:04Z</updated>
			<id>http://www.fox4um.com/topic/1301/net-ve-vfp-karsilastirmasi/new/posts/</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[fox içinden c#]]></title>
			<link rel="alternate" href="http://www.fox4um.com/topic/1258/fox-icinden-c/new/posts/"/>
			<summary type="html"><![CDATA[<p>Foxpro içinden c#&nbsp; a parametre gönderme ve geriye parametre döndürmede sorunsuz çalışıyor. 
</p><p>Fox içinden c# a dizi&nbsp; nasıl gönderirim ve c# içinden fox a dizi nasıl döndürebilirim. 
</p><p>Benim aklıma gelen yöntem fox dan&nbsp; xml yaratmak aynı isimli xml i&nbsp; c# dan okumak 
</p><p>bunun&nbsp; dışında çözüm var mı ?
</p><p>teşekkürler
</p><p>ÖRNEK 
<br />&nbsp; &nbsp; &nbsp;public string ornek ( string[] dizi1 )
<br />{&nbsp; &nbsp;
</p><p>.....
<br />.....
<br />&nbsp; return dizi2 [] ;
<br />&nbsp; }</p>]]></summary>
			<author>
				<name><![CDATA[metin]]></name>
				<uri>http://www.fox4um.com/user/16/</uri>
			</author>
			<updated>2009-06-24T08:25:45Z</updated>
			<id>http://www.fox4um.com/topic/1258/fox-icinden-c/new/posts/</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[c# da yazılmış bir kod vfp içinden]]></title>
			<link rel="alternate" href="http://www.fox4um.com/topic/1236/c-da-yazilmis-bir-kod-vfp-icinden/new/posts/"/>
			<summary type="html"><![CDATA[<p>c# da yazılmış bir kod vfp içinden nasıl çağırılır tecrübesi olaan varmı ?
</p><p>teşekkürler
</p><p>konuralp</p>]]></summary>
			<author>
				<name><![CDATA[cetinbasoz]]></name>
				<uri>http://www.fox4um.com/user/16/</uri>
			</author>
			<updated>2009-03-25T00:42:13Z</updated>
			<id>http://www.fox4um.com/topic/1236/c-da-yazilmis-bir-kod-vfp-icinden/new/posts/</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VFP Developer Studio]]></title>
			<link rel="alternate" href="http://www.fox4um.com/topic/1220/vfp-developer-studio/new/posts/"/>
			<summary type="html"><![CDATA[<p>VFP Developer Studio eğer gerçekten başarılı bir şekilde çıkarsa tam aradığım gibi birşey olacak galiba:
</p><p><em>Samuel David:
<br />The native code generation will be just a switch in our Developer Studio that will generate instead of a .NET Assembly, just a true x86 / arm EXE or DLL or if you want and OBJ (linkable object).</em>
</p><p><em>For us, as VFP Developers, that will be the preferred way to distribute our VFP apps to our customers. There are advantages to distributing EXE:</em>
</p><p><em>1. Not possibility of reverse engineering or at least so hard like to reverse engineer C++ or C code compiled to native.</em>
</p><p><em>2. Better (2x and up) performance than JITTED code. .NET uses JIT compilation to turn your IL code into native code, but the optimizations it performs are very limited. With an Ahead of Time compiler we can perform sophisticated optimizations like those available only in C++ and therefore the exe runs lot faster.</em>
</p><p><em>3. Better interoperability with native code. From the external world your functions look like C++ / C functions that can be easily consumed from C / C++ and of course because of that you can use directly external C++ / C code or any other native code with a conforming ABI (Application Binary Interface).</em>
</p><p><em>Ben:
<br />That&#039;s great news. I&#039;m aware of .NET but if I understood true: &quot;VFP Developer Studio can compile both true .EXE and .NET interpreter exe&quot;? I didn&#039;t know there is an option for make true .EXE files with .NET. Are you convert applications to C++ and compile than or .NET supports native .EXE files too???</em>
</p><p><em>Samuel David:
<br />Well the option to create native exe is not available in standard .NET. How we did this? We just take our .NET Assemblies (IL binary code as output by the VFPCompiler) and compiles them to Native, this is we don&#039;t do any conversion to C++. But I can tell you that the performance of the resulting exe is lot faster than the JIT (Net Interpreter) and really close to C++.</em>
</p><p><em>With this capability you get the amazing productivity of VFP and the performance of C++, so for us it is the culmination of years wishing to build true natives from our VFP Code. And that will be the preferred way for us, as sellers of VFP coded products, to distribute our VFP apps to our customers, with that we get rid of the shortcoming in distribution of .NET.</em>
</p><p>Çetin gibi bazı arkadaşlar zaten büyük ölçüde C# a kaymış durumdalar ama C# benim için hala çok uzak. Ayrıca C# ile gerçek .EXE yapma şansın yok. Ama bununla olacak. C# gerçekten harika şeyler veriyormuş ama hala benim için çok somut şeyler değil. Muhasebe programı yazıyorum işte...</p>]]></summary>
			<author>
				<name><![CDATA[cetinbasoz]]></name>
				<uri>http://www.fox4um.com/user/39/</uri>
			</author>
			<updated>2009-02-23T15:13:18Z</updated>
			<id>http://www.fox4um.com/topic/1220/vfp-developer-studio/new/posts/</id>
		</entry>
</feed>

