<?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>TextFile arşivleri - Keşif Ruhu</title>
	<atom:link href="https://www.kesifruhu.com/tag/textfile/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.kesifruhu.com/tag/textfile/</link>
	<description>Keşfet, Deneyimle, Paylaş</description>
	<lastBuildDate>Thu, 24 Apr 2025 16:02:33 +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>TextFile arşivleri - Keşif Ruhu</title>
	<link>https://www.kesifruhu.com/tag/textfile/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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>
	</channel>
</rss>
