Uzantısı txt olmayan dosya almak.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
kadirhanpolat
Üye
Mesajlar: 9
Kayıt: 05 Tem 2007 12:06

Uzantısı txt olmayan dosya almak.

Mesaj gönderen kadirhanpolat »

Merhabalar deyip hemen soruma geçmek istiyorum :
Amacım uzantısı txt olmayan dosyaların içeriğini Memo ya almak. Böyle bir dosyayı TextFile bir değişkene atayarak Readln ile satır satır okutuyorum ve Memo ya ekliyorum. Ama satırdaki verinin tamamının alınmadığını görüyorum. Bunu da uzantısı txt olmayan dosyayı notepad le açtığımda farkediyorum. Ayrıca normalde çok satır alması gerekirken sadece 2 satır alıyor. kodlarını şöyle özetleyeyim...

var
Dosya : TextFile;
Satir : AnsiString;

begin
AssignFile(Dosya,'D:\deneme.gif');
Reset(Dosya);
while not Eof(Dosya) do
begin
Readln(Dosya,Satir);
Memo.Lines.Add(Satir);
end;
CloseFile(GidenDosyaText);
end;

Normalde windows ta herhangi bir dosyayı txt olarak açabiliyoruz. Ben de sadece bu verileri kendi programımdaki memo ya eklemek istiyorum. Ama olmuyor. Yardımlarınızı bekliyorum.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Uzantısı txt olmayan dosya almak.

Mesaj gönderen Battosai »

Kod: Tümünü seç

memo.lines.loadfromfile('D:\deneme.gif');
Bu şekilde daha kolay...uzantısı ne olursa olsun içeriği text olan bütün dosyalar okunur....
kadirhanpolat
Üye
Mesajlar: 9
Kayıt: 05 Tem 2007 12:06

Re: Uzantısı txt olmayan dosya almak.

Mesaj gönderen kadirhanpolat »

Dediğin yöntem ile de olmadı. Dosyanın note pad ile açılmış hali. Ve de sizin deiğiniz yöntemle memoya eklenen veri. Benim yöntem de işlemedi.
Resim

Aslında sizin söylediğiniz kafama takıldı. Sonuçta hangi dosya olursa olsun. NotePad de text olarak açabiliyoruz. Yani her dosyaya text dosya gözüyle bakamaz mıyız?
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Uzantısı txt olmayan dosya almak.

Mesaj gönderen Battosai »

Ben içeriği text olandan bahsediyorum .gif uzantısını kandırmaca olarak verdin sandım...Memo sadece text içindir...içeriği text olmayan dosayları yükleyemezsin yani....notepad bizim kulladığımz memo bileşeni gibi değil elbet....
kadirhanpolat
Üye
Mesajlar: 9
Kayıt: 05 Tem 2007 12:06

Re: Uzantısı txt olmayan dosya almak.

Mesaj gönderen kadirhanpolat »

Bu ikisi arasındaki farkı anlatabilir misin? Çok merak ettim. Ve uzun süre bekleyebilirim cevabını...
Satir içindekileri Memo ya eklemeden direk olarak farklı bir dosya oluşturup ona satır satır eklediğimde de olmuyor. Bunun nedenini merak ediyorum... Verdiğiniz ve vereceğiniz cevaplar için teşekkürler.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Uzantısı txt olmayan dosya almak.

Mesaj gönderen sabanakman »

Metin (Text) dosyasının tasarımı özeldir. Bazı karakterlerin özel anlamları vardır. Mesela dosyada bulunan bilgiler karakterlerden oluşur ve bu karakterler #0..#255 arası 256 adettirler . Metin dosyasında bilgiler #32. karakter ve sonrasından oluşur. Peki, #32'den önceki karakterlere ne oldu diye soracak olursan hemen söyleyeyim. Bu karakterlerden bir çoğunun özel anlamları vardır ve bir kısım metin editörü bu karakterlerin bir çoğunu da gösteremezler (TMemo da bunlardan birisi). Mesela #13 alt satıra atla anlamına gelir. #10 ise satır başına git. Bir metin dosyasında her satır atlamada aslında #13#10# karakterleri beraber vardır. Yani bir metin dosyasında 10 satır varsa 9 tane #13#10 karakterleri ile satırlar birbirinden ayrılmıştır. #8 bir sola gider #9 ise 8'in katları olan sütunlara yönelir (farklı editörlerde değişebilir). Yine metin dosyaları #26 karakteri ile sonlanır. Sonrası dikkate alınmaz. Halbuki ikili (binary) dosyalar bütün kodları içerisinde barındırabilir ve içindeki bilgilerin anlamı sadece o dosyayı çalıştıran uygulamaların yorumlayacağı bir iştir. O yüzden metin editörlerinde metin dosyalarının haricinde dosyalarla işlem yapamazsın.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
kadirhanpolat
Üye
Mesajlar: 9
Kayıt: 05 Tem 2007 12:06

Re: Uzantısı txt olmayan dosya almak.

Mesaj gönderen kadirhanpolat »

Verdiğin bilgiler ışında merakımı iyice artıran bu 31 e kadar olan karakterlerin hepsinin text teki görevlerini öğrenebileceğim bir adres, döküman veya bilginizi paylaşabilir misiniz? Aslında sorduğum sorunun cevabını aldığımı düşünüyorum. Ama bu eksiğimi kapatmak istiyorum.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Uzantısı txt olmayan dosya almak.

Mesaj gönderen sabanakman »

Aslında bun karakterleri (ASCII kod karakterleri) illaki ezbere bilmen gerekmez ama açıklamalı bir ASCII kod tablosu bulup incelemen yerinde olacaktır.
Örnek olarak indirip incelemnde fayda var -> http://www.batul.deu.edu.tr/tbtweb/Graf ... lar%FD.pdf
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
mehmetcan
Üye
Mesajlar: 63
Kayıt: 14 Tem 2008 05:19

Re: Uzantısı txt olmayan dosya almak.

Mesaj gönderen mehmetcan »

Ascii eskidir, unicode daha geçerli bir standart. Yine de ögrenmende fayda var. Ascii nin sorunu latince dışında diger dilleri (özellikle japonca, çince gibi kanji karakterleri kullananları) tam desteklememesidir.

http://www.asciitable.com/
http://www.unicode.org/standard/standard.html
Kullanıcı avatarı
hbahadir
Kıdemli Üye
Mesajlar: 544
Kayıt: 06 Ara 2004 05:03
Konum: BURSA idi artık İST.
İletişim:

Re: Uzantısı txt olmayan dosya almak.

Mesaj gönderen hbahadir »

Kullandığın bileşenden kaynaklanan bir durum bu. Memo text dosyalarını göstermek için dizayn edilmiş bir bileşen. Başka bir bileşenle denemeni tavsiye ederim.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Uzantısı txt olmayan dosya almak.

Mesaj gönderen conari »

kadirhanpolat yazdı:Verdiğin bilgiler ışında merakımı iyice artıran bu 31 e kadar olan karakterlerin hepsinin text teki görevlerini öğrenebileceğim bir adres, döküman veya bilginizi paylaşabilir misiniz? Aslında sorduğum sorunun cevabını aldığımı düşünüyorum. Ama bu eksiğimi kapatmak istiyorum.
http://www.asciitable.com/
http://www.lookuptables.com
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Cevapla