<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Programlama arşivleri - Keşif Ruhu</title>
	<atom:link href="https://www.kesifruhu.com/tag/programlama/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.kesifruhu.com/tag/programlama/</link>
	<description>Keşfet, Deneyimle, Paylaş</description>
	<lastBuildDate>Tue, 13 May 2025 13:43:31 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>

<image>
	<url>https://www.kesifruhu.com/wp-content/uploads/2024/09/siteico-150x150.png</url>
	<title>Programlama arşivleri - Keşif Ruhu</title>
	<link>https://www.kesifruhu.com/tag/programlama/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>14. Sınıf ve Nesne Kavramı (OOP Temelleri)</title>
		<link>https://www.kesifruhu.com/yazilim/14-sinif-ve-nesne-kavrami-oop-temelleri/</link>
					<comments>https://www.kesifruhu.com/yazilim/14-sinif-ve-nesne-kavrami-oop-temelleri/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Tue, 13 May 2025 13:43:30 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Sınıf]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=603</guid>

					<description><![CDATA[<p>14. Sınıf ve Nesne Kavramı (OOP Temelleri) C# programlama dilinin en temel ve güçlü özelliklerinden biri, Nesne Yönelimli Programlama (OOP) paradigmasıdır. OOP, yazılım geliştirme sürecini <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/14-sinif-ve-nesne-kavrami-oop-temelleri/" title="14. Sınıf ve Nesne Kavramı (OOP Temelleri)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/14-sinif-ve-nesne-kavrami-oop-temelleri/">14. Sınıf ve Nesne Kavramı (OOP Temelleri)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/25626437/pexels-photo-25626437.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">14. Sınıf ve Nesne Kavramı (OOP Temelleri)</h1>



<p>C# programlama dilinin en temel ve güçlü özelliklerinden biri, <strong>Nesne Yönelimli Programlama (OOP)</strong> paradigmasıdır. OOP, yazılım geliştirme sürecini daha düzenli, modüler ve yeniden kullanılabilir hale getirmeyi amaçlar. Bu yaklaşımın merkezinde ise <em>sınıf</em> ve <em>nesne</em> kavramları yer alır. Bu yazıda, C# dilinde sınıf ve nesne kavramlarını detaylı bir şekilde inceleyeceğiz.</p>



<h2 class="wp-block-heading">Sınıf (Class) Nedir?</h2>



<p>Sınıf, bir nesnenin şablonu veya planıdır. Başka bir deyişle, bir nesnenin hangi özelliklere (alanlar veya değişkenler) ve davranışlara (metotlar) sahip olacağını tanımlar. Sınıf, gerçek dünyadaki nesnelerin veya kavramların soyut bir temsilidir.</p>



<p>C# dilinde bir sınıf tanımlamak için `class` anahtar kelimesi kullanılır. Sınıfın içinde, o sınıfa ait alanlar (fields) ve metotlar (methods) tanımlanır.</p>



<h3 class="wp-block-heading">Sınıf Tanımlama Sözdizimi</h3>



<p>Bir sınıfın temel yapısı aşağıdaki gibidir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
class SinifAdi
{
    // Alanlar (Fields)
    // Metotlar (Methods)
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">SinifAdi</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #6A9955">    // Alanlar (Fields)</span></span>
<span class="line"><span style="color: #6A9955">    // Metotlar (Methods)</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p><strong>Örnek:</strong></p>



<p>Bir `Araba` sınıfı tanımlayalım. Bu sınıfın `Marka`, `Model`, `Renk` gibi alanları ve `Hizlan`, `Yavasla` gibi metotları olsun.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
class Araba
{
    public string Marka;
    public string Model;
    public string Renk;

    public void Hizlan()
    {
        Console.WriteLine(&quot;Araba hızlanıyor!&quot;);
    }

    public void Yavasla()
    {
        Console.WriteLine(&quot;Araba yavaşlıyor!&quot;);
    }
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Araba</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Marka</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Model</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Renk</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Hizlan</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Araba hızlanıyor!&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Yavasla</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Araba yavaşlıyor!&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, `Araba` sınıfının temel özelliklerini ve davranışlarını tanımladık. Ancak, bu sınıf henüz somut bir araba değildir. Somut bir araba yaratmak için, bu sınıftan bir nesne (instance) oluşturmamız gerekir.</p>



<h2 class="wp-block-heading">Nesne (Object) Nedir?</h2>



<p>Nesne, bir sınıfın somut bir örneğidir. Sınıf bir plan veya şablon iken, nesne bu planın hayata geçirilmiş halidir. Bir sınıftan birden fazla nesne oluşturulabilir. Her nesne, sınıfın tanımladığı özelliklere ve davranışlara sahiptir, ancak her nesnenin özellikleri farklı değerlere sahip olabilir.</p>



<h3 class="wp-block-heading">Nesne Oluşturma</h3>



<p>C# dilinde bir nesne oluşturmak için `new` anahtar kelimesi kullanılır. `new` anahtar kelimesi, bellekte nesne için yer ayırır ve sınıfın kurucu metodunu (constructor) çağırır.</p>



<p><strong>Örnek:</strong></p>



<p>`Araba` sınıfından bir nesne oluşturalım:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
Araba benimArabam = new Araba();
benimArabam.Marka = &quot;Mercedes&quot;;
benimArabam.Model = &quot;C180&quot;;
benimArabam.Renk = &quot;Beyaz&quot;;

Console.WriteLine(&quot;Arabanın markası: &quot; + benimArabam.Marka);
benimArabam.Hizlan();
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #4EC9B0">Araba</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Araba</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Marka</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Mercedes&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Model</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;C180&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Renk</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Beyaz&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Arabanın markası: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Marka</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">Hizlan</span><span style="color: #D4D4D4">();</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, `benimArabam` adında bir `Araba` nesnesi oluşturduk ve bu nesnenin `Marka`, `Model` ve `Renk` özelliklerine değerler atadık. Ardından, nesnenin `Hizlan` metodunu çağırdık.</p>



<h2 class="wp-block-heading">OOP&#8217;nin Temel Prensipleri</h2>



<p>Sınıf ve nesne kavramları, Nesne Yönelimli Programlama&#8217;nın temelini oluşturur. OOP&#8217;nin diğer önemli prensipleri şunlardır:</p>



<ul class="wp-block-list">
<li><strong>Kapsülleme (Encapsulation):</strong> Verileri ve metotları bir arada tutarak, verilerin dışarıdan doğrudan erişilmesini engeller. Bu, veri güvenliğini artırır ve kodun daha modüler olmasını sağlar.</li>



<li><strong>Miras (Inheritance):</strong> Bir sınıfın (alt sınıf veya türetilmiş sınıf) başka bir sınıftan (üst sınıf veya temel sınıf) özelliklerini ve davranışlarını devralmasını sağlar. Bu, kodun yeniden kullanılabilirliğini artırır ve hiyerarşik bir yapı oluşturmayı kolaylaştırır.</li>



<li><strong>Çok Biçimlilik (Polymorphism):</strong> Bir nesnenin farklı şekillerde davranabilmesini sağlar. Bu, kodun daha esnek ve genişletilebilir olmasını sağlar.</li>



<li><strong>Soyutlama (Abstraction):</strong> Karmaşık sistemlerin temel özelliklerini ortaya çıkararak, gereksiz detayları gizler. Bu, kodun daha anlaşılır ve yönetilebilir olmasını sağlar.</li>
</ul>



<h2 class="wp-block-heading">Sınıf ve Nesne Kullanımının Avantajları</h2>



<p>C# dilinde sınıf ve nesne kavramlarını kullanarak program yazmanın birçok avantajı vardır:</p>



<ul class="wp-block-list">
<li><strong>Modülerlik:</strong> Kodun daha küçük ve yönetilebilir parçalara ayrılmasını sağlar.</li>



<li><strong>Yeniden Kullanılabilirlik:</strong> Sınıflar ve nesneler, farklı projelerde tekrar tekrar kullanılabilir.</li>



<li><strong>Bakım Kolaylığı:</strong> Kodun daha düzenli ve anlaşılır olmasını sağlar, bu da hataları bulmayı ve düzeltmeyi kolaylaştırır.</li>



<li><strong>Genişletilebilirlik:</strong> Yeni özellikler eklemek veya mevcut özellikleri değiştirmek daha kolaydır.</li>
</ul>



<h2 class="wp-block-heading">Sonuç</h2>



<p>C# programlama dilinde sınıf ve nesne kavramları, modern yazılım geliştirme için vazgeçilmezdir. Bu kavramları anlamak ve doğru bir şekilde kullanmak, daha sağlam, ölçeklenebilir ve bakımı kolay uygulamalar geliştirmemizi sağlar. Nesne Yönelimli Programlama prensiplerini özümseyerek, yazılım geliştirme sürecini daha verimli ve keyifli hale getirebiliriz.</p>



<p>Umarım bu makale, C# dilinde sınıf ve nesne kavramlarını anlamanıza yardımcı olmuştur. Başarılar dilerim!</p>
<p><a href="https://www.kesifruhu.com/yazilim/14-sinif-ve-nesne-kavrami-oop-temelleri/">14. Sınıf ve Nesne Kavramı (OOP Temelleri)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/14-sinif-ve-nesne-kavrami-oop-temelleri/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>6. Koşullu İfadeler (if-else, switch-case)</title>
		<link>https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case-2/</link>
					<comments>https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case-2/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Mon, 05 May 2025 10:40:24 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[if-else]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[switch-case]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=581</guid>

					<description><![CDATA[<p>C# Programlama Dilinde Koşullu İfadeler (if-else, switch-case) C# programlama dilinde, programların akışını kontrol etmek ve farklı durumlara göre farklı işlemler gerçekleştirmek için koşullu ifadeler kullanılır. <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case-2/" title="6. Koşullu İfadeler (if-else, switch-case)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case-2/">6. Koşullu İfadeler (if-else, switch-case)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img decoding="async" src="https://images.pexels.com/photos/577585/pexels-photo-577585.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">C# Programlama Dilinde Koşullu İfadeler (if-else, switch-case)</h1>



<p>C# programlama dilinde, programların akışını kontrol etmek ve farklı durumlara göre farklı işlemler gerçekleştirmek için <strong>koşullu ifadeler</strong> kullanılır. Bu ifadeler, programın karar verme yeteneğini artırır ve daha karmaşık ve esnek uygulamalar geliştirmeyi mümkün kılar. En sık kullanılan koşullu ifadeler <code>if-else</code> ve <code>switch-case</code> yapısıdır. Bu makalede, bu yapıları detaylı bir şekilde inceleyeceğiz.</p>



<h2 class="wp-block-heading">if-else İfadeleri</h2>



<p><code>if-else</code> ifadesi, bir koşulun doğru (<code>true</code>) veya yanlış (<code>false</code>) olmasına göre farklı kod bloklarını çalıştırmak için kullanılır. Temel sözdizimi şu şekildedir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
if (koşul)
{
    // Koşul doğru ise çalışacak kod bloğu
}
else
{
    // Koşul yanlış ise çalışacak kod bloğu
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">koşul</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #6A9955">    // Koşul doğru ise çalışacak kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">else</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #6A9955">    // Koşul yanlış ise çalışacak kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Burada <code>koşul</code>, bir boolean ifade olmalıdır. Eğer koşul doğru ise, <code>if</code> bloğu içindeki kod çalışır; aksi takdirde, eğer varsa <code>else</code> bloğu içindeki kod çalışır.</p>



<h3 class="wp-block-heading">if İfadesi</h3>



<p>Sadece bir koşulun doğruluğunu kontrol etmek ve eğer doğruysa bir kod bloğunu çalıştırmak istiyorsak, sadece <code>if</code> ifadesini kullanabiliriz. Örneğin:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
int sayi = 10;
if (sayi &gt; 0)
{
    Console.WriteLine(&quot;Sayı pozitiftir.&quot;);
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> &gt; </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Sayı pozitiftir.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>sayi</code> değişkeninin değeri 0&#8217;dan büyükse, ekrana &#8220;Sayı pozitiftir.&#8221; yazdırılır.</p>



<h3 class="wp-block-heading">else İfadesi</h3>



<p>Bir koşulun yanlış olması durumunda da bir işlem yapmak istiyorsak, <code>else</code> ifadesini kullanırız. Örneğin:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
int sayi = -5;
if (sayi &gt; 0)
{
    Console.WriteLine(&quot;Sayı pozitiftir.&quot;);
}
else
{
    Console.WriteLine(&quot;Sayı negatif veya sıfırdır.&quot;);
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> = -</span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> &gt; </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Sayı pozitiftir.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">else</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Sayı negatif veya sıfırdır.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>sayi</code> değişkeninin değeri 0&#8217;dan büyük değilse, ekrana &#8220;Sayı negatif veya sıfırdır.&#8221; yazdırılır.</p>



<h3 class="wp-block-heading">else if İfadesi</h3>



<p>Birden fazla koşulu kontrol etmek ve farklı koşullara göre farklı işlemler yapmak istiyorsak, <code>else if</code> ifadesini kullanırız. Örneğin:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
int not = 75;

if (not &gt;= 90)
{
    Console.WriteLine(&quot;A&quot;);
}
else if (not &gt;= 80)
{
    Console.WriteLine(&quot;B&quot;);
}
else if (not &gt;= 70)
{
    Console.WriteLine(&quot;C&quot;);
}
else if (not &gt;= 60)
{
    Console.WriteLine(&quot;D&quot;);
}
else
{
    Console.WriteLine(&quot;F&quot;);
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">not</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">75</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">not</span><span style="color: #D4D4D4"> &gt;= </span><span style="color: #B5CEA8">90</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;A&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">else</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">not</span><span style="color: #D4D4D4"> &gt;= </span><span style="color: #B5CEA8">80</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;B&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">else</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">not</span><span style="color: #D4D4D4"> &gt;= </span><span style="color: #B5CEA8">70</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;C&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">else</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">not</span><span style="color: #D4D4D4"> &gt;= </span><span style="color: #B5CEA8">60</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;D&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #C586C0">else</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;F&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>not</code> değişkeninin değerine göre farklı notlar (A, B, C, D, F) ekrana yazdırılır. <code>else if</code> zinciri, yukarıdan aşağıya doğru koşulları kontrol eder ve ilk doğru olan koşulun bloğunu çalıştırır. Eğer hiçbir koşul doğru değilse, en sondaki <code>else</code> bloğu çalışır.</p>



<h2 class="wp-block-heading">switch-case İfadesi</h2>



<p><code>switch-case</code> ifadesi, bir değişkenin değerine göre farklı kod bloklarını çalıştırmak için kullanılır. Özellikle, bir değişkenin birden fazla olası değeri olduğunda ve her bir değer için farklı bir işlem yapmak gerektiğinde kullanışlıdır. Temel sözdizimi şu şekildedir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
switch (değişken)
{
    case değer1:
        // değişken değeri değer1 ise çalışacak kod bloğu
        break;
    case değer2:
        // değişken değeri değer2 ise çalışacak kod bloğu
        break;
    ...
    default:
        // değişken değeri hiçbir case ile eşleşmezse çalışacak kod bloğu
        break;
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #C586C0">switch</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">değişken</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">değer1</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #6A9955">        // değişken değeri değer1 ise çalışacak kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">değer2</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #6A9955">        // değişken değeri değer2 ise çalışacak kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    ...</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">default</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #6A9955">        // değişken değeri hiçbir case ile eşleşmezse çalışacak kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Burada <code>değişken</code>, bir ifade veya değişken olabilir. <code>case</code> etiketleri, değişkenin olası değerlerini temsil eder. Eğer değişkenin değeri bir <code>case</code> etiketiyle eşleşirse, o <code>case</code> bloğu içindeki kod çalışır. <code>break</code> ifadesi, <code>switch</code> ifadesinden çıkılmasını sağlar. Eğer <code>break</code> ifadesi kullanılmazsa, eşleşen <code>case</code> bloğundan sonraki <code>case</code> blokları da çalıştırılır (fall-through). <code>default</code> etiketi, değişkenin değeri hiçbir <code>case</code> etiketiyle eşleşmezse çalışacak olan kod bloğunu belirtir.</p>



<p>Örneğin:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
int gun = 3;
string gunAdi;

switch (gun)
{
    case 1:
        gunAdi = &quot;Pazartesi&quot;;
        break;
    case 2:
        gunAdi = &quot;Salı&quot;;
        break;
    case 3:
        gunAdi = &quot;Çarşamba&quot;;
        break;
    case 4:
        gunAdi = &quot;Perşembe&quot;;
        break;
    case 5:
        gunAdi = &quot;Cuma&quot;;
        break;
    case 6:
        gunAdi = &quot;Cumartesi&quot;;
        break;
    case 7:
        gunAdi = &quot;Pazar&quot;;
        break;
    default:
        gunAdi = &quot;Geçersiz gün numarası&quot;;
        break;
}

Console.WriteLine(&quot;Gün: &quot; + gunAdi);
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">gun</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #C586C0">switch</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">gun</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Pazartesi&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Salı&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Çarşamba&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">4</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Perşembe&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Cuma&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">6</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Cumartesi&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">7</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Pazar&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">default</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Geçersiz gün numarası&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Gün: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">gunAdi</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Bu örnekte, <code>gun</code> değişkeninin değerine göre haftanın gün adı belirlenir ve ekrana yazdırılır. Eğer <code>gun</code> değişkeninin değeri 1 ile 7 arasında değilse, <code>default</code> bloğu çalışır ve ekrana &#8220;Geçersiz gün numarası&#8221; yazdırılır.</p>



<h2 class="wp-block-heading">Koşullu İfadelerin Önemi</h2>



<p>Koşullu ifadeler, programlama dillerinin temel yapı taşlarından biridir ve programların karar verme yeteneğini sağlar. Bu sayede, programlar farklı durumlara uyum sağlayabilir, kullanıcı girdilerine göre farklı işlemler gerçekleştirebilir ve daha karmaşık algoritmalar uygulayabilir. <code>if-else</code> ve <code>switch-case</code> ifadeleri, C# programlama dilinde en sık kullanılan koşullu ifadelerdir ve programların akışını kontrol etmek için vazgeçilmez araçlardır.</p>



<p>Doğru ve etkili koşullu ifadeler kullanarak, daha okunabilir, bakımı kolay ve hatasız kodlar yazabilirsiniz. Bu nedenle, koşullu ifadelerin kullanımını iyi anlamak ve pratik yapmak, başarılı bir C# programcısı olmak için önemlidir.</p>



<h2 class="wp-block-heading">Sonuç</h2>



<p>Bu makalede, C# programlama dilinde kullanılan koşullu ifadelerden <code>if-else</code> ve <code>switch-case</code> yapılarını detaylı bir şekilde inceledik. Bu yapıların nasıl kullanıldığını, ne zaman tercih edildiğini ve programların akışını nasıl kontrol ettiğini öğrendik. Koşullu ifadeler, programlama becerilerinizi geliştirmenize ve daha karmaşık uygulamalar oluşturmanıza yardımcı olacaktır.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Koşullu ifadeler, programların karar verme mekanizmalarını oluşturur ve onları daha akıllı hale getirir.&#8221; &#8211; Bilge Programcı</p>
</blockquote>



<p></p>
<p><a href="https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case-2/">6. Koşullu İfadeler (if-else, switch-case)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>2. C# ile İlk Programınızı Yazmak (Hello World)</title>
		<link>https://www.kesifruhu.com/yazilim/2-c-ile-ilk-programinizi-yazmak-hello-world/</link>
					<comments>https://www.kesifruhu.com/yazilim/2-c-ile-ilk-programinizi-yazmak-hello-world/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Tue, 29 Apr 2025 08:18:52 +0000</pubDate>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Hello World]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=567</guid>

					<description><![CDATA[<p>2. C# ile İlk Programınızı Yazmak (Hello World) C# programlama diline hoş geldiniz! Bu makalede, C# ile ilk programınızı nasıl yazacağınızı adım adım öğreneceksiniz. Geleneksel <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/2-c-ile-ilk-programinizi-yazmak-hello-world/" title="2. C# ile İlk Programınızı Yazmak (Hello World)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/2-c-ile-ilk-programinizi-yazmak-hello-world/">2. C# ile İlk Programınızı Yazmak (Hello World)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/249798/pexels-photo-249798.png?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">2. C# ile İlk Programınızı Yazmak (Hello World)</h1>



<p>C# programlama diline hoş geldiniz! Bu makalede, C# ile ilk programınızı nasıl yazacağınızı adım adım öğreneceksiniz. Geleneksel olarak, programlamaya yeni başlayanlar için ilk program genellikle ekrana &#8220;Hello, World!&#8221; yazdırmaktır. Bu basit program, dilin temel sözdizimini anlamanıza ve geliştirme ortamınızı doğru şekilde kurmanıza yardımcı olur. Şimdi, C# ile &#8220;Hello, World!&#8221; programını yazmaya başlayalım.</p>



<h2 class="wp-block-heading">Gerekli Araçlar ve Ortam Hazırlığı</h2>



<p>C# programlama yapabilmek için öncelikle bazı araçlara ihtiyacınız olacak:</p>



<ul class="wp-block-list">
<li><strong>.NET SDK (Software Development Kit):</strong> C# kodunu derlemek ve çalıştırmak için gereklidir. En güncel sürümünü <a href="https://dotnet.microsoft.com/download">Microsoft&#8217;un web sitesinden</a> indirebilirsiniz.</li>



<li><strong>Bir Metin Editörü veya IDE (Integrated Development Environment):</strong> Kod yazmak için bir metin editörü (örn., VS Code, Sublime Text) veya bir IDE (örn., Visual Studio, JetBrains Rider) kullanabilirsiniz. IDE&#8217;ler genellikle kod tamamlama, hata ayıklama ve diğer geliştirme araçlarını içerir.</li>
</ul>



<p>Bu makalede, Visual Studio Code&#8217;un (VS Code) yaygın olarak kullanılan ve platform bağımsız bir seçenek olması nedeniyle kullanılacağını varsayacağız. VS Code&#8217;u <a href="https://code.visualstudio.com/download">resmi web sitesinden</a> indirebilirsiniz. VS Code&#8217;u kurduktan sonra, C# desteği için C# eklentisini yüklemeniz gerekecektir.</p>



<h2 class="wp-block-heading">&#8220;Hello, World!&#8221; Programını Yazma</h2>



<p>Artık geliştirme ortamınız hazır olduğuna göre, ilk C# programımızı yazabiliriz. Aşağıdaki adımları izleyin:</p>



<ol class="wp-block-list">
<li><strong>Yeni Bir Dosya Oluşturun:</strong> VS Code&#8217;u açın ve yeni bir dosya oluşturun. Dosyayı <code>HelloWorld.cs</code> olarak kaydedin. <code>.cs</code> uzantısı, bu dosyanın bir C# kaynak kodu dosyası olduğunu belirtir.</li>



<li><strong>Kodu Yazın:</strong> Aşağıdaki C# kodunu <code>HelloWorld.cs</code> dosyasına yazın:</li>
</ol>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">C#</span><span role="button" tabindex="0" data-code="
using System;

namespace HelloWorld
{
 class Program
 {
 static void Main(string[] args)
 {
 Console.WriteLine(&quot;Hello, World!&quot;);
 }
 }
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #C586C0">using</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">System</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">namespace</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">HelloWorld</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Program</span></span>
<span class="line"><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Main</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">Console</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">WriteLine</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hello, World!&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4"> }</span></span>
<span class="line"><span style="color: #D4D4D4"> }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Şimdi bu kodu satır satır inceleyelim:</p>



<h3 class="wp-block-heading">using System;</h3>



<p>Bu satır, <code>System</code> ad alanını (namespace) programa dahil eder. <code>System</code> ad alanı, temel sınıfları ve C# programlarında sıkça kullanılan işlevleri içerir. Örneğin, <code>Console.WriteLine</code> metodu bu ad alanı içinde tanımlanmıştır.</p>



<h3 class="wp-block-heading">namespace HelloWorld</h3>



<p><code>namespace</code> anahtar kelimesi, kodunuzu mantıksal olarak gruplandırmak için kullanılır. Bu örnekte, tüm kodumuz <code>HelloWorld</code> ad alanı içinde yer almaktadır. Ad alanları, büyük projelerde kodun düzenlenmesine ve çakışmaların önlenmesine yardımcı olur.</p>



<h3 class="wp-block-heading">class Program</h3>



<p>C# bir nesne yönelimli (object-oriented) dildir ve her şey sınıflar (class) içinde tanımlanır. Bu satır, <code>Program</code> adında bir sınıf tanımlar. Programımızın ana işlevselliği bu sınıf içinde yer alacaktır.</p>



<h3 class="wp-block-heading">static void Main(string[] args)</h3>



<p>Bu, programımızın giriş noktasıdır (entry point). C# programı çalıştırıldığında, ilk olarak bu metot çalıştırılır. <code>static</code> anahtar kelimesi, bu metodun sınıfın bir örneği oluşturulmadan çağrılabileceğini belirtir. <code>void</code> anahtar kelimesi, bu metodun herhangi bir değer döndürmediğini gösterir. <code>string[] args</code> parametresi, komut satırından programa geçirilen argümanları temsil eder.</p>



<h3 class="wp-block-heading">Console.WriteLine(&#8220;Hello, World!&#8221;);</h3>



<p>Bu satır, <code>Console</code> sınıfının <code>WriteLine</code> metodunu kullanarak ekrana &#8220;Hello, World!&#8221; metnini yazdırır. <code>Console</code> sınıfı, konsol ile ilgili işlemleri gerçekleştirmek için kullanılır. <code>WriteLine</code> metodu, belirtilen metni konsola yazdırır ve ardından bir sonraki satıra geçer.</p>



<h2 class="wp-block-heading">Programı Derleme ve Çalıştırma</h2>



<p>Kodu yazdıktan sonra, programı derlememiz ve çalıştırmamız gerekir. VS Code&#8217;da, bir terminal açarak (View -&gt; Terminal) aşağıdaki komutları kullanabilirsiniz:</p>



<ul class="wp-block-list">
<li><strong>Derleme:</strong> <code>dotnet build</code> komutunu kullanarak programı derleyin. Bu komut, <code>HelloWorld.cs</code> dosyasını derleyerek yürütülebilir bir dosya oluşturur.</li>
</ul>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">PowerShell</span><span role="button" tabindex="0" data-code="
dotnet build
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #D4D4D4">dotnet build</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<ul class="wp-block-list">
<li><strong>Çalıştırma:</strong> <code>dotnet run</code> komutunu kullanarak programı çalıştırın. Bu komut, derlenmiş olan programı yürütür ve &#8220;Hello, World!&#8221; metnini konsola yazdırır.</li>
</ul>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">PowerShell</span><span role="button" tabindex="0" data-code="
dotnet run
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #D4D4D4">dotnet run</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Eğer her şey yolunda gittiyse, terminalde &#8220;Hello, World!&#8221; yazısını görmelisiniz. Tebrikler, ilk C# programınızı başarıyla yazdınız ve çalıştırdınız!</p>



<h2 class="wp-block-heading">Özet</h2>



<p>Bu makalede, C# ile ilk programınızı nasıl yazacağınızı öğrendiniz. &#8220;Hello, World!&#8221; programı, C# dilinin temel sözdizimini anlamanıza ve geliştirme ortamınızı doğru şekilde kurmanıza yardımcı oldu. Artık daha karmaşık programlar yazmaya başlayabilirsiniz. C# dünyasına adım attığınız için tebrikler ve başarılar dileriz!</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Programlamaya başlamak her zaman heyecan vericidir. &#8216;Hello, World!&#8217; programı, sadece bir başlangıçtır. Sürekli öğrenmeye ve pratik yapmaya devam ederek, harika şeyler başarabilirsiniz.&#8221; &#8211; Bir Yazılım Geliştirici</p>
</blockquote>



<p>Unutmayın, pratik yapmak ve sürekli öğrenmek, başarılı bir yazılımcı olmanın anahtarıdır. C# programlama dilinde kendinizi geliştirmek için çeşitli kaynaklardan (kitaplar, online kurslar, dokümanlar) yararlanabilirsiniz.</p>
<p><a href="https://www.kesifruhu.com/yazilim/2-c-ile-ilk-programinizi-yazmak-hello-world/">2. C# ile İlk Programınızı Yazmak (Hello World)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/2-c-ile-ilk-programinizi-yazmak-hello-world/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>13.Dosya İşlemleri (File I/O) – Temel Seviye</title>
		<link>https://www.kesifruhu.com/yazilim/13-dosya-islemleri-file-i-o-temel-seviye/</link>
					<comments>https://www.kesifruhu.com/yazilim/13-dosya-islemleri-file-i-o-temel-seviye/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Thu, 24 Apr 2025 16:01:43 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[File I/O]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[TextFile]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=554</guid>

					<description><![CDATA[<p>13. Dosya İşlemleri (File I/O) – Temel Seviye Delphi programlama dilinde dosya işlemleri (File I/O), programınızın dış dünya ile iletişim kurmasını sağlayan temel bir yetenektir. <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/13-dosya-islemleri-file-i-o-temel-seviye/" title="13.Dosya İşlemleri (File I/O) – Temel Seviye">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/13-dosya-islemleri-file-i-o-temel-seviye/">13.Dosya İşlemleri (File I/O) – Temel Seviye</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/2644597/pexels-photo-2644597.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">13. Dosya İşlemleri (File I/O) – Temel Seviye</h1>



<p>Delphi programlama dilinde dosya işlemleri (File I/O), programınızın dış dünya ile iletişim kurmasını sağlayan temel bir yetenektir. Bu, verilerin kalıcı olarak saklanması, yapılandırılmış verilerin okunması, log dosyalarının oluşturulması veya farklı uygulamalar arasında veri alışverişi gibi birçok senaryoda kullanılır. Bu makalede, Delphi&#8217;de dosya işlemlerinin temel seviyesine odaklanacağız ve dosya okuma, yazma ve yönetme konularını ele alacağız.</p>



<h2 class="wp-block-heading">Dosya İşlemlerine Giriş</h2>



<p>Dosya işlemleri, programınızın disk üzerindeki dosyalarla etkileşim kurmasını içerir. Bu etkileşim, dosyaları açma, okuma, yazma, kapatma ve silme gibi işlemleri kapsar. Delphi, dosya işlemlerini gerçekleştirmek için çeşitli fonksiyonlar ve nesneler sunar.</p>



<h3 class="wp-block-heading">Dosya Türleri</h3>



<p>Delphi&#8217;de, temelde iki tür dosya bulunur:</p>



<ul class="wp-block-list">
<li><strong>Metin Dosyaları (Text Files):</strong> ASCII veya Unicode karakterler içeren dosyalardır. İnsan tarafından okunabilir formatta veri saklarlar.</li>



<li><strong>İkili Dosyalar (Binary Files):</strong> Herhangi bir türde veri (sayılar, yapılar, nesneler vb.) içerebilen dosyalardır. Genellikle insan tarafından doğrudan okunamazlar.</li>
</ul>



<h2 class="wp-block-heading">Metin Dosyası İşlemleri</h2>



<p>Metin dosyaları, genellikle yapılandırılmış verileri saklamak ve işlemek için kullanılır. Delphi&#8217;de metin dosyalarıyla çalışmak için `TextFile` türünü ve ilgili fonksiyonları kullanırız.</p>



<h3 class="wp-block-heading">Dosya Açma ve Kapama</h3>



<p>Bir metin dosyasını açmak için `AssignFile`, `Reset` (okuma için) veya `Rewrite` (yazma için) fonksiyonları kullanılır. Dosya işlemleri tamamlandıktan sonra `CloseFile` fonksiyonu ile dosya kapatılmalıdır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
var
  MyFile: TextFile;
begin
  AssignFile(MyFile, 'data.txt');
  Rewrite(MyFile); // Yeni bir dosya oluştur veya varsa üzerine yaz
  // Dosyaya yazma işlemleri
  CloseFile(MyFile);
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  MyFile: TextFile;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  AssignFile(MyFile, </span><span style="color: #CE9178">&#39;data.txt&#39;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  Rewrite(MyFile); </span><span style="color: #6A9955">// Yeni bir dosya oluştur veya varsa üzerine yaz</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Dosyaya yazma işlemleri</span></span>
<span class="line"><span style="color: #D4D4D4">  CloseFile(MyFile);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Okuma için ise:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
var
  MyFile: TextFile;
begin
  AssignFile(MyFile, 'data.txt');
  Reset(MyFile); // Dosyayı okuma modunda aç
  // Dosyadan okuma işlemleri
  CloseFile(MyFile);
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  MyFile: TextFile;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  AssignFile(MyFile, </span><span style="color: #CE9178">&#39;data.txt&#39;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  Reset(MyFile); </span><span style="color: #6A9955">// Dosyayı okuma modunda aç</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Dosyadan okuma işlemleri</span></span>
<span class="line"><span style="color: #D4D4D4">  CloseFile(MyFile);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Dosyaya Yazma</h3>



<p>Metin dosyasına veri yazmak için `Write` veya `WriteLn` fonksiyonları kullanılır. `Write`, veriyi olduğu gibi dosyaya yazarken, `WriteLn` veriyi yazdıktan sonra bir satır sonu karakteri ekler.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
var
  MyFile: TextFile;
begin
  AssignFile(MyFile, 'output.txt');
  Rewrite(MyFile);
  WriteLn(MyFile, 'Merhaba, Dünya!');
  WriteLn(MyFile, 'Bu bir Delphi örneğidir.');
  CloseFile(MyFile);
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  MyFile: TextFile;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  AssignFile(MyFile, </span><span style="color: #CE9178">&#39;output.txt&#39;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  Rewrite(MyFile);</span></span>
<span class="line"><span style="color: #D4D4D4">  WriteLn(MyFile, </span><span style="color: #CE9178">&#39;Merhaba, Dünya!&#39;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  WriteLn(MyFile, </span><span style="color: #CE9178">&#39;Bu bir Delphi örneğidir.&#39;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  CloseFile(MyFile);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Dosyadan Okuma</h3>



<p>Metin dosyasından veri okumak için `Read` veya `ReadLn` fonksiyonları kullanılır. `Read`, belirli sayıda karakteri okurken, `ReadLn` bir satır sonuna kadar okur.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
var
  MyFile: TextFile;
  Line: string;
begin
  AssignFile(MyFile, 'output.txt');
  Reset(MyFile);
  while not Eof(MyFile) do
  begin
    ReadLn(MyFile, Line);
    ShowMessage(Line); // Okunan satırı göster
  end;
  CloseFile(MyFile);
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  MyFile: TextFile;</span></span>
<span class="line"><span style="color: #D4D4D4">  Line: </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  AssignFile(MyFile, </span><span style="color: #CE9178">&#39;output.txt&#39;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  Reset(MyFile);</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #C586C0">while</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">not</span><span style="color: #D4D4D4"> Eof(MyFile) </span><span style="color: #C586C0">do</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">    ReadLn(MyFile, Line);</span></span>
<span class="line"><span style="color: #D4D4D4">    ShowMessage(Line); </span><span style="color: #6A9955">// Okunan satırı göster</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  CloseFile(MyFile);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>`Eof(MyFile)` fonksiyonu, dosyanın sonuna gelinip gelinmediğini kontrol eder. Bu, döngü içinde dosya okurken önemlidir.</p>



<h2 class="wp-block-heading">İkili Dosya İşlemleri</h2>



<p>İkili dosyalar, yapılandırılmış verileri daha verimli bir şekilde saklamak için kullanılır. Delphi&#8217;de ikili dosyalarla çalışmak için `File` türünü ve ilgili fonksiyonları kullanırız.</p>



<h3 class="wp-block-heading">Dosya Açma ve Kapama (İkili)</h3>



<p>İkili dosyaları açmak için `AssignFile`, `Reset` (okuma için) veya `Rewrite` (yazma için) fonksiyonları kullanılır. Ancak, ikili dosyalar için `File` türü kullanılır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
var
  MyFile: File;
begin
  AssignFile(MyFile, 'data.bin');
  Rewrite(MyFile, 1); // Boyut parametresi (genellikle 1 kullanılır)
  // Dosyaya yazma işlemleri
  CloseFile(MyFile);
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  MyFile: </span><span style="color: #569CD6">File</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  AssignFile(MyFile, </span><span style="color: #CE9178">&#39;data.bin&#39;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  Rewrite(MyFile, </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Boyut parametresi (genellikle 1 kullanılır)</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Dosyaya yazma işlemleri</span></span>
<span class="line"><span style="color: #D4D4D4">  CloseFile(MyFile);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>Okuma için:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
var
  MyFile: File;
begin
  AssignFile(MyFile, 'data.bin');
  Reset(MyFile, 1); // Boyut parametresi (genellikle 1 kullanılır)
  // Dosyadan okuma işlemleri
  CloseFile(MyFile);
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  MyFile: </span><span style="color: #569CD6">File</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  AssignFile(MyFile, </span><span style="color: #CE9178">&#39;data.bin&#39;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  Reset(MyFile, </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Boyut parametresi (genellikle 1 kullanılır)</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Dosyadan okuma işlemleri</span></span>
<span class="line"><span style="color: #D4D4D4">  CloseFile(MyFile);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Dosyaya Yazma (İkili)</h3>



<p>İkili dosyaya veri yazmak için `BlockWrite` fonksiyonu kullanılır. Bu fonksiyon, bir bellek bloğunu doğrudan dosyaya yazar.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
var
  MyFile: File;
  Data: array[0..9] of Integer;
  i: Integer;
begin
  AssignFile(MyFile, 'data.bin');
  Rewrite(MyFile, SizeOf(Integer));

  // Veri doldur
  for i := 0 to 9 do
    Data[i] := i * 10;

  BlockWrite(MyFile, Data, SizeOf(Data));
  CloseFile(MyFile);
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  MyFile: </span><span style="color: #569CD6">File</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  Data: </span><span style="color: #569CD6">array</span><span style="color: #D4D4D4">[</span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">.</span><span style="color: #B5CEA8">.9</span><span style="color: #D4D4D4">] </span><span style="color: #569CD6">of</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  i: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  AssignFile(MyFile, </span><span style="color: #CE9178">&#39;data.bin&#39;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  Rewrite(MyFile, SizeOf(</span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">));</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Veri doldur</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #C586C0">for</span><span style="color: #D4D4D4"> i := </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">to</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">9</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">do</span></span>
<span class="line"><span style="color: #D4D4D4">    Data[i] := i * </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  BlockWrite(MyFile, Data, SizeOf(Data));</span></span>
<span class="line"><span style="color: #D4D4D4">  CloseFile(MyFile);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Dosyadan Okuma (İkili)</h3>



<p>İkili dosyadan veri okumak için `BlockRead` fonksiyonu kullanılır. Bu fonksiyon, dosyadan bir bellek bloğunu okur.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
var
  MyFile: File;
  Data: array[0..9] of Integer;
  i: Integer;
  BytesRead: Integer;
begin
  AssignFile(MyFile, 'data.bin');
  Reset(MyFile, SizeOf(Integer));

  BlockRead(MyFile, Data, SizeOf(Data), BytesRead);

  // Okunan veriyi işle
  for i := 0 to 9 do
    ShowMessage(IntToStr(Data[i]));

  CloseFile(MyFile);
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  MyFile: </span><span style="color: #569CD6">File</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  Data: </span><span style="color: #569CD6">array</span><span style="color: #D4D4D4">[</span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">.</span><span style="color: #B5CEA8">.9</span><span style="color: #D4D4D4">] </span><span style="color: #569CD6">of</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  i: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  BytesRead: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  AssignFile(MyFile, </span><span style="color: #CE9178">&#39;data.bin&#39;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  Reset(MyFile, SizeOf(</span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">));</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  BlockRead(MyFile, Data, SizeOf(Data), BytesRead);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Okunan veriyi işle</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #C586C0">for</span><span style="color: #D4D4D4"> i := </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">to</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">9</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">do</span></span>
<span class="line"><span style="color: #D4D4D4">    ShowMessage(IntToStr(Data[i]));</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  CloseFile(MyFile);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>`BlockRead` fonksiyonu, okunan byte sayısını `BytesRead` parametresinde döndürür. Bu, dosyanın sonuna ulaşıldığında veya bir hata oluştuğunda önemlidir.</p>



<h2 class="wp-block-heading">Ek Fonksiyonlar ve Dikkat Edilmesi Gerekenler</h2>



<ul class="wp-block-list">
<li><strong>FileExists(FileName: string): Boolean:</strong> Dosyanın var olup olmadığını kontrol eder.</li>



<li><strong>DeleteFile(FileName: string): Boolean:</strong> Dosyayı siler.</li>



<li><strong>RenameFile(OldName, NewName: string): Boolean:</strong> Dosyanın adını değiştirir.</li>



<li>Dosya işlemlerinde hata kontrolü önemlidir. `IOResult` değişkenini kullanarak hataları kontrol edebilirsiniz.</li>



<li>Dosyaları açarken ve kapatırken dikkatli olun. Açık unutulan dosyalar, kaynak tüketimine ve veri kaybına neden olabilir.</li>
</ul>



<h2 class="wp-block-heading">Sonuç</h2>



<p>Delphi&#8217;de dosya işlemleri, uygulamalarınızın dış dünya ile etkileşim kurmasını sağlayan güçlü bir araçtır. Bu makalede, temel metin ve ikili dosya işlemlerini ele aldık. Bu bilgilerle, kendi uygulamalarınızda dosya okuma, yazma ve yönetme işlemlerini gerçekleştirebilirsiniz. Unutmayın, dosya işlemlerinde dikkatli olmak ve hata kontrolünü ihmal etmemek önemlidir.</p>



<p>Dosya işlemleri konusunu daha derinlemesine incelemek için Delphi&#8217;nin online yardımına ve çeşitli kaynaklara başvurabilirsiniz. Başarılar!</p>



<p><strong>Önemli Not:</strong> Bu makale temel seviyede dosya işlemlerini kapsamaktadır. Daha karmaşık senaryolar için, örneğin veritabanı işlemleri veya ağ üzerinden dosya transferi, daha gelişmiş teknikler ve kütüphaneler kullanmanız gerekebilir.</p>



<p><em>Umarım bu makale Delphi programlama dilinde dosya işlemleri konusunda size yardımcı olmuştur. İyi kodlamalar!</em></p>
<p><a href="https://www.kesifruhu.com/yazilim/13-dosya-islemleri-file-i-o-temel-seviye/">13.Dosya İşlemleri (File I/O) – Temel Seviye</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/13-dosya-islemleri-file-i-o-temel-seviye/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>11.Kayıt Tipleri (Records) ve Sabitler (Const)</title>
		<link>https://www.kesifruhu.com/yazilim/11-kayit-tipleri-records-ve-sabitler-const/</link>
					<comments>https://www.kesifruhu.com/yazilim/11-kayit-tipleri-records-ve-sabitler-const/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Mon, 21 Apr 2025 14:45:47 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Kayıt Tipleri]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Sabitler]]></category>
		<category><![CDATA[Veri Yapıları]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=548</guid>

					<description><![CDATA[<p>11.Kayıt Tipleri (Records) ve Sabitler (Const) Delphi programlama dilinde, veri yapılarını düzenlemek ve programın okunabilirliğini artırmak için çeşitli araçlar bulunur. Bu araçlardan ikisi de kayıt <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/11-kayit-tipleri-records-ve-sabitler-const/" title="11.Kayıt Tipleri (Records) ve Sabitler (Const)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/11-kayit-tipleri-records-ve-sabitler-const/">11.Kayıt Tipleri (Records) ve Sabitler (Const)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/3861972/pexels-photo-3861972.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">11.Kayıt Tipleri (Records) ve Sabitler (Const)</h1>



<p>Delphi programlama dilinde, veri yapılarını düzenlemek ve programın okunabilirliğini artırmak için çeşitli araçlar bulunur. Bu araçlardan ikisi de <strong>kayıt tipleri (records)</strong> ve <strong>sabitler (constants)</strong>&#8216;dir. Bu makalede, kayıt tiplerinin ne olduğunu, nasıl kullanıldığını ve sabitlerin programlamadaki önemini detaylı bir şekilde inceleyeceğiz.</p>



<h2 class="wp-block-heading">Kayıt Tipleri (Records) Nedir?</h2>



<p>Kayıt tipleri, farklı veri türlerini tek bir çatı altında toplamanıza olanak tanıyan veri yapılarıdır. Başka bir deyişle, birbiriyle ilişkili farklı türdeki verileri bir araya getirerek daha anlamlı ve düzenli yapılar oluşturabilirsiniz. Örneğin, bir öğrencinin adını, soyadını, numarasını ve not ortalamasını tek bir kayıt altında tutabilirsiniz.</p>



<h3 class="wp-block-heading">Kayıt Tipi Tanımlama</h3>



<p>Kayıt tipleri, <code>type</code> anahtar kelimesiyle tanımlanır. İşte basit bir örnek:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
type
  Ogrenci = record
    Ad: string;
    Soyad: string;
    Numara: Integer;
    NotOrtalamasi: Real;
  end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">type</span></span>
<span class="line"><span style="color: #D4D4D4">  Ogrenci = </span><span style="color: #569CD6">record</span></span>
<span class="line"><span style="color: #D4D4D4">    Ad: </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    Soyad: </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    Numara: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    NotOrtalamasi: </span><span style="color: #569CD6">Real</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p>Bu tanımlamada, <code>Ogrenci</code> adında bir kayıt tipi oluşturduk. Bu kayıt tipi, <code>Ad</code> (string), <code>Soyad</code> (string), <code>Numara</code> (Integer) ve <code>NotOrtalamasi</code> (Real) olmak üzere dört farklı alana sahiptir.</p>



<h3 class="wp-block-heading">Kayıt Tipi Kullanımı</h3>



<p>Kayıt tipini tanımladıktan sonra, bu tipten değişkenler oluşturabilir ve alanlarına erişebilirsiniz. İşte bir örnek:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
var
  ogr1: Ogrenci;

begin
  ogr1.Ad := 'Ahmet';
  ogr1.Soyad := 'Yılmaz';
  ogr1.Numara := 12345;
  ogr1.NotOrtalamasi := 3.5;

  ShowMessage('Öğrenci Adı: ' + ogr1.Ad);
  ShowMessage('Öğrenci Soyadı: ' + ogr1.Soyad);
  ShowMessage('Öğrenci Numarası: ' + IntToStr(ogr1.Numara));
  ShowMessage('Öğrenci Not Ortalaması: ' + FloatToStr(ogr1.NotOrtalamasi));
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  ogr1: Ogrenci;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  ogr1.Ad := </span><span style="color: #CE9178">&#39;Ahmet&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  ogr1.Soyad := </span><span style="color: #CE9178">&#39;Yılmaz&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  ogr1.Numara := </span><span style="color: #B5CEA8">12345</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  ogr1.NotOrtalamasi := </span><span style="color: #B5CEA8">3.5</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Öğrenci Adı: &#39;</span><span style="color: #D4D4D4"> + ogr1.Ad);</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Öğrenci Soyadı: &#39;</span><span style="color: #D4D4D4"> + ogr1.Soyad);</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Öğrenci Numarası: &#39;</span><span style="color: #D4D4D4"> + IntToStr(ogr1.Numara));</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Öğrenci Not Ortalaması: &#39;</span><span style="color: #D4D4D4"> + FloatToStr(ogr1.NotOrtalamasi));</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p>Bu örnekte, <code>ogr1</code> adında bir <code>Ogrenci</code> tipinde değişken oluşturduk ve bu değişkenin alanlarına değerler atadık. Daha sonra, bu değerleri ekrana yazdırdık.</p>



<h3 class="wp-block-heading">İç İçe Kayıtlar (Nested Records)</h3>



<p>Kayıt tipleri, iç içe de kullanılabilir. Yani, bir kayıt tipinin içinde başka bir kayıt tipi bulunabilir. Bu, daha karmaşık veri yapıları oluşturmanıza olanak tanır. Örneğin, bir öğrencinin adres bilgilerini ayrı bir kayıt tipinde tanımlayıp, bu kayıt tipini <code>Ogrenci</code> kayıt tipinin içinde kullanabilirsiniz.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
type
  Adres = record
    Sehir: string;
    Ilce: string;
    Mahalle: string;
  end;

  Ogrenci = record
    Ad: string;
    Soyad: string;
    Numara: Integer;
    NotOrtalamasi: Real;
    AdresBilgisi: Adres;
  end;

var
  ogr1: Ogrenci;

begin
  ogr1.Ad := 'Ahmet';
  ogr1.Soyad := 'Yılmaz';
  ogr1.Numara := 12345;
  ogr1.NotOrtalamasi := 3.5;
  ogr1.AdresBilgisi.Sehir := 'İstanbul';
  ogr1.AdresBilgisi.Ilce := 'Kadıköy';
  ogr1.AdresBilgisi.Mahalle := 'Caferağa';

  ShowMessage('Öğrenci Şehri: ' + ogr1.AdresBilgisi.Sehir);
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">type</span></span>
<span class="line"><span style="color: #D4D4D4">  Adres = </span><span style="color: #569CD6">record</span></span>
<span class="line"><span style="color: #D4D4D4">    Sehir: </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    Ilce: </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    Mahalle: </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  Ogrenci = </span><span style="color: #569CD6">record</span></span>
<span class="line"><span style="color: #D4D4D4">    Ad: </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    Soyad: </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    Numara: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    NotOrtalamasi: </span><span style="color: #569CD6">Real</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    AdresBilgisi: Adres;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  ogr1: Ogrenci;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  ogr1.Ad := </span><span style="color: #CE9178">&#39;Ahmet&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  ogr1.Soyad := </span><span style="color: #CE9178">&#39;Yılmaz&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  ogr1.Numara := </span><span style="color: #B5CEA8">12345</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  ogr1.NotOrtalamasi := </span><span style="color: #B5CEA8">3.5</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  ogr1.AdresBilgisi.Sehir := </span><span style="color: #CE9178">&#39;İstanbul&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  ogr1.AdresBilgisi.Ilce := </span><span style="color: #CE9178">&#39;Kadıköy&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  ogr1.AdresBilgisi.Mahalle := </span><span style="color: #CE9178">&#39;Caferağa&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Öğrenci Şehri: &#39;</span><span style="color: #D4D4D4"> + ogr1.AdresBilgisi.Sehir);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p>Bu örnekte, <code>Adres</code> adında bir kayıt tipi tanımladık ve bu kayıt tipini <code>Ogrenci</code> kayıt tipinin içinde <code>AdresBilgisi</code> adıyla kullandık.</p>



<h2 class="wp-block-heading">Sabitler (Constants) Nedir?</h2>



<p>Sabitler, programın çalışması sırasında değeri değişmeyen değerlerdir. Program içinde sabit bir değeri birden fazla yerde kullanmanız gerektiğinde, bu değeri bir sabit olarak tanımlamak, hem kodun okunabilirliğini artırır hem de değeri değiştirmek istediğinizde tek bir yerden değişiklik yapmanızı sağlar.</p>



<h3 class="wp-block-heading">Sabit Tanımlama</h3>



<p>Sabitler, <code>const</code> anahtar kelimesiyle tanımlanır. İşte basit bir örnek:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
const
  PI = 3.14159;
  MAKSIMUM_OGRENCI_SAYISI = 100;
  UYGULAMA_ADI = 'Delphi Uygulaması';
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">const</span></span>
<span class="line"><span style="color: #D4D4D4">  PI = </span><span style="color: #B5CEA8">3.14159</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  MAKSIMUM_OGRENCI_SAYISI = </span><span style="color: #B5CEA8">100</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  UYGULAMA_ADI = </span><span style="color: #CE9178">&#39;Delphi Uygulaması&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p>Bu tanımlamada, <code>PI</code>, <code>MAKSIMUM_OGRENCI_SAYISI</code> ve <code>UYGULAMA_ADI</code> adında üç farklı sabit tanımladık. Sabitlerin değerleri programın çalışması sırasında değiştirilemez.</p>



<h3 class="wp-block-heading">Sabit Kullanımı</h3>



<p>Sabitler, değişkenler gibi kullanılabilir. İşte bir örnek:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
const
  PI = 3.14159;

var
  yaricap: Real;
  alan: Real;

begin
  yaricap := 5;
  alan := PI * yaricap * yaricap;

  ShowMessage('Dairenin Alanı: ' + FloatToStr(alan));
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">const</span></span>
<span class="line"><span style="color: #D4D4D4">  PI = </span><span style="color: #B5CEA8">3.14159</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  yaricap: </span><span style="color: #569CD6">Real</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  alan: </span><span style="color: #569CD6">Real</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  yaricap := </span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  alan := PI * yaricap * yaricap;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Dairenin Alanı: &#39;</span><span style="color: #D4D4D4"> + FloatToStr(alan));</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p>Bu örnekte, <code>PI</code> sabitini kullanarak bir dairenin alanını hesapladık.</p>



<h3 class="wp-block-heading">Tip Belirtilmiş Sabitler (Typed Constants)</h3>



<p>Delphi&#8217;de, sabitlere tip de belirtebilirsiniz. Bu, daha güvenli ve okunabilir kod yazmanıza yardımcı olur. İşte bir örnek:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
const
  PI: Real = 3.14159;
  MAKSIMUM_OGRENCI_SAYISI: Integer = 100;
  UYGULAMA_ADI: string = 'Delphi Uygulaması';
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">const</span></span>
<span class="line"><span style="color: #D4D4D4">  PI: </span><span style="color: #569CD6">Real</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">3.14159</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  MAKSIMUM_OGRENCI_SAYISI: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">100</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  UYGULAMA_ADI: </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&#39;Delphi Uygulaması&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p>Bu tanımlamada, sabitlerin tiplerini de belirttik. Bu, derleyicinin tip uyumsuzluğu hatalarını daha erken yakalamasına yardımcı olur.</p>



<h2 class="wp-block-heading">Kayıtlar ve Sabitlerin Birlikte Kullanımı</h2>



<p>Kayıt tipleri ve sabitler, birlikte kullanılarak daha karmaşık ve düzenli yapılar oluşturulabilir. Örneğin, bir şirketin çalışan bilgilerini tutan bir kayıt tipi tanımlayabilir ve şirketin adını bir sabit olarak tanımlayabilirsiniz.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
const
  SIRKET_ADI = 'Delphi A.Ş.';

type
  Calisan = record
    Ad: string;
    Soyad: string;
    Departman: string;
    Maas: Real;
  end;

var
  calisan1: Calisan;

begin
  calisan1.Ad := 'Ayşe';
  calisan1.Soyad := 'Demir';
  calisan1.Departman := 'Yazılım Geliştirme';
  calisan1.Maas := 5000;

  ShowMessage('Şirket Adı: ' + SIRKET_ADI);
  ShowMessage('Çalışan Adı: ' + calisan1.Ad);
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">const</span></span>
<span class="line"><span style="color: #D4D4D4">  SIRKET_ADI = </span><span style="color: #CE9178">&#39;Delphi A.Ş.&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">type</span></span>
<span class="line"><span style="color: #D4D4D4">  Calisan = </span><span style="color: #569CD6">record</span></span>
<span class="line"><span style="color: #D4D4D4">    Ad: </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    Soyad: </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    Departman: </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    Maas: </span><span style="color: #569CD6">Real</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  calisan1: Calisan;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  calisan1.Ad := </span><span style="color: #CE9178">&#39;Ayşe&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  calisan1.Soyad := </span><span style="color: #CE9178">&#39;Demir&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  calisan1.Departman := </span><span style="color: #CE9178">&#39;Yazılım Geliştirme&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  calisan1.Maas := </span><span style="color: #B5CEA8">5000</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Şirket Adı: &#39;</span><span style="color: #D4D4D4"> + SIRKET_ADI);</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Çalışan Adı: &#39;</span><span style="color: #D4D4D4"> + calisan1.Ad);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p>Bu örnekte, <code>SIRKET_ADI</code> adında bir sabit tanımladık ve <code>Calisan</code> adında bir kayıt tipi oluşturduk. Daha sonra, bu sabit ve kayıt tipini birlikte kullandık.</p>



<h2 class="wp-block-heading">Sonuç</h2>



<p><strong>Kayıt tipleri (records)</strong> ve <strong>sabitler (constants)</strong>, Delphi programlama dilinde veri yapılarını düzenlemek ve programın okunabilirliğini artırmak için önemli araçlardır. Kayıt tipleri, farklı veri türlerini tek bir çatı altında toplamanıza olanak tanırken, sabitler programın çalışması sırasında değeri değişmeyen değerleri tanımlamanızı sağlar. Bu araçları doğru kullanarak, daha düzenli, okunabilir ve bakımı kolay programlar yazabilirsiniz.</p>



<p>Bu makalede, kayıt tiplerinin ve sabitlerin ne olduğunu, nasıl tanımlandığını ve kullanıldığını detaylı bir şekilde inceledik. Umarım bu bilgiler, Delphi programlama becerilerinizi geliştirmenize yardımcı olur.</p>
<p><a href="https://www.kesifruhu.com/yazilim/11-kayit-tipleri-records-ve-sabitler-const/">11.Kayıt Tipleri (Records) ve Sabitler (Const)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/11-kayit-tipleri-records-ve-sabitler-const/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>7. Prosedürler ve Fonksiyonlar (Metotlar)</title>
		<link>https://www.kesifruhu.com/yazilim/7-prosedurler-ve-fonksiyonlar-metotlar/</link>
					<comments>https://www.kesifruhu.com/yazilim/7-prosedurler-ve-fonksiyonlar-metotlar/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Fri, 18 Apr 2025 15:27:48 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Prosedür]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=520</guid>

					<description><![CDATA[<p>7. Prosedürler ve Fonksiyonlar (Metotlar) Delphi programlama dilinde, kodun düzenlenmesi, yeniden kullanılabilirliğinin artırılması ve karmaşıklığının azaltılması için prosedürler ve fonksiyonlar (genellikle metotlar olarak da adlandırılır) <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/7-prosedurler-ve-fonksiyonlar-metotlar/" title="7. Prosedürler ve Fonksiyonlar (Metotlar)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/7-prosedurler-ve-fonksiyonlar-metotlar/">7. Prosedürler ve Fonksiyonlar (Metotlar)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/247791/pexels-photo-247791.png?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">7. Prosedürler ve Fonksiyonlar (Metotlar)</h1>



<p>Delphi programlama dilinde, kodun düzenlenmesi, yeniden kullanılabilirliğinin artırılması ve karmaşıklığının azaltılması için <strong>prosedürler</strong> ve <strong>fonksiyonlar</strong> (genellikle metotlar olarak da adlandırılır) önemli bir rol oynar. Bu yapılar, belirli bir görevi gerçekleştiren kod bloklarını temsil eder ve programın farklı yerlerinden çağrılarak tekrar tekrar kullanılabilir.</p>



<h2 class="wp-block-heading">Prosedürler</h2>



<p><strong>Prosedürler</strong>, belirli bir işlemi gerçekleştiren ve herhangi bir değer döndürmeyen kod bloklarıdır. Bir prosedür, parametre alabilir veya almayabilir. Parametreler, prosedüre girdi olarak sağlanan değerlerdir ve prosedürün davranışını etkiler.</p>



<h3 class="wp-block-heading">Prosedür Tanımlama</h3>



<p>Bir prosedür aşağıdaki gibi tanımlanır:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="procedure ProsedurAdi(Parametre1: VeriTipi; Parametre2: VeriTipi);
begin
  // Prosedürün gerçekleştireceği işlemler
end;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">procedure</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">ProsedurAdi</span><span style="color: #D4D4D4">(Parametre1: VeriTipi; Parametre2: VeriTipi);</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Prosedürün gerçekleştireceği işlemler</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p>Örneğin, iki sayıyı toplayıp sonucu ekrana yazdıran bir prosedür şöyle olabilir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="procedure ToplaVeYaz(Sayi1: Integer; Sayi2: Integer);
var
  Sonuc: Integer;
begin
  Sonuc := Sayi1 + Sayi2;
  ShowMessage('Sonuç: ' + IntToStr(Sonuc));
end;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">procedure</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">ToplaVeYaz</span><span style="color: #D4D4D4">(Sayi1: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">; Sayi2: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  Sonuc: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  Sonuc := Sayi1 + Sayi2;</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Sonuç: &#39;</span><span style="color: #D4D4D4"> + IntToStr(Sonuc));</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Prosedür Çağırma</h3>



<p>Bir prosedürü çağırmak için adını ve varsa parametrelerini belirtmeniz yeterlidir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="ToplaVeYaz(5, 3); // Ekrana &quot;Sonuç: 8&quot; yazdırır" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #D4D4D4">ToplaVeYaz(</span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Ekrana &quot;Sonuç: 8&quot; yazdırır</span></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Fonksiyonlar</h2>



<p><strong>Fonksiyonlar</strong>, prosedürlere benzer, ancak bir değer döndürürler. Bu değer, fonksiyonun gerçekleştirdiği işlemin sonucudur. Fonksiyonlar da parametre alabilir veya almayabilir.</p>



<h3 class="wp-block-heading">Fonksiyon Tanımlama</h3>



<p>Bir fonksiyon aşağıdaki gibi tanımlanır:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="function FonksiyonAdi(Parametre1: VeriTipi; Parametre2: VeriTipi): DonusTipi;
begin
  // Fonksiyonun gerçekleştireceği işlemler
  // DonusTipi türünde bir değer döndürmeli
  Result := DonusDegeri;
end;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">function</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">FonksiyonAdi</span><span style="color: #D4D4D4">(Parametre1: VeriTipi; Parametre2: VeriTipi): DonusTipi;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Fonksiyonun gerçekleştireceği işlemler</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// DonusTipi türünde bir değer döndürmeli</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">Result</span><span style="color: #D4D4D4"> := DonusDegeri;</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p>Örneğin, iki sayıyı toplayıp sonucu döndüren bir fonksiyon şöyle olabilir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="function Topla(Sayi1: Integer; Sayi2: Integer): Integer;
begin
  Result := Sayi1 + Sayi2;
end;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">function</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Topla</span><span style="color: #D4D4D4">(Sayi1: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">; Sayi2: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">): </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">Result</span><span style="color: #D4D4D4"> := Sayi1 + Sayi2;</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Fonksiyon Çağırma</h3>



<p>Bir fonksiyonu çağırmak ve döndürdüğü değeri kullanmak için şöyle bir ifade kullanabilirsiniz:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="var
  Toplam: Integer;
begin
  Toplam := Topla(5, 3);
  ShowMessage('Toplam: ' + IntToStr(Toplam)); // Ekrana &quot;Toplam: 8&quot; yazdırır
end;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  Toplam: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  Toplam := Topla(</span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Toplam: &#39;</span><span style="color: #D4D4D4"> + IntToStr(Toplam)); </span><span style="color: #6A9955">// Ekrana &quot;Toplam: 8&quot; yazdırır</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Prosedürler ve Fonksiyonlar Arasındaki Farklar</h2>



<p>Temel fark, fonksiyonların bir değer döndürmesi, prosedürlerin ise döndürmemesidir. Fonksiyonlar genellikle bir hesaplama veya dönüşüm işleminin sonucunu elde etmek için kullanılırken, prosedürler genellikle bir eylemi gerçekleştirmek veya bir durumu değiştirmek için kullanılır.</p>



<ul class="wp-block-list">
<li><strong>Değer Döndürme:</strong> Fonksiyonlar değer döndürür, prosedürler döndürmez.</li>



<li><strong>Kullanım Amacı:</strong> Fonksiyonlar genellikle hesaplama, dönüşüm gibi işlemler için, prosedürler ise eylem veya durum değişikliği için kullanılır.</li>
</ul>



<h2 class="wp-block-heading">Metotlar (Nesne Yönelimli Programlama Bağlamında)</h2>



<p>Delphi, nesne yönelimli bir programlama dilidir. Bu bağlamda, <strong>metotlar</strong>, bir nesneye ait prosedür veya fonksiyonlardır. Metotlar, nesnenin davranışını tanımlar ve nesnenin verileri üzerinde işlem yapar.</p>



<h3 class="wp-block-heading">Metot Tanımlama</h3>



<p>Bir sınıf içinde metotlar aşağıdaki gibi tanımlanır:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="type
  TOrnekSinif = class
  private
    FVeri: Integer;
  public
    procedure Metot1;
    function Metot2: String;
  end;

implementation

procedure TOrnekSinif.Metot1;
begin
  // Metot1'in gerçekleştireceği işlemler
end;

function TOrnekSinif.Metot2: String;
begin
  Result := 'Merhaba Dünya!';
end;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">type</span></span>
<span class="line"><span style="color: #D4D4D4">  TOrnekSinif = </span><span style="color: #569CD6">class</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">private</span></span>
<span class="line"><span style="color: #D4D4D4">    FVeri: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">public</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">procedure</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Metot1</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">function</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Metot2</span><span style="color: #D4D4D4">: </span><span style="color: #569CD6">String</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">implementation</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">procedure</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">TOrnekSinif.Metot1</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Metot1&#39;in gerçekleştireceği işlemler</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">function</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">TOrnekSinif.Metot2</span><span style="color: #D4D4D4">: </span><span style="color: #569CD6">String</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">Result</span><span style="color: #D4D4D4"> := </span><span style="color: #CE9178">&#39;Merhaba Dünya!&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Metot Çağırma</h3>



<p>Bir nesnenin metodunu çağırmak için nokta notasyonu kullanılır:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="var
  OrnekNesne: TOrnekSinif;
begin
  OrnekNesne := TOrnekSinif.Create;
  OrnekNesne.Metot1; // Metot1 çağrılıyor
  ShowMessage(OrnekNesne.Metot2); // Metot2 çağrılıyor ve sonucu ekrana yazdırılıyor
  OrnekNesne.Free;
end;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  OrnekNesne: TOrnekSinif;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  OrnekNesne := TOrnekSinif.Create;</span></span>
<span class="line"><span style="color: #D4D4D4">  OrnekNesne.Metot1; </span><span style="color: #6A9955">// Metot1 çağrılıyor</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(OrnekNesne.Metot2); </span><span style="color: #6A9955">// Metot2 çağrılıyor ve sonucu ekrana yazdırılıyor</span></span>
<span class="line"><span style="color: #D4D4D4">  OrnekNesne.Free;</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Parametre Geçirme Yöntemleri</h2>



<p>Delphi&#8217;de parametreler prosedürlere ve fonksiyonlara farklı şekillerde geçirilebilir. Bu yöntemler, parametrelerin nasıl kullanıldığı ve nasıl değiştirilebildiği üzerinde etkilidir.</p>



<ul class="wp-block-list">
<li><strong>Değer ile Geçirme (By Value):</strong> Parametrenin bir kopyası fonksiyona veya prosedüre geçirilir. Fonksiyon veya prosedür içindeki değişiklikler orijinal parametreyi etkilemez.</li>



<li><strong>Referans ile Geçirme (By Reference):</strong> Parametrenin adresi fonksiyona veya prosedüre geçirilir. Fonksiyon veya prosedür içindeki değişiklikler orijinal parametreyi etkiler. `var` anahtar kelimesi ile belirtilir.</li>



<li><strong>Sabit Referans ile Geçirme (Const):</strong> Parametre referans ile geçirilir, ancak fonksiyon veya prosedür içinde değiştirilemez. Bu, performans açısından avantajlıdır çünkü veri kopyalanmaz, ancak güvenliği de sağlar.</li>
</ul>



<h3 class="wp-block-heading">Örnek Parametre Geçirme Yöntemleri</h3>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="procedure DegerIleGec(Sayi: Integer);
begin
  Sayi := Sayi + 10; // Bu değişiklik ana programdaki Sayi değişkenini etkilemez
end;

procedure ReferansIleGec(var Sayi: Integer);
begin
  Sayi := Sayi + 10; // Bu değişiklik ana programdaki Sayi değişkenini etkiler
end;

procedure SabitReferansIleGec(const Sayi: Integer);
begin
  // Sayi := Sayi + 10; // Bu satır hata verir, çünkü Sayi değiştirilemez
end;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">procedure</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">DegerIleGec</span><span style="color: #D4D4D4">(Sayi: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  Sayi := Sayi + </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">; </span><span style="color: #6A9955">// Bu değişiklik ana programdaki Sayi değişkenini etkilemez</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">procedure</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">ReferansIleGec</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">var</span><span style="color: #D4D4D4"> Sayi: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  Sayi := Sayi + </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">; </span><span style="color: #6A9955">// Bu değişiklik ana programdaki Sayi değişkenini etkiler</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">procedure</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">SabitReferansIleGec</span><span style="color: #D4D4D4">(</span><span style="color: #569CD6">const</span><span style="color: #D4D4D4"> Sayi: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Sayi := Sayi + 10; // Bu satır hata verir, çünkü Sayi değiştirilemez</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">İleri Düzey Kullanım: Fonksiyon Göstericileri (Function Pointers)</h2>



<p>Delphi, fonksiyon göstericilerini destekler. Bu, bir fonksiyonun adresini bir değişkende saklayıp, bu değişken aracılığıyla fonksiyonu çağırmanıza olanak tanır. Fonksiyon göstericileri, esnek ve dinamik programlama teknikleri için önemlidir.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="type
  TToplamaFonksiyonu = function(Sayi1, Sayi2: Integer): Integer;

var
  FonksiyonGostericisi: TToplamaFonksiyonu;

function Topla(Sayi1, Sayi2: Integer): Integer;
begin
  Result := Sayi1 + Sayi2;
end;

begin
  FonksiyonGostericisi := Topla;
  ShowMessage(IntToStr(FonksiyonGostericisi(5, 3))); // Ekrana &quot;8&quot; yazdırır
end;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">type</span></span>
<span class="line"><span style="color: #D4D4D4">  TToplamaFonksiyonu = function(Sayi1, Sayi2: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">): </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  FonksiyonGostericisi: TToplamaFonksiyonu;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">function</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Topla</span><span style="color: #D4D4D4">(Sayi1, Sayi2: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">): </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">Result</span><span style="color: #D4D4D4"> := Sayi1 + Sayi2;</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  FonksiyonGostericisi := Topla;</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(IntToStr(FonksiyonGostericisi(</span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">))); </span><span style="color: #6A9955">// Ekrana &quot;8&quot; yazdırır</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Sonuç</h2>



<p>Prosedürler ve fonksiyonlar, Delphi programlama dilinde kodun modülerleştirilmesi, yeniden kullanılabilirliğinin artırılması ve okunabilirliğinin iyileştirilmesi için temel araçlardır. Metotlar ise, nesne yönelimli programlamanın önemli bir parçasıdır ve nesnelerin davranışlarını tanımlar. Parametre geçirme yöntemleri ve fonksiyon göstericileri gibi ileri düzey özellikler, daha esnek ve güçlü uygulamalar geliştirmenize olanak tanır. Bu yapıları etkin bir şekilde kullanarak, daha karmaşık ve yönetilebilir Delphi uygulamaları oluşturabilirsiniz.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Prosedürler ve fonksiyonlar, yazılım mühendisliğinin temel taşlarıdır. İyi tasarlanmış prosedürler ve fonksiyonlar, kodun anlaşılmasını kolaylaştırır ve hataları azaltır.&#8221; &#8211; Yazılım Uzmanı</p>
</blockquote>
<p><a href="https://www.kesifruhu.com/yazilim/7-prosedurler-ve-fonksiyonlar-metotlar/">7. Prosedürler ve Fonksiyonlar (Metotlar)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/7-prosedurler-ve-fonksiyonlar-metotlar/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>5. Koşullu İfadeler (if-else, case of)</title>
		<link>https://www.kesifruhu.com/yazilim/5-kosullu-ifadeler-if-else-case-of/</link>
					<comments>https://www.kesifruhu.com/yazilim/5-kosullu-ifadeler-if-else-case-of/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Thu, 17 Apr 2025 10:27:26 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[case of]]></category>
		<category><![CDATA[if-else]]></category>
		<category><![CDATA[Programlama]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=515</guid>

					<description><![CDATA[<p>5. Koşullu İfadeler (if-else, case of) Delphi programlama dilinde, program akışını kontrol etmek ve farklı durumlara göre farklı işlemler yapmak için koşullu ifadeler kullanılır. En <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/5-kosullu-ifadeler-if-else-case-of/" title="5. Koşullu İfadeler (if-else, case of)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/5-kosullu-ifadeler-if-else-case-of/">5. Koşullu İfadeler (if-else, case of)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/270557/pexels-photo-270557.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">5. Koşullu İfadeler (if-else, case of)</h1>



<p>Delphi programlama dilinde, program akışını kontrol etmek ve farklı durumlara göre farklı işlemler yapmak için <strong>koşullu ifadeler</strong> kullanılır. En yaygın kullanılan koşullu ifadeler <code>if-else</code> ve <code>case of</code> deyimleridir. Bu ifadeler, belirli bir koşulun doğru (<code>True</code>) veya yanlış (<code>False</code>) olmasına bağlı olarak farklı kod bloklarını çalıştırmayı sağlar.</p>



<h2 class="wp-block-heading">if-else Deyimi</h2>



<p><code>if-else</code> deyimi, bir koşulun değerlendirilmesi ve sonucuna göre farklı kod bloklarının çalıştırılması için kullanılır. <code>if</code> anahtar kelimesi, bir koşulu belirtir. Eğer bu koşul doğruysa, <code>then</code> anahtar kelimesinden sonra gelen kod bloğu çalıştırılır. Eğer koşul yanlışsa, <code>else</code> anahtar kelimesinden sonra gelen kod bloğu çalıştırılır. <code>else</code> bloğu opsiyoneldir, yani sadece koşulun yanlış olduğu durumda yapılacak bir işlem yoksa kullanılmayabilir.</p>



<h3 class="wp-block-heading">if Deyiminin Temel Yapısı</h3>



<p><code>if</code> deyiminin temel yapısı aşağıdaki gibidir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
if koşul then
begin
  // Koşul doğruysa yapılacak işlemler
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">if</span><span style="color: #D4D4D4"> koşul </span><span style="color: #569CD6">then</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Koşul doğruysa yapılacak işlemler</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p>Eğer sadece tek bir işlem yapılacaksa, <code>begin</code> ve <code>end</code> blokları kullanılmayabilir. Ancak okunabilirliği artırmak ve olası hataları önlemek için blok kullanılması önerilir.</p>



<h3 class="wp-block-heading">else Deyiminin Kullanımı</h3>



<p><code>else</code> deyimi, koşulun yanlış olduğu durumda yapılacak işlemleri belirtir. Yapısı aşağıdaki gibidir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
if koşul then
begin
  // Koşul doğruysa yapılacak işlemler
end
else
begin
  // Koşul yanlışsa yapılacak işlemler
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">if</span><span style="color: #D4D4D4"> koşul </span><span style="color: #569CD6">then</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Koşul doğruysa yapılacak işlemler</span></span>
<span class="line"><span style="color: #569CD6">end</span></span>
<span class="line"><span style="color: #569CD6">else</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Koşul yanlışsa yapılacak işlemler</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">İç İçe if Deyimleri (Nested if)</h3>



<p><code>if</code> deyimleri iç içe kullanılabilir. Bu, daha karmaşık koşulları değerlendirmek için kullanışlıdır. Örneğin:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
if koşul1 then
begin
  if koşul2 then
  begin
    // koşul1 ve koşul2 doğruysa yapılacak işlemler
  end
  else
  begin
    // koşul1 doğru, koşul2 yanlışsa yapılacak işlemler
  end;
end
else
begin
  // koşul1 yanlışsa yapılacak işlemler
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">if</span><span style="color: #D4D4D4"> koşul1 </span><span style="color: #569CD6">then</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">if</span><span style="color: #D4D4D4"> koşul2 </span><span style="color: #569CD6">then</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">// koşul1 ve koşul2 doğruysa yapılacak işlemler</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">else</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">// koşul1 doğru, koşul2 yanlışsa yapılacak işlemler</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">end</span></span>
<span class="line"><span style="color: #569CD6">else</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// koşul1 yanlışsa yapılacak işlemler</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Örnek: if-else Kullanımı</h3>



<p>Aşağıdaki örnekte, bir sayının pozitif, negatif veya sıfır olup olmadığını kontrol eden bir <code>if-else</code> yapısı gösterilmektedir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
var
  sayi: Integer;
begin
  sayi := -5;

  if sayi &gt; 0 then
    ShowMessage('Sayı pozitif')
  else if sayi &lt; 0 then
    ShowMessage('Sayı negatif')
  else
    ShowMessage('Sayı sıfır');
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  sayi: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  sayi := -</span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">if</span><span style="color: #D4D4D4"> sayi &gt; </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">then</span></span>
<span class="line"><span style="color: #D4D4D4">    ShowMessage(</span><span style="color: #CE9178">&#39;Sayı pozitif&#39;</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">else</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">if</span><span style="color: #D4D4D4"> sayi &lt; </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">then</span></span>
<span class="line"><span style="color: #D4D4D4">    ShowMessage(</span><span style="color: #CE9178">&#39;Sayı negatif&#39;</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">else</span></span>
<span class="line"><span style="color: #D4D4D4">    ShowMessage(</span><span style="color: #CE9178">&#39;Sayı sıfır&#39;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<h2 class="wp-block-heading">case of Deyimi</h2>



<p><code>case of</code> deyimi, bir değişkenin değerine göre farklı kod bloklarını çalıştırmak için kullanılır. Özellikle, bir değişkenin birçok farklı olası değeri varsa ve her bir değer için farklı bir işlem yapılması gerekiyorsa, <code>if-else</code> yapısına göre daha okunabilir ve yönetilebilir bir alternatif sunar.</p>



<h3 class="wp-block-heading">case of Deyiminin Temel Yapısı</h3>



<p><code>case of</code> deyiminin temel yapısı aşağıdaki gibidir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
case değişken of
  değer1: begin
    // değişken değeri değer1 ise yapılacak işlemler
  end;
  değer2: begin
    // değişken değeri değer2 ise yapılacak işlemler
  end;
  else
  begin
    // Değişken hiçbir değerle eşleşmiyorsa yapılacak işlemler (opsiyonel)
  end;
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">case</span><span style="color: #D4D4D4"> değişken </span><span style="color: #569CD6">of</span></span>
<span class="line"><span style="color: #D4D4D4">  değer1: </span><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">// değişken değeri değer1 ise yapılacak işlemler</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  değer2: </span><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">// değişken değeri değer2 ise yapılacak işlemler</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">else</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">// Değişken hiçbir değerle eşleşmiyorsa yapılacak işlemler (opsiyonel)</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p>Her bir <code>değer</code> için ayrı bir kod bloğu belirtilir. Eğer değişkenin değeri, belirtilen değerlerden biriyle eşleşirse, o değere karşılık gelen kod bloğu çalıştırılır. <code>else</code> bloğu, değişkenin hiçbir değerle eşleşmediği durumda çalıştırılacak olan kod bloğunu belirtir. <code>else</code> bloğu opsiyoneldir.</p>



<h3 class="wp-block-heading">Örnek: case of Kullanımı</h3>



<p>Aşağıdaki örnekte, bir harfin sesli veya sessiz olup olmadığını kontrol eden bir <code>case of</code> yapısı gösterilmektedir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
var
  harf: Char;
begin
  harf := 'a';

  case harf of
    'a', 'e', 'i', 'o', 'u': ShowMessage('Sesli harf');
    else ShowMessage('Sessiz harf');
  end;
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  harf: </span><span style="color: #569CD6">Char</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  harf := </span><span style="color: #CE9178">&#39;a&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">case</span><span style="color: #D4D4D4"> harf </span><span style="color: #569CD6">of</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #CE9178">&#39;a&#39;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&#39;e&#39;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&#39;i&#39;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&#39;o&#39;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&#39;u&#39;</span><span style="color: #D4D4D4">: ShowMessage(</span><span style="color: #CE9178">&#39;Sesli harf&#39;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">else</span><span style="color: #D4D4D4"> ShowMessage(</span><span style="color: #CE9178">&#39;Sessiz harf&#39;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p>Bu örnekte, <code>harf</code> değişkeninin değeri &#8216;a&#8217;, &#8216;e&#8217;, &#8216;i&#8217;, &#8216;o&#8217; veya &#8216;u&#8217; ise, ekrana &#8216;Sesli harf&#8217; mesajı yazdırılır. Aksi takdirde, &#8216;Sessiz harf&#8217; mesajı yazdırılır.</p>



<h2 class="wp-block-heading">if-else mi, case of mu?</h2>



<p><code>if-else</code> ve <code>case of</code> deyimleri, koşullu ifadeler için farklı yaklaşımlar sunar. Hangi deyimin kullanılacağı, duruma göre değişir. Genel olarak:</p>



<ul class="wp-block-list">
<li>Eğer sadece bir veya iki koşul varsa, <code>if-else</code> deyimi daha uygun olabilir.</li>



<li>Eğer birden fazla koşul varsa ve değişkenin değeri birçok farklı olası değere sahipse, <code>case of</code> deyimi daha okunabilir ve yönetilebilir bir çözüm sunar.</li>



<li>Eğer koşullar karmaşık mantıksal ifadeler içeriyorsa (örneğin, birden fazla değişkenin karşılaştırılması gerekiyorsa), <code>if-else</code> deyimi daha esnek olabilir.</li>
</ul>



<p>Önemli olan, kodun okunabilirliğini ve anlaşılabilirliğini artırmaktır. Hangi deyimin daha uygun olduğuna karar verirken, bu faktörleri göz önünde bulundurmak önemlidir.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Doğru koşullu ifade seçimi, kodunuzun sadece daha verimli değil, aynı zamanda daha anlaşılır olmasını sağlar. Delphi&#8217;de, her aracın avantajlarını bilerek doğru kararı vermek, iyi bir programcının işaretidir.&#8221;</p>
</blockquote>



<h2 class="wp-block-heading">Sonuç</h2>



<p><code>if-else</code> ve <code>case of</code> deyimleri, Delphi programlama dilinde program akışını kontrol etmek ve farklı durumlara göre farklı işlemler yapmak için kullanılan temel araçlardır. Bu ifadelerin doğru kullanımı, daha esnek, okunabilir ve yönetilebilir kodlar yazmanızı sağlar. Her iki deyimin de avantajlarını ve dezavantajlarını bilerek, projenizin gereksinimlerine en uygun olanı seçmek önemlidir.</p>
<p><a href="https://www.kesifruhu.com/yazilim/5-kosullu-ifadeler-if-else-case-of/">5. Koşullu İfadeler (if-else, case of)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/5-kosullu-ifadeler-if-else-case-of/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>3. Değişkenler ve Veri Türleri</title>
		<link>https://www.kesifruhu.com/yazilim/3-degiskenler-ve-veri-turleri/</link>
					<comments>https://www.kesifruhu.com/yazilim/3-degiskenler-ve-veri-turleri/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Tue, 15 Apr 2025 08:38:31 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Yazılım Geliştirme]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=509</guid>

					<description><![CDATA[<p>3. Değişkenler ve Veri Türleri Delphi programlama dilinde, verileri saklamak ve işlemek için değişkenler ve bu değişkenlerin alabileceği değerlerin türlerini belirleyen veri türleri temel kavramlardır. <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/3-degiskenler-ve-veri-turleri/" title="3. Değişkenler ve Veri Türleri">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/3-degiskenler-ve-veri-turleri/">3. Değişkenler ve Veri Türleri</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/325111/pexels-photo-325111.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">3. Değişkenler ve Veri Türleri</h1>



<p>Delphi programlama dilinde, verileri saklamak ve işlemek için <strong>değişkenler</strong> ve bu değişkenlerin alabileceği değerlerin türlerini belirleyen <strong>veri türleri</strong> temel kavramlardır. Bu kavramları anlamak, sağlam ve etkili programlar yazmak için kritik öneme sahiptir. Bu makalede, Delphi&#8217;deki değişkenler ve veri türlerini detaylı bir şekilde inceleyeceğiz.</p>



<h2 class="wp-block-heading">Değişkenler</h2>



<p><strong>Değişken</strong>, programın çalışma zamanında değerini değiştirebileceğiniz bir bellek alanıdır. Her değişkenin bir adı, bir veri türü ve bir değeri vardır. Değişkenler, programın verileri saklamasına ve bu veriler üzerinde işlemler yapmasına olanak tanır.</p>



<h3 class="wp-block-heading">Değişken Tanımlama</h3>



<p>Delphi&#8217;de değişkenler, <code>var</code> anahtar kelimesi kullanılarak tanımlanır. Değişkenin adı ve veri türü belirtilir.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="var
  sayi: Integer;
  isim: String;
  pi: Real;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  sayi: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  isim: </span><span style="color: #569CD6">String</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  pi: </span><span style="color: #569CD6">Real</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p>Bu örnekte, <code>sayi</code> adında bir tamsayı (Integer), <code>isim</code> adında bir metin (String) ve <code>pi</code> adında bir ondalıklı sayı (Real) değişkeni tanımlanmıştır.</p>



<h3 class="wp-block-heading">Değişkene Değer Atama</h3>



<p>Değişkenlere değer atamak için <code>:=</code> (atama operatörü) kullanılır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="sayi := 10;
isim := 'Delphi';
pi := 3.14;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #D4D4D4">sayi := </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">isim := </span><span style="color: #CE9178">&#39;Delphi&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">pi := </span><span style="color: #B5CEA8">3.14</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p>Bu örnekte, <code>sayi</code> değişkenine 10, <code>isim</code> değişkenine &#8216;Delphi&#8217; ve <code>pi</code> değişkenine 3.14 değeri atanmıştır.</p>



<h2 class="wp-block-heading">Veri Türleri</h2>



<p><strong>Veri türleri</strong>, bir değişkenin alabileceği değerlerin türünü ve üzerinde yapılabilecek işlemleri belirler. Delphi, çeşitli veri türlerini destekler.</p>



<h3 class="wp-block-heading">Temel Veri Türleri</h3>



<p>Delphi&#8217;deki temel veri türlerinden bazıları şunlardır:</p>



<ul class="wp-block-list">
<li><strong>Integer:</strong> Tamsayıları temsil eder. (Örn: -1, 0, 1, 100)</li>



<li><strong>Real:</strong> Ondalıklı sayıları temsil eder. (Örn: 3.14, -2.5, 0.0)</li>



<li><strong>Boolean:</strong> Mantıksal değerleri (<code>True</code> veya <code>False</code>) temsil eder.</li>



<li><strong>Char:</strong> Tek bir karakteri temsil eder. (Örn: &#8216;A&#8217;, &#8216;b&#8217;, &#8216;5&#8217;)</li>



<li><strong>String:</strong> Metinleri (karakter dizilerini) temsil eder. (Örn: &#8216;Merhaba Dünya&#8217;, &#8216;Delphi Programlama&#8217;)</li>
</ul>



<h3 class="wp-block-heading">Tamsayı Veri Türleri (Integer Types)</h3>



<p>Delphi, farklı boyutlarda tamsayı veri türlerini destekler. Bu türler, saklanabilecek sayıların aralığını belirler.</p>



<ul class="wp-block-list">
<li><strong>ShortInt:</strong> -128 ile 127 arasındaki tamsayıları saklar.</li>



<li><strong>SmallInt:</strong> -32768 ile 32767 arasındaki tamsayıları saklar.</li>



<li><strong>Integer:</strong> -2147483648 ile 2147483647 arasındaki tamsayıları saklar. (32-bit)</li>



<li><strong>Int64:</strong> -9223372036854775808 ile 9223372036854775807 arasındaki tamsayıları saklar. (64-bit)</li>



<li><strong>Byte:</strong> 0 ile 255 arasındaki tamsayıları saklar. (işaretsiz)</li>



<li><strong>Word:</strong> 0 ile 65535 arasındaki tamsayıları saklar. (işaretsiz)</li>



<li><strong>Cardinal:</strong> 0 ile 4294967295 arasındaki tamsayıları saklar. (işaretsiz)</li>
</ul>



<h3 class="wp-block-heading">Ondalıklı Sayı Veri Türleri (Real Types)</h3>



<p>Delphi, farklı hassasiyet seviyelerinde ondalıklı sayı veri türlerini destekler.</p>



<ul class="wp-block-list">
<li><strong>Real48:</strong> Daha az hassasiyetli ondalıklı sayılar için kullanılır.</li>



<li><strong>Single:</strong> Tek duyarlıklı ondalıklı sayılar için kullanılır.</li>



<li><strong>Double:</strong> Çift duyarlıklı ondalıklı sayılar için kullanılır (genellikle daha hassas sonuçlar için tercih edilir).</li>



<li><strong>Extended:</strong> Daha yüksek hassasiyetli ondalıklı sayılar için kullanılır.</li>



<li><strong>Currency:</strong> Para birimi değerlerini saklamak için kullanılır.</li>
</ul>



<h3 class="wp-block-heading">Karakter ve Metin Veri Türleri (Character and String Types)</h3>



<p>Delphi, karakterleri ve metinleri saklamak için farklı veri türleri sunar.</p>



<ul class="wp-block-list">
<li><strong>Char:</strong> Tek bir karakteri temsil eder. Örneğin: <code>var karakter: Char; karakter := 'A';</code></li>



<li><strong>String:</strong> Değişken uzunlukta metinleri temsil eder. Örneğin: <code>var metin: String; metin := 'Merhaba Dünya';</code></li>



<li><strong>ShortString:</strong> 255 karaktere kadar olan metinleri temsil eder. Artık pek kullanılmamaktadır.</li>



<li><strong>AnsiString:</strong> ANSI karakter kümesini kullanan metinleri temsil eder.</li>



<li><strong>WideString:</strong> Unicode karakter kümesini kullanan metinleri temsil eder. Uluslararası karakter desteği gerektiren uygulamalar için idealdir.</li>
</ul>



<p>&nbsp;</p>



<h3 class="wp-block-heading">Boolean Veri Türü</h3>



<p>Boolean veri türü, sadece iki değeri alabilir: <code>True</code> (Doğru) veya <code>False</code> (Yanlış). Mantıksal ifadelerin sonuçlarını saklamak için kullanılır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="var
  durum: Boolean;

begin
  durum := (5 &gt; 3); // durum değişkenine True değeri atanır.
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  durum: </span><span style="color: #569CD6">Boolean</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  durum := (</span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4"> &gt; </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// durum değişkenine True değeri atanır.</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Sabitler (Constants)</h2>



<p><strong>Sabitler</strong>, programın çalışma zamanında değeri değişmeyen verilerdir. Sabitler, <code>const</code> anahtar kelimesi kullanılarak tanımlanır.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="const
  MAX_SAYI = 100;
  MESAJ = 'Hata oluştu!';
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">const</span></span>
<span class="line"><span style="color: #D4D4D4">  MAX_SAYI = </span><span style="color: #B5CEA8">100</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  MESAJ = </span><span style="color: #CE9178">&#39;Hata oluştu!&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p>Sabitler, programın okunabilirliğini artırır ve tekrar eden değerlerin tek bir yerden değiştirilmesine olanak tanır.</p>



<h2 class="wp-block-heading">Veri Türü Dönüşümleri</h2>



<p>Farklı veri türleri arasında dönüşüm yapmak gerekebilir. Delphi, bu amaçla çeşitli fonksiyonlar sunar.</p>



<ul class="wp-block-list">
<li><strong>IntToStr:</strong> Tamsayıyı metne dönüştürür.</li>



<li><strong>StrToInteger:</strong> Metni tamsayıya dönüştürür. (Hata kontrolü önemlidir.)</li>



<li><strong>FloatToStr:</strong> Ondalıklı sayıyı metne dönüştürür.</li>



<li><strong>StrToFloat:</strong> Metni ondalıklı sayıya dönüştürür. (Hata kontrolü önemlidir.)</li>
</ul>



<p>Veri türü dönüşümleri sırasında veri kaybı veya hatalar oluşabileceğini unutmamak önemlidir. Bu nedenle, dönüşümler dikkatli bir şekilde yapılmalı ve hata kontrolleri eklenmelidir.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Değişkenler ve veri türleri, programlamanın temel taşlarıdır. Doğru veri türünü seçmek ve değişkenleri doğru şekilde kullanmak, programın performansını ve güvenilirliğini önemli ölçüde etkiler.&#8221; &#8211; Bir Delphi Uzmanı</p>
</blockquote>



<h2 class="wp-block-heading">Özet</h2>



<p>Delphi&#8217;de değişkenler ve veri türleri, programların temel yapı taşlarıdır. Değişkenler, verileri saklamak ve işlemek için kullanılırken, veri türleri bu verilerin türünü ve üzerinde yapılabilecek işlemleri belirler. Doğru veri türünü seçmek, programın performansını, belleği verimli kullanmasını ve güvenilirliğini artırır. Bu makalede ele alınan konuları iyi anlamak, Delphi programlama becerilerinizi önemli ölçüde geliştirecektir.</p>
<p><a href="https://www.kesifruhu.com/yazilim/3-degiskenler-ve-veri-turleri/">3. Değişkenler ve Veri Türleri</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/3-degiskenler-ve-veri-turleri/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>2. İlk Uygulamanın Yazılması (Hello World)</title>
		<link>https://www.kesifruhu.com/yazilim/3-ilk-uygulamanin-yazilmasi-hello-world/</link>
					<comments>https://www.kesifruhu.com/yazilim/3-ilk-uygulamanin-yazilmasi-hello-world/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Sun, 13 Apr 2025 14:17:33 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Hello World]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[VCL]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=505</guid>

					<description><![CDATA[<p>2. İlk Uygulamanın Yazılması (Hello World) Delphi programlama diline hoş geldiniz! Bu makalede, Delphi ile ilk uygulamanızı nasıl oluşturacağınızı adım adım öğreneceksiniz. Geleneksel olarak, programlamaya <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/3-ilk-uygulamanin-yazilmasi-hello-world/" title="2. İlk Uygulamanın Yazılması (Hello World)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/3-ilk-uygulamanin-yazilmasi-hello-world/">2. İlk Uygulamanın Yazılması (Hello World)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/6424586/pexels-photo-6424586.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">2. İlk Uygulamanın Yazılması (Hello World)</h1>



<p>Delphi programlama diline hoş geldiniz! Bu makalede, Delphi ile ilk uygulamanızı nasıl oluşturacağınızı adım adım öğreneceksiniz. Geleneksel olarak, programlamaya yeni başlayanların yazdığı ilk uygulama &#8220;Hello, World!&#8221; uygulamasıdır. Bu basit uygulama, ekrana bir metin yazdırmaktan ibarettir, ancak bir programlama dilinin temel sözdizimini ve geliştirme ortamını anlamak için mükemmel bir başlangıç noktasıdır.</p>



<h2 class="wp-block-heading">Delphi Ortamını Hazırlama</h2>



<p>İlk uygulamamızı yazmadan önce, Delphi geliştirme ortamının doğru şekilde kurulduğundan ve yapılandırıldığından emin olmalıyız. Delphi IDE (Integrated Development Environment &#8211; Tümleşik Geliştirme Ortamı), kod yazmak, derlemek (compile) ve çalıştırmak için gerekli tüm araçları sunar.</p>



<h3 class="wp-block-heading">Delphi IDE&#8217;yi Açma</h3>



<p>Delphi&#8217;yi kurduktan sonra, başlat menüsünden veya masaüstü kısayolundan IDE&#8217;yi açın. IDE açıldığında, genellikle boş bir proje veya önceden ayarlanmış bir proje şablonu ile karşılaşacaksınız.</p>



<h3 class="wp-block-heading">Yeni Bir VCL Projesi Oluşturma</h3>



<p>&#8220;Hello, World!&#8221; uygulamamız için yeni bir VCL (Visual Component Library &#8211; Görsel Bileşen Kütüphanesi) projesi oluşturacağız. VCL, Delphi&#8217;nin görsel arayüz oluşturmak için kullandığı bileşen setidir. Yeni bir proje oluşturmak için şu adımları izleyin:</p>



<ol class="wp-block-list">
<li><b>File (Dosya) -&gt; New (Yeni) -&gt; VCL Forms Application</b> yolunu izleyin.</li>



<li>Bu işlem, üzerinde görsel olarak çalışabileceğiniz boş bir form (Form1) oluşturacaktır.</li>
</ol>



<h2 class="wp-block-heading">&#8220;Hello, World!&#8221; Uygulamasını Yazma</h2>



<p>Şimdi, &#8220;Hello, World!&#8221; metnini ekrana yazdırmak için gerekli kodları yazmaya başlayabiliriz.</p>



<h3 class="wp-block-heading">Bir Etiket (Label) Bileşeni Ekleme</h3>



<p>Ekrana metin yazdırmak için bir etiket (Label) bileşeni kullanacağız. Etiket bileşeni, form üzerinde statik metin görüntülemek için kullanılır.</p>



<ol class="wp-block-list">
<li>Delphi IDE&#8217;nin araç paletinde (Tool Palette) &#8220;Label&#8221; bileşenini bulun.</li>



<li>Label bileşenine tıklayın ve ardından form üzerine tıklayarak bir etiket yerleştirin.</li>



<li>Etiketin boyutunu ve konumunu istediğiniz gibi ayarlayabilirsiniz.</li>
</ol>



<h3 class="wp-block-heading">Etiket Metnini Değiştirme</h3>



<p>Şimdi, etiketin metnini &#8220;Hello, World!&#8221; olarak değiştirelim.</p>



<ol class="wp-block-list">
<li>Form üzerindeki etikete tıklayarak seçin.</li>



<li>Object Inspector (Nesne Denetleyicisi) penceresinde, &#8220;Caption&#8221; özelliğini bulun.</li>



<li>&#8220;Caption&#8221; özelliğinin değerini &#8220;Hello, World!&#8221; olarak değiştirin.</li>
</ol>



<p>Bu adımları tamamladıktan sonra, form üzerindeki etiket &#8220;Hello, World!&#8221; metnini gösterecektir.</p>



<p><b>Alternatif Yöntem: Buton ve Olay İşleyici Kullanarak &#8220;Hello, World!&#8221; Mesajı Görüntüleme</b></p>



<p>Daha interaktif bir yaklaşım için, bir butona tıklandığında &#8220;Hello, World!&#8221; mesajını görüntüleyebiliriz. Bu yöntem, olay güdümlü programlamanın temel bir örneğidir.</p>



<ol class="wp-block-list">
<li>Tool Palette&#8217;den bir Button bileşenini form üzerine sürükleyin.</li>



<li>Butona çift tıklayarak, `OnClick` olay işleyicisini otomatik olarak oluşturun. Bu, kod editöründe ilgili prosedürü açacaktır.</li>



<li>Aşağıdaki kodu `OnClick` olay işleyicisine ekleyin:</li>
</ol>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="procedure TForm1.Button1Click(Sender: TObject);
begin
 ShowMessage('Hello, World!');
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">procedure</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">TForm1.Button1Click</span><span style="color: #D4D4D4">(Sender: TObject);</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4"> ShowMessage(</span><span style="color: #CE9178">&#39;Hello, World!&#39;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p>Bu kod, butona her tıklandığında bir mesaj kutusu içinde &#8220;Hello, World!&#8221; metnini gösterecektir.</p>



<h2 class="wp-block-heading">Uygulamayı Derleme ve Çalıştırma</h2>



<p>Kodumuzu yazdığımıza göre, şimdi uygulamamızı derleyip çalıştırabiliriz.</p>



<h3 class="wp-block-heading">Derleme (Compile)</h3>



<p>Uygulamayı derlemek için şu adımları izleyin:</p>



<ol class="wp-block-list">
<li><b>Run (Çalıştır) -&gt; Compile (Derle)</b> veya <b>Project (Proje) -&gt; Compile (Derle)</b> yolunu izleyin.</li>



<li>Delphi, kodunuzu kontrol edecek ve yürütülebilir bir dosya oluşturacaktır.</li>



<li>Hata yoksa, derleme işlemi başarıyla tamamlanacaktır.</li>
</ol>



<h3 class="wp-block-heading">Çalıştırma (Run)</h3>



<p>Uygulamayı çalıştırmak için şu adımları izleyin:</p>



<ol class="wp-block-list">
<li><b>Run (Çalıştır) -&gt; Run (Çalıştır)</b> veya <b>Debug (Hata Ayıklama) -&gt; Run (Çalıştır)</b> yolunu izleyin.</li>



<li>Delphi, uygulamayı çalıştıracak ve formunuz ekranda görünecektir.</li>



<li>Eğer etiket yöntemini kullandıysanız, formda &#8220;Hello, World!&#8221; metnini göreceksiniz. Eğer buton ve olay işleyici yöntemini kullandıysanız, butona tıkladığınızda bir mesaj kutusu içinde &#8220;Hello, World!&#8221; metnini göreceksiniz.</li>
</ol>



<h2 class="wp-block-heading">Kod Açıklaması</h2>



<p>Oluşturduğumuz basit uygulamanın kodunu daha yakından inceleyelim.</p>



<h3 class="wp-block-heading">Proje Dosyası (.dpr)</h3>



<p>Delphi projeleri, `.dpr` uzantılı bir proje dosyası içerir. Bu dosya, projenin temel ayarlarını ve kullanılan birimleri (units) tanımlar. Örnek bir proje dosyası şuna benzer olabilir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="program HelloWorld;

uses
 Forms,  // Formları kullanmamızı sağlar
 Unit1 in 'Unit1.pas' {Form1}; // Form1'in bulunduğu birim

{$R *.res}

begin
 Application.Initialize; // Uygulamayı başlat
 Application.CreateForm(TForm1, Form1); // Form1'i oluştur
 Application.Run;  // Uygulamayı çalıştır
end.
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">program</span><span style="color: #D4D4D4"> HelloWorld;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">uses</span></span>
<span class="line"><span style="color: #D4D4D4"> Forms,  </span><span style="color: #6A9955">// Formları kullanmamızı sağlar</span></span>
<span class="line"><span style="color: #D4D4D4"> Unit1 </span><span style="color: #569CD6">in</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">&#39;Unit1.pas&#39;</span><span style="color: #D4D4D4"> </span><span style="color: #6A9955">{Form1}</span><span style="color: #D4D4D4">; </span><span style="color: #6A9955">// Form1&#39;in bulunduğu birim</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D16969">{$R *.res}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4"> Application.Initialize; </span><span style="color: #6A9955">// Uygulamayı başlat</span></span>
<span class="line"><span style="color: #D4D4D4"> Application.CreateForm(TForm1, Form1); </span><span style="color: #6A9955">// Form1&#39;i oluştur</span></span>
<span class="line"><span style="color: #D4D4D4"> Application.Run;  </span><span style="color: #6A9955">// Uygulamayı çalıştır</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">.</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Birim Dosyası (.pas)</h3>



<p>Her form, `.pas` uzantılı bir birim dosyası ile ilişkilidir. Bu dosya, formun görsel bileşenlerini ve olay işleyicilerini tanımlayan kodu içerir. Örnek bir birim dosyası (Unit1.pas) şuna benzer olabilir:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
 Label1: TLabel;
 private
 { Private declarations }
 public
 { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

end.
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">unit</span><span style="color: #D4D4D4"> Unit1;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">interface</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">uses</span></span>
<span class="line"><span style="color: #D4D4D4"> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">type</span></span>
<span class="line"><span style="color: #D4D4D4"> TForm1 = </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4">(TForm)</span></span>
<span class="line"><span style="color: #D4D4D4"> Label1: TLabel;</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">private</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #6A9955">{ Private declarations }</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">public</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #6A9955">{ Public declarations }</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4"> Form1: TForm1;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">implementation</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D16969">{$R *.dfm}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">.</span></span>
<span class="line"></span></code></pre></div>



<p>Bu kod, `TForm1` adlı bir sınıf tanımlar. Bu sınıf, formun özelliklerini ve yöntemlerini içerir. `Label1` adlı bir etiket bileşeni de bu sınıfın bir parçasıdır.</p>



<h2 class="wp-block-heading">Sonuç</h2>



<p>Tebrikler! Delphi ile ilk uygulamanızı başarıyla oluşturdunuz. Bu basit &#8220;Hello, World!&#8221; uygulaması, Delphi programlama dilinin temel kavramlarını ve geliştirme ortamını anlamanıza yardımcı oldu. Şimdi, Delphi&#8217;nin sunduğu diğer özellikleri keşfetmeye ve daha karmaşık uygulamalar geliştirmeye hazırsınız.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Unutmayın, programlama öğrenmek sürekli pratik ve keşif gerektirir. Denemekten ve hata yapmaktan korkmayın!</p>
</blockquote>



<p>İyi kodlamalar!</p>
<p><a href="https://www.kesifruhu.com/yazilim/3-ilk-uygulamanin-yazilmasi-hello-world/">2. İlk Uygulamanın Yazılması (Hello World)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/3-ilk-uygulamanin-yazilmasi-hello-world/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>1. Delphi’ye Giriş</title>
		<link>https://www.kesifruhu.com/yazilim/1-delphiye-giris/</link>
					<comments>https://www.kesifruhu.com/yazilim/1-delphiye-giris/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Fri, 11 Apr 2025 13:51:23 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Object Pascal]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[RAD]]></category>
		<category><![CDATA[Uygulama Geliştirme]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=495</guid>

					<description><![CDATA[<p>1. Delphi’ye Giriş Delphi, Borland (sonradan Embarcadero Technologies) tarafından geliştirilen, nesne yönelimli bir programlama dilidir ve IDE&#8217;dir (Entegre Geliştirme Ortamı). Özellikle Windows platformunda hızlı uygulama <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/1-delphiye-giris/" title="1. Delphi’ye Giriş">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/1-delphiye-giris/">1. Delphi’ye Giriş</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/1089440/pexels-photo-1089440.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">1. Delphi’ye Giriş</h1>



<p>Delphi, Borland (sonradan Embarcadero Technologies) tarafından geliştirilen, nesne yönelimli bir programlama dilidir ve IDE&#8217;dir (Entegre Geliştirme Ortamı). Özellikle Windows platformunda hızlı uygulama geliştirme (RAD &#8211; Rapid Application Development) için tasarlanmıştır. Delphi, Pascal dilinin bir lehçesi olan Object Pascal dilini kullanır. Güçlü ve esnek yapısı sayesinde, masaüstü uygulamalarından veritabanı uygulamalarına, web servislerinden mobil uygulamalara kadar geniş bir yelpazede projeler geliştirmek mümkündür.</p>



<h2 class="wp-block-heading">Delphi’nin Tarihçesi</h2>



<p>Delphi&#8217;nin ilk sürümü 1995 yılında piyasaya sürüldü. Bu sürüm, Windows 3.1 ve Windows 95 için 16-bit uygulamalar geliştirmek için tasarlanmıştı. Delphi, o dönemde Pascal programlama dilinin gücünü görsel bir geliştirme ortamıyla birleştirerek büyük bir popülerlik kazandı. İzleyen yıllarda, Delphi&#8217;nin yeni sürümleri piyasaya sürüldü ve her sürümde dilin ve IDE&#8217;nin yetenekleri geliştirildi. .Net desteği, cross-platform geliştirme yetenekleri ve mobil uygulama geliştirme gibi özellikler eklendi.</p>



<h2 class="wp-block-heading">Delphi’nin Temel Özellikleri</h2>



<p>Delphi, sunduğu birçok özellik sayesinde uygulama geliştiriciler için cazip bir seçenektir. İşte Delphi&#8217;nin temel özellikleri:</p>



<ul class="wp-block-list">
<li><strong>Object Pascal Dili:</strong> Delphi, Pascal dilinin nesne yönelimli bir uzantısı olan Object Pascal&#8217;ı kullanır. Object Pascal, okunabilir ve kolay öğrenilebilir bir sözdizimine sahiptir.</li>



<li><strong>Görsel Geliştirme Ortamı (IDE):</strong> Delphi IDE, sürükle-bırak arayüzü, kod tamamlama, hata ayıklama araçları ve görsel tasarım araçları gibi özellikler sunar. Bu sayede, kullanıcı arayüzü oluşturmak ve uygulamaları geliştirmek kolaylaşır.</li>



<li><strong>Hızlı Uygulama Geliştirme (RAD):</strong> Delphi, RAD prensiplerine uygun olarak tasarlanmıştır. Bileşen tabanlı mimarisi ve görsel tasarım araçları sayesinde, uygulamaların hızlı bir şekilde prototiplenmesi ve geliştirilmesi mümkündür.</li>



<li><strong>Veritabanı Desteği:</strong> Delphi, çeşitli veritabanlarına (MySQL, Oracle, SQL Server, InterBase vb.) doğrudan erişim imkanı sunar. Veritabanı uygulamaları geliştirmek için zengin bir bileşen kütüphanesine sahiptir.</li>



<li><strong>Cross-Platform Geliştirme:</strong> Delphi, FireMonkey framework&#8217;ü sayesinde, Windows, macOS, iOS ve Android platformları için tek bir kod tabanından uygulamalar geliştirmeyi mümkün kılar.</li>



<li><strong>Geniş Bileşen Kütüphanesi:</strong> Delphi, görsel ve görsel olmayan birçok bileşeni içeren geniş bir kütüphaneye sahiptir. Bu bileşenler, kullanıcı arayüzü oluşturmak, veri işlemek, ağ işlemleri yapmak ve daha birçok görevi kolaylaştırır.</li>



<li><strong>Yerel Kod Derlemesi:</strong> Delphi, uygulamaları yerel makine koduna derler. Bu, uygulamaların hızlı ve verimli bir şekilde çalışmasını sağlar.</li>
</ul>



<h2 class="wp-block-heading">Delphi ile Neler Yapılabilir?</h2>



<p>Delphi, çok yönlü bir geliştirme ortamı olduğu için birçok farklı alanda uygulama geliştirmek için kullanılabilir:</p>



<ul class="wp-block-list">
<li><strong>Masaüstü Uygulamaları:</strong> Delphi, Windows platformunda çalışan masaüstü uygulamaları geliştirmek için idealdir. Ofis uygulamaları, veritabanı uygulamaları, grafik uygulamaları ve daha birçok türde uygulama Delphi ile geliştirilebilir.</li>



<li><strong>Veritabanı Uygulamaları:</strong> Delphi, güçlü veritabanı bağlantı yetenekleri sayesinde, veritabanı odaklı uygulamalar geliştirmek için çok uygundur. Müşteri ilişkileri yönetimi (CRM) sistemleri, stok takip sistemleri ve muhasebe programları gibi uygulamalar Delphi ile geliştirilebilir.</li>



<li><strong>Web Servisleri:</strong> Delphi, web servisleri geliştirmek için kullanılabilir. RESTful API&#8217;ler ve SOAP tabanlı web servisleri Delphi ile kolayca oluşturulabilir.</li>



<li><strong>Mobil Uygulamalar:</strong> Delphi, FireMonkey framework&#8217;ü sayesinde, iOS ve Android platformları için mobil uygulamalar geliştirmeyi mümkün kılar.</li>



<li><strong>IoT Uygulamaları:</strong> Delphi, nesnelerin interneti (IoT) uygulamaları geliştirmek için kullanılabilir. Sensör verilerini işlemek, cihazları kontrol etmek ve bulut tabanlı hizmetlerle iletişim kurmak gibi görevler Delphi ile gerçekleştirilebilir.</li>
</ul>



<h2 class="wp-block-heading">Delphi Öğrenmeye Nasıl Başlanır?</h2>



<p>Delphi öğrenmek için aşağıdaki adımları izleyebilirsiniz:</p>



<ol class="wp-block-list">
<li><strong>Temel Programlama Bilgisi:</strong> Delphi öğrenmeye başlamadan önce, temel programlama kavramlarına (değişkenler, veri tipleri, döngüler, koşullu ifadeler vb.) hakim olmanız faydalı olacaktır.</li>



<li><strong>Object Pascal Sözdizimi:</strong> Delphi&#8217;nin kullandığı Object Pascal dilinin sözdizimini öğrenin. Değişken tanımlama, operatörler, fonksiyonlar ve prosedürler gibi temel dil öğelerini öğrenin.</li>



<li><strong>Delphi IDE&#8217;yi Tanıyın:</strong> Delphi IDE&#8217;nin arayüzünü ve temel özelliklerini tanıyın. Proje oluşturma, kod yazma, derleme ve hata ayıklama gibi işlemleri öğrenin.</li>



<li><strong>Basit Uygulamalarla Başlayın:</strong> İlk olarak basit uygulamalar geliştirerek Delphi&#8217;yi öğrenmeye başlayın. Örneğin, bir hesap makinesi uygulaması veya bir not defteri uygulaması geliştirebilirsiniz.</li>



<li><strong>Delphi Bileşenlerini Öğrenin:</strong> Delphi&#8217;nin sunduğu bileşenleri (Button, Label, Edit, Memo vb.) öğrenin ve uygulamalarınızda kullanın. Bileşenlerin özelliklerini, olaylarını ve metotlarını öğrenin.</li>



<li><strong>Veritabanı İşlemlerini Öğrenin:</strong> Delphi ile veritabanı uygulamaları geliştirmek için, veritabanı bağlantısı kurmayı, sorgu çalıştırmayı ve veri görüntülemeyi öğrenin.</li>



<li><strong>Kaynaklardan Yararlanın:</strong> Delphi hakkında bilgi edinmek için çeşitli kaynaklardan yararlanın. Kitaplar, online eğitimler, forumlar ve bloglar size yardımcı olabilir. Embarcadero&#8217;nun resmi web sitesi ve Delphi toplulukları da değerli kaynaklardır.</li>



<li><strong>Pratik Yapın:</strong> Delphi&#8217;yi öğrenmenin en iyi yolu pratik yapmaktır. Farklı projeler geliştirerek ve kod yazarak Delphi becerilerinizi geliştirebilirsiniz.</li>
</ol>



<h2 class="wp-block-heading">Delphi&#8217;nin Avantajları ve Dezavantajları</h2>



<p>Her programlama dili ve geliştirme ortamı gibi, Delphi&#8217;nin de avantajları ve dezavantajları bulunmaktadır.</p>



<h3 class="wp-block-heading">Avantajları:</h3>



<ul class="wp-block-list">
<li><strong>Hızlı Uygulama Geliştirme:</strong> RAD prensiplerine uygun olarak tasarlandığı için, uygulamaların hızlı bir şekilde geliştirilmesini sağlar.</li>



<li><strong>Yerel Kod Derlemesi:</strong> Uygulamaları yerel makine koduna derlediği için, yüksek performanslı uygulamalar geliştirmek mümkündür.</li>



<li><strong>Geniş Bileşen Kütüphanesi:</strong> Zengin bir bileşen kütüphanesine sahip olduğu için, birçok görevi kolayca gerçekleştirmek mümkündür.</li>



<li><strong>Veritabanı Desteği:</strong> Çeşitli veritabanlarına doğrudan erişim imkanı sunar.</li>



<li><strong>Cross-Platform Geliştirme:</strong> FireMonkey framework&#8217;ü sayesinde, Windows, macOS, iOS ve Android platformları için tek bir kod tabanından uygulamalar geliştirmek mümkündür.</li>
</ul>



<h3 class="wp-block-heading">Dezavantajları:</h3>



<ul class="wp-block-list">
<li><strong>Maliyet:</strong> Delphi&#8217;nin ticari bir ürün olması, lisans maliyetini beraberinde getirir.</li>



<li><strong>Topluluk Büyüklüğü:</strong> Diğer popüler programlama dillerine (Java, Python vb.) göre, Delphi topluluğu daha küçüktür.</li>



<li><strong>Öğrenme Eğrisi:</strong> Bazı karmaşık özelliklerini öğrenmek zaman alabilir. Özellikle, yeni başlayanlar için FireMonkey framework&#8217;ü karmaşık gelebilir.</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Delphi, güçlü ve esnek yapısı sayesinde, masaüstü, veritabanı, web ve mobil uygulamalar geliştirmek için ideal bir seçenektir. RAD prensiplerine uygun olarak tasarlanmış olması, uygulama geliştirme sürecini hızlandırır ve kolaylaştırır.</p>
</blockquote>



<p>Sonuç olarak, Delphi, hızlı ve verimli uygulama geliştirme için güçlü bir araçtır. Özellikle Windows platformunda çalışan uygulamalar geliştirmek isteyenler için ideal bir seçenektir. Cross-platform geliştirme yetenekleri sayesinde, farklı platformlarda çalışan uygulamalar geliştirmek de mümkündür. Delphi öğrenmeye başlamak için birçok kaynak bulunmaktadır ve pratik yaparak Delphi becerilerinizi geliştirebilirsiniz.</p>
<p><a href="https://www.kesifruhu.com/yazilim/1-delphiye-giris/">1. Delphi’ye Giriş</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/1-delphiye-giris/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
