<?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>String İşlemleri arşivleri - Keşif Ruhu</title>
	<atom:link href="https://www.kesifruhu.com/tag/string-islemleri/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.kesifruhu.com/tag/string-islemleri/</link>
	<description>Keşfet, Deneyimle, Paylaş</description>
	<lastBuildDate>Sun, 20 Apr 2025 19:27:10 +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>String İşlemleri arşivleri - Keşif Ruhu</title>
	<link>https://www.kesifruhu.com/tag/string-islemleri/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>9. String İşlemleri (String Manipülasyonu ve Formatlama)</title>
		<link>https://www.kesifruhu.com/yazilim/9-string-islemleri-string-manipulasyonu-ve-formatlama/</link>
					<comments>https://www.kesifruhu.com/yazilim/9-string-islemleri-string-manipulasyonu-ve-formatlama/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Sun, 20 Apr 2025 19:26:46 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Delphi Dersleri]]></category>
		<category><![CDATA[String Formatlama]]></category>
		<category><![CDATA[String İşlemleri]]></category>
		<category><![CDATA[String Manipulasyonu]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=544</guid>

					<description><![CDATA[<p>9. String İşlemleri (String Manipülasyonu ve Formatlama) Delphi programlama dilinde, metin verileriyle çalışmak, birçok uygulamanın temelini oluşturur. Kullanıcı arayüzlerinden veri tabanlarına, dosya işlemlerinden ağ iletişimine <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/9-string-islemleri-string-manipulasyonu-ve-formatlama/" title="9. String İşlemleri (String Manipülasyonu ve Formatlama)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/9-string-islemleri-string-manipulasyonu-ve-formatlama/">9. String İşlemleri (String Manipülasyonu ve Formatlama)</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/4164418/pexels-photo-4164418.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">9. String İşlemleri (String Manipülasyonu ve Formatlama)</h1>



<p>Delphi programlama dilinde, metin verileriyle çalışmak, birçok uygulamanın temelini oluşturur. Kullanıcı arayüzlerinden veri tabanlarına, dosya işlemlerinden ağ iletişimine kadar her alanda stringlerle etkileşim halindeyiz. Delphi, string manipulasyonu ve formatlama için zengin bir araç seti sunar. Bu makalede, Delphi&#8217;de stringlerle nasıl etkili bir şekilde çalışabileceğinizi, farklı string fonksiyonlarını ve formatlama tekniklerini detaylı bir şekilde inceleyeceğiz.</p>



<h2 class="wp-block-heading">String Tanımlama ve Kullanımı</h2>



<p>Delphi&#8217;de stringler, <code>String</code> veri tipiyle tanımlanır. Delphi&#8217;nin modern versiyonlarında (Delphi 2009 ve sonrası), <code>UnicodeString</code> kullanılır; bu da çok çeşitli karakter setlerini destekleyerek global uygulamalar geliştirmeyi kolaylaştırır. Temel string tanımlama ve kullanma örneklerine bakalı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(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
  isim: String;
  soyisim: String;
  tamAd: String;
begin
  isim := 'Ahmet';
  soyisim := 'Yılmaz';
  tamAd := isim + ' ' + soyisim; // String birleştirme
  ShowMessage(tamAd);
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">  isim: </span><span style="color: #569CD6">String</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  soyisim: </span><span style="color: #569CD6">String</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  tamAd: </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">  isim := </span><span style="color: #CE9178">&#39;Ahmet&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  soyisim := </span><span style="color: #CE9178">&#39;Yılmaz&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  tamAd := isim + </span><span style="color: #CE9178">&#39; &#39;</span><span style="color: #D4D4D4"> + soyisim; </span><span style="color: #6A9955">// String birleştirme</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(tamAd);</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, iki string değişkeni tanımlayıp, değerlerini atadık ve ardından bu iki stringi birleştirerek yeni bir string oluşturduk. <code>+</code> operatörü, Delphi&#8217;de string birleştirme için kullanılır.</p>



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



<p>Delphi, stringlerle çalışmayı kolaylaştıran birçok yerleşik fonksiyon sunar. İşte en sık kullanılanlardan bazıları:</p>



<ul class="wp-block-list">
<li><strong>Length(String):</strong> Bir stringin uzunluğunu (karakter sayısını) döndürür.</li>



<li><strong>Copy(String, Başlangıç, Adet):</strong> Bir stringin belirli bir bölümünü kopyalar.</li>



<li><strong>Pos(AltString, String):</strong> Bir alt stringin, bir string içindeki ilk konumunu bulur. Eğer alt string bulunamazsa, 0 döndürür.</li>



<li><strong>Delete(String, Başlangıç, Adet):</strong> Bir stringden belirli sayıda karakteri siler.</li>



<li><strong>Insert(AltString, String, Pozisyon):</strong> Bir stringin içine başka bir stringi ekler.</li>



<li><strong>UpperCase(String):</strong> Bir stringi tamamen büyük harfe çevirir.</li>



<li><strong>LowerCase(String):</strong> Bir stringi tamamen küçük harfe çevirir.</li>



<li><strong>Trim(String):</strong> Bir stringin başındaki ve sonundaki boşlukları temizler.</li>



<li><strong>TrimLeft(String):</strong> Bir stringin solundaki boşlukları temizler.</li>



<li><strong>TrimRight(String):</strong> Bir stringin sağındaki boşlukları temizler.</li>
</ul>



<h3 class="wp-block-heading">Örnek Kullanımlar</h3>



<p>Bu fonksiyonların nasıl kullanıldığına dair bazı örnekler görelim:</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
  metin: String;
  uzunluk: Integer;
  altMetin: String;
  pozisyon: Integer;
begin
  metin := '  Merhaba Dünya!  ';
  uzunluk := Length(metin); // Uzunluk: 17 (boşluklarla birlikte)
  ShowMessage('Metnin uzunluğu: ' + IntToStr(uzunluk));

  altMetin := Copy(metin, 3, 7); // AltMetin: 'Merhaba'
  ShowMessage('Alt metin: ' + altMetin);

  pozisyon := Pos('Dünya', metin); // Pozisyon: 12
  ShowMessage('Dünya kelimesinin pozisyonu: ' + IntToStr(pozisyon));

  Delete(metin, 1, 2); // Metin: 'Merhaba Dünya!  ' (baştaki boşluklar silindi)
  ShowMessage('Silinmiş metin: ' + metin);

  Insert('Yeni ', metin, 9); // Metin: 'Merhaba Yeni Dünya!  '
  ShowMessage('Eklenmiş metin: ' + metin);

  metin := Trim(metin); // Metin: 'Merhaba Yeni Dünya!' (baştaki ve sondaki boşluklar silindi)
  ShowMessage('Trimlenmiş metin: ' + metin);
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">  metin: </span><span style="color: #569CD6">String</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  uzunluk: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  altMetin: </span><span style="color: #569CD6">String</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  pozisyon: </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">  metin := </span><span style="color: #CE9178">&#39;  Merhaba Dünya!  &#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  uzunluk := Length(metin); </span><span style="color: #6A9955">// Uzunluk: 17 (boşluklarla birlikte)</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Metnin uzunluğu: &#39;</span><span style="color: #D4D4D4"> + IntToStr(uzunluk));</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  altMetin := </span><span style="color: #569CD6">Copy</span><span style="color: #D4D4D4">(metin, </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">7</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// AltMetin: &#39;Merhaba&#39;</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Alt metin: &#39;</span><span style="color: #D4D4D4"> + altMetin);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  pozisyon := Pos(</span><span style="color: #CE9178">&#39;Dünya&#39;</span><span style="color: #D4D4D4">, metin); </span><span style="color: #6A9955">// Pozisyon: 12</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Dünya kelimesinin pozisyonu: &#39;</span><span style="color: #D4D4D4"> + IntToStr(pozisyon));</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  Delete(metin, </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Metin: &#39;Merhaba Dünya!  &#39; (baştaki boşluklar silindi)</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Silinmiş metin: &#39;</span><span style="color: #D4D4D4"> + metin);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  Insert(</span><span style="color: #CE9178">&#39;Yeni &#39;</span><span style="color: #D4D4D4">, metin, </span><span style="color: #B5CEA8">9</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Metin: &#39;Merhaba Yeni Dünya!  &#39;</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Eklenmiş metin: &#39;</span><span style="color: #D4D4D4"> + metin);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  metin := Trim(metin); </span><span style="color: #6A9955">// Metin: &#39;Merhaba Yeni Dünya!&#39; (baştaki ve sondaki boşluklar silindi)</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Trimlenmiş metin: &#39;</span><span style="color: #D4D4D4"> + metin);</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">String Formatlama</h2>



<p>String formatlama, değişken değerlerini belirli bir düzende bir stringe yerleştirmek için kullanılır. Delphi, bu işlem için <code>Format</code> fonksiyonunu ve <code>FormatFloat</code> fonksiyonunu sunar.</p>



<h3 class="wp-block-heading">Format Fonksiyonu</h3>



<p><code>Format</code> fonksiyonu, genel amaçlı formatlama için kullanılır. Biçimlendirme stringi ve bir dizi parametre alı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
  ad: String;
  yas: Integer;
  mesaj: String;
begin
  ad := 'Ayşe';
  yas := 25;
  mesaj := Format('Merhaba, %s! Yaşınız: %d', [ad, yas]);
  ShowMessage(mesaj); // Çıktı: Merhaba, Ayşe! Yaşınız: 25
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">  ad: </span><span style="color: #569CD6">String</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  yas: </span><span style="color: #569CD6">Integer</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  mesaj: </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">  ad := </span><span style="color: #CE9178">&#39;Ayşe&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  yas := </span><span style="color: #B5CEA8">25</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  mesaj := Format(</span><span style="color: #CE9178">&#39;Merhaba, %s! Yaşınız: %d&#39;</span><span style="color: #D4D4D4">, [ad, yas]);</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(mesaj); </span><span style="color: #6A9955">// Çıktı: Merhaba, Ayşe! Yaşınız: 25</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>%s</code> stringleri, <code>%d</code> ise integer değerleri temsil eder. <code>Format</code> fonksiyonuna geçirilen dizi, bu yer tutucuların yerine konacak değerleri içerir.</p>



<h3 class="wp-block-heading">FormatFloat Fonksiyonu</h3>



<p><code>FormatFloat</code> fonksiyonu, ondalıklı sayıları belirli bir biçimde formatlamak için kullanılır. Özellikle para birimi veya hassas ölçümlerle çalışırken kullanışlı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
  fiyat: Double;
  formatliFiyat: String;
begin
  fiyat := 1234.567;
  formatliFiyat := FormatFloat('0.00', fiyat); // İki ondalık basamaklı format
  ShowMessage('Fiyat: ' + formatliFiyat); // Çıktı: Fiyat: 1234.57 (yuvarlama yapılır)

  formatliFiyat := FormatFloat('#,##0.00', fiyat); // Binlik ayraçlı format
  ShowMessage('Fiyat: ' + formatliFiyat); // Çıktı: Fiyat: 1,234.57
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">  fiyat: </span><span style="color: #569CD6">Double</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  formatliFiyat: </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">  fiyat := </span><span style="color: #B5CEA8">1234.567</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  formatliFiyat := FormatFloat(</span><span style="color: #CE9178">&#39;0.00&#39;</span><span style="color: #D4D4D4">, fiyat); </span><span style="color: #6A9955">// İki ondalık basamaklı format</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Fiyat: &#39;</span><span style="color: #D4D4D4"> + formatliFiyat); </span><span style="color: #6A9955">// Çıktı: Fiyat: 1234.57 (yuvarlama yapılır)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  formatliFiyat := FormatFloat(</span><span style="color: #CE9178">&#39;#,##0.00&#39;</span><span style="color: #D4D4D4">, fiyat); </span><span style="color: #6A9955">// Binlik ayraçlı format</span></span>
<span class="line"><span style="color: #D4D4D4">  ShowMessage(</span><span style="color: #CE9178">&#39;Fiyat: &#39;</span><span style="color: #D4D4D4"> + formatliFiyat); </span><span style="color: #6A9955">// Çıktı: Fiyat: 1,234.57</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>'0.00'</code> format stringi, sayının iki ondalık basamakla gösterilmesini sağlar. <code>'#,##0.00'</code> ise binlik ayraçlarını ekler.</p>



<h2 class="wp-block-heading">String Builder Kullanımı</h2>



<p>Büyük string manipulasyonları yaparken, özellikle döngüler içinde string birleştirmeleri yaparken, performans sorunları yaşanabilir. Bu durumda <code>StringBuilder</code> sınıfını kullanmak daha verimli olabilir. <code>StringBuilder</code>, stringleri bellekte sürekli yeniden oluşturmak yerine, bir arabellek kullanarak stringleri bir araya getirir ve sonunda tek bir string olarak döndürü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="
uses
  System.SysUtils, System.Classes;

var
  i: Integer;
  sb: TStringBuilder;
  sonuc: String;
begin
  sb := TStringBuilder.Create;
  try
    for i := 1 to 1000 do
    begin
      sb.Append('Satır ' + IntToStr(i) + #13#10); // #13#10: Yeni satır karakteri
    end;
    sonuc := sb.ToString;
    // ShowMessage(sonuc); // Çok uzun olduğu için göstermiyoruz
  finally
    sb.Free;
  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">uses</span></span>
<span class="line"><span style="color: #D4D4D4">  System.SysUtils, System.Classes;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">var</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">  sb: TStringBuilder;</span></span>
<span class="line"><span style="color: #D4D4D4">  sonuc: </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">  sb := TStringBuilder.Create;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">try</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">1</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">to</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">1000</span><span style="color: #D4D4D4"> </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">      sb.Append(</span><span style="color: #CE9178">&#39;Satır &#39;</span><span style="color: #D4D4D4"> + IntToStr(i) + </span><span style="color: #CE9178">#13#10</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// #13#10: Yeni satır karakteri</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">    sonuc := sb.ToString;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">// ShowMessage(sonuc); // Çok uzun olduğu için göstermiyoruz</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">finally</span></span>
<span class="line"><span style="color: #D4D4D4">    sb.Free;</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>TStringBuilder</code> nesnesi oluşturulur, döngü içinde stringler bu nesneye eklenir ve sonunda <code>ToString</code> metodu ile tek bir string elde edilir. <code>try...finally</code> bloğu, <code>StringBuilder</code> nesnesinin her durumda serbest bırakılmasını sağlar.</p>



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



<p>Delphi&#8217;de string işlemleri, uygulama geliştirmenin ayrılmaz bir parçasıdır. Bu makalede, temel string fonksiyonlarını, formatlama tekniklerini ve <code>StringBuilder</code> sınıfını kullanarak daha verimli string manipulasyonları yapmayı öğrendik. Bu bilgiler, Delphi projelerinizde metin verileriyle daha etkili bir şekilde çalışmanıza yardımcı olacaktır. <em>String manipulasyonu ve formatlama</em> konusundaki bu bilgilerle, uygulamalarınızı daha kullanıcı dostu ve işlevsel hale getirebilirsiniz.</p>
<p><a href="https://www.kesifruhu.com/yazilim/9-string-islemleri-string-manipulasyonu-ve-formatlama/">9. String İşlemleri (String Manipülasyonu ve Formatlama)</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/9-string-islemleri-string-manipulasyonu-ve-formatlama/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
