<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Fox4um - .NET ve VFP Karşılaştırması.]]></title>
		<link>http://www.fox4um.com/topic/1301/net-ve-vfp-karsilastirmasi/</link>
		<description><![CDATA[The most recent posts in .NET ve VFP Karşılaştırması..]]></description>
		<lastBuildDate>Fri, 21 Aug 2009 11:33:04 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: .NET ve VFP Karşılaştırması.]]></title>
			<link>http://www.fox4um.com/post/7898/#p7898</link>
			<description><![CDATA[<p>ben tabiki katılmak isterim -ileride sitenin adını değiştirmek pahasına olsa dahi.... :]
<br />yalnız mümkünse 1.Eylülden sonra başlasak, Bodrum mazeretim var.
<br />Çetin&#039;in dediği şekilde burada yazılım, donanım konfigirasyonu paylaşıp, biraz yol almış olarak başlarsah oldukça hızlı ilerleyeceğimizi düşünüyorum.
</p><p>kamp konusunu biraz açabilirmisin ?
<br />ali</p>]]></description>
			<author><![CDATA[dummy@example.com (konuka)]]></author>
			<pubDate>Fri, 21 Aug 2009 11:33:04 +0000</pubDate>
			<guid>http://www.fox4um.com/post/7898/#p7898</guid>
		</item>
		<item>
			<title><![CDATA[Re: .NET ve VFP Karşılaştırması.]]></title>
			<link>http://www.fox4um.com/post/7896/#p7896</link>
			<description><![CDATA[<p>Üstad; az bile yazdım. Hiç öyle deme. Hele sen Combo Box &#039;un içine bir kaç tane EditBox vs türünde nesne bağlayınca da sustum akabinde. Şapkamı alıp gidiyim dedim. I-ıh olmadı. Şapkayı bırakıyorum ben artık dedim; sen izin vermedin.
</p><p>İşin acısı; para verip kursa gidiyorsun, bir sürü şey öğreniyorsun; işin en temeline inip mantığını kavrıyorsun ama bu tip pratik görsel uygulama örnekleri YOK!!! ( Bu arada hakkını vermek lazım, en temelini öğrenmek en güzeli ve mantıklısı ) 
</p><p>Gotomeeteing yada benzeri bir uygulama kullanacaksak tekrardan bir kumbara hesabı açılabilir. Sen sadece hangi uygulamayı kullanmak istediğini seç <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" />
</p><p>Galiba Timuçin abi ve Soykan abi tamam gibi. Diğer arkadaşların yorumları ne olur bilemiyorum...</p>]]></description>
			<author><![CDATA[dummy@example.com (ugurlu2001)]]></author>
			<pubDate>Thu, 20 Aug 2009 11:41:27 +0000</pubDate>
			<guid>http://www.fox4um.com/post/7896/#p7896</guid>
		</item>
		<item>
			<title><![CDATA[Re: .NET ve VFP Karşılaştırması.]]></title>
			<link>http://www.fox4um.com/post/7894/#p7894</link>
			<description><![CDATA[<p>Ugur amma yazmissin ha:) Laf lafi aciyor misali takildik guzel oldu.
</p><p>G2Meeting olmaz cunku hesabi kapattim. Netmeeting hesabim var o olur. G2Meeting simdi mikrofon, hoparlor destekliyor ama Netmeeting performansindan emin degilim. 
<br />Teamviewer cok guzel, ticari lisansi olan varsa ve coklu kullanima uygunsa o da olur.
</p><p>Istersesniz bunlardan birisini ayarlayip (ayarlama isini birsi ustlenirse:) aksam erken saatlerde (9 - 11 arasi gibi, bunlar benim ayirabilecegim saatlerin icinde genele en uygun saatler sanirim, yoksa bana gece 11-04 arasi daha cok uyar:)&nbsp; olabilir.
</p>
<br /><p>&nbsp; &nbsp;Kagit ustunde uygulamanin ekranlarinin nasil olacagini
<br />&nbsp; hangi ekranda ne olunca neye baglanacagini
<br />&nbsp; karalasak.
</p><p>&nbsp; &nbsp;Bu karalamalari birisine (musteri olabilir) gostersek, duzeltse, sunu ekle sunu kiar diye
</p>
<br /><p>Programin baslangici olur. Peki ya:
</p><p>{ 
<br />&nbsp; Bunlari ekranda karalasak, karalamalar biraz canli olsa (mesela butonlar reaksiyon verse, combolar ornek datayi canli sekilde scroll etse)
<br />&nbsp; 
<br />&nbsp; eh sonra uygulamayi gelistirip bunu atacagimiza, bundan uygulama gelistirilse?
<br />} diye dusunmus bile birileri:)
</p><p>Vaktiniz olursa ve .Net ile ilgilenmeyi de dusunuyorsaniz buna gozatmakta fayda var:
</p><p><a href="http://www.microsoft.com/expression/products/Sketchflow_Overview.aspx">http://www.microsoft.com/expression/pro &#133; rview.aspx</a>
</p>
<br /><p>.Net&#039;den korkmayin o sizden korksun;)</p>]]></description>
			<author><![CDATA[dummy@example.com (cetinbasoz)]]></author>
			<pubDate>Thu, 20 Aug 2009 11:28:29 +0000</pubDate>
			<guid>http://www.fox4um.com/post/7894/#p7894</guid>
		</item>
		<item>
			<title><![CDATA[Re: .NET ve VFP Karşılaştırması.]]></title>
			<link>http://www.fox4um.com/post/7891/#p7891</link>
			<description><![CDATA[<p>Soykan Abi;
</p><p>Şu kamp meselesi kulağa öyle hoş geliyor ki...
</p><p>Seneye bunun için bir şeyler yapabilirmiyiz? Şimdiden alt yapı çalışmaları yapılabilir. Bir yıl sonrası için...
</p><p>Herkes bu konuda da görüş bildirebilir mi?</p>]]></description>
			<author><![CDATA[dummy@example.com (ugurlu2001)]]></author>
			<pubDate>Thu, 20 Aug 2009 08:59:38 +0000</pubDate>
			<guid>http://www.fox4um.com/post/7891/#p7891</guid>
		</item>
		<item>
			<title><![CDATA[Re: .NET ve VFP Karşılaştırması.]]></title>
			<link>http://www.fox4um.com/post/7890/#p7890</link>
			<description><![CDATA[<p>Uğur paylaşım icin sagol oncelikle,
<br />elma ile armutu zaten karsilastirmamak lazim <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" /> once hakkını verelim fox bize cok seyler verdi,verecek ama son gelismeleride gozardi edemeyiz
<br />( aklıma win95 ciktiginda 1 yil kadar hic kurmayip DOS ile devam etme inadim geldi <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" /> )
</p><p>ben bu noktada yillar once fox u yada baska bir cok seyi deneme yanilma ile ogrendigimiz gibi (internetin forumlarin olmadigi yillar <img src="http://www.fox4um.com/img/smilies/sad.png" width="15" height="15" alt="sad" /> )&nbsp; bu yeni teknolojileride boyle ogrenmeyelim bize birisi(leri) yol gostersin derim ne guzel olurdu. (tabi kisisel temenni bu)
</p><p>mesela ;
</p><p>.net nedir ? ( hala ne oldugunu bilmiyor diyenler cikabilir <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" />&nbsp; ,calisma mantigi nasildir ?
<br />VS studio arayuzu ve kullanımı en pratik olarak nasildir ?
<br />foxta yaptigimizin karsiligi c# ta yada vb.net te boyledir ,forma gridi boyle koyar datayi boyle baglariz..... vs vs 
<br />bir c# projesinde neler olmazsa olmazdir 
<br />..
<br />..
<br />.. 
</p><p>ve akla ilk anda gelmeyenler.Cunku nerde nasil baslayacagimizi bilemezsek sanirim urkekligimiz hep surecek ( en azindan benim )
</p><p>Timuçin in de kulaklari cinlasin bu arada , o hep der &quot;biz neden yabancilar gibi camp yapmiyoruz yapamiyoruz.&quot; yapabilsek belkide 2-3 gunde 6 ayda ogrenebileceklerimizi ogreniriz.
</p><p>daha dun twitter da Craig Berntson un codecamp ( <a href="http://utcodecamp.com/">http://utcodecamp.com/</a> ) cagrisini gorunce hayiflandim <img src="http://www.fox4um.com/img/smilies/sad.png" width="15" height="15" alt="sad" /></p>]]></description>
			<author><![CDATA[dummy@example.com (soykanozcelik)]]></author>
			<pubDate>Thu, 20 Aug 2009 07:51:59 +0000</pubDate>
			<guid>http://www.fox4um.com/post/7890/#p7890</guid>
		</item>
		<item>
			<title><![CDATA[Re: .NET ve VFP Karşılaştırması.]]></title>
			<link>http://www.fox4um.com/post/7889/#p7889</link>
			<description><![CDATA[<p>Sevgili Uğur,
</p><p>&nbsp; &nbsp; &nbsp;Uyumak zorunda kalıp, sizinle baglanamadıgıma üzgünüm. Ama emin ol; yatarken Çetin, uğur&#039;u şok edecek diye de düşündüm. 
<br />&nbsp; &nbsp; &nbsp;Öyle güzel anlatıp, öyle güzel can damarından vuruyor ki, insan gecegündüz .net,sql,linq,.... hepsini bi çırpıda yutası geliyor.
<br />&nbsp; &nbsp; &nbsp;Umarım, kısa zamanda bu konularda çok yol alırız.
</p><p>&nbsp; &nbsp; Çetin&#039;e de burdan tekrar varlığına, yardımlarına teşekkür ediyorum.</p>]]></description>
			<author><![CDATA[dummy@example.com (TimuçiN)]]></author>
			<pubDate>Thu, 20 Aug 2009 07:25:22 +0000</pubDate>
			<guid>http://www.fox4um.com/post/7889/#p7889</guid>
		</item>
		<item>
			<title><![CDATA[.NET ve VFP Karşılaştırması.]]></title>
			<link>http://www.fox4um.com/post/7888/#p7888</link>
			<description><![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>]]></description>
			<author><![CDATA[dummy@example.com (ugurlu2001)]]></author>
			<pubDate>Thu, 20 Aug 2009 06:01:50 +0000</pubDate>
			<guid>http://www.fox4um.com/post/7888/#p7888</guid>
		</item>
	</channel>
</rss>

