dosya okuma problemi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

dosya okuma problemi

Mesaj gönderen serbek_tr »

Kolay gelsin arkadaşlar;
kendince bir formatı olan ne olduğu belli olmayan bir dosya var
wordpad ve not defterinin açtığı bu dosyayı ne memo ya nede richedit e açamıyorum 3-5 karakter haricinde birşey çıkmıyor
textfile olarak okuyayım dedim

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
  F1 : TextFile;
  Ch: Char;
  Text : String;
begin

    AssignFile(F1, 'C:\xxx.yyy');
    Reset(F1);

    While Not Eof(F1) Do
    Begin
      Read(F1, Ch);
      Text := Text+Ch;
    End;
    CloseFile(F1);
   memo1.text := Text;
end;
bu kodlamayla açıp memoya aktardığımda da aynı karakterler hariç başka birşey açmadı. ilk aklıma gelen okuduğumu görüntülemek oldu döngü içinde

Kod: Tümünü seç

showmessage(inttostr(ord(ch))) 
dediğimde en son bu değerin 26 olduğunu gördüm buna dayanaraktan bunun dosya sonu ibaresi olduğunu düşünüyorum ve bana asıl lazım olan bundan sonrakiler. kısacası not defteri veya word pad te olduğu gibi dosya açılmıyor. bunu memo veya richedit e nasıl açarım yardımcı olursanız sevinirim. saygılar
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: dosya okuma problemi

Mesaj gönderen CiTiZEN »

Kod: Tümünü seç

memo1.lines.loadfromfile('DOSYA YOLU'); 
yazıp denedınız mı hiç bu kod bildiğim kadarıyla dosya içindekileri direkt alıp yüklüyor belkıde dediğiniz dosya içindekileri memo veya richedit okuyamıyordur.
UWESIS CORPORATION
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Re: dosya okuma problemi

Mesaj gönderen serbek_tr »

denedim, zaten normal şartlarda memo yada richedit dosya yüklemesin ilk kullandığımız şey o
yüklenen metinde ĞÏࡱ aynen bu. hata memory e yükledim ordan alayım dedim aynı şey oldu ancak memory size baktığımda yada yukarıdaki ilk döngüde dosya size ına baktığımda karakter sayısını tam olarak veriyor ama yüklemiyor
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: dosya okuma problemi

Mesaj gönderen CiTiZEN »

Karakterler Ascii felan olabilirde memo tanımıyor olabilir belki
UWESIS CORPORATION
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: dosya okuma problemi

Mesaj gönderen csunguray »

Genelde dosyaların hemen başında o dosyanın türüyle ilgili bir imza olur. Bir çok program o imzaya bakarak o dodyayı doğru yorumlayabilirler. Dosyayı wordpad ile açtıktan sonra farklı kaydet seçeneği ile kydetmeye çalışın. Sanırım o zaman türünü gösterecektir.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Re: dosya okuma problemi

Mesaj gönderen serbek_tr »

dosyanın bilindik bir türü yok dosya özel olarak formatlanmış bana iletilen sadece bu ne dosyası olduğuda belli değil yani text değil rtf değil doc değil vs. yani türü yok bir soyu yok bu dosyanın. word pad ile açtığımda farklı kaydeti de denedim metin dosyası olarak kayıt ediyor ama değişen bir şey olmuyor. Filestream ile denedim memory stream ile denedim normal dosya açma yöntemlerini denedim stringlist ile denedim hiç biri sonuç vermedi ama hepsinde özellikle yaptığım şey size lara baktım hepsi aynı 6 binin üstünde ama hepsi aynı yere yere kadar gösteriyor. notdefteri veya wordpad açtığını delphi de memo veya richedit nasıl açamıyor şaşırdım yani ve şu an bu problemin üstesinden gelmek zorundayım
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Re: dosya okuma problemi

Mesaj gönderen serbek_tr »

Kod: Tümünü seç

 try
     ds:=TFileStream.Create(dsy, fmOpenReadWrite or fmShareDenyNone);
     UZ:=ds.Size-1;
     FOR  I:=0 TO UZ DO BEGIN
     ds.Seek( I, soFromBeginning);
     ds.ReadBuffer(scrS, SizeOf(1));
     yaz.text:=yaz.text+chr(scrs);
     update;
   end;
     ds.Free;
    except
     on e:exception do
   end;
  
arkadaşlar bu şekilde dosyanın içerigini aldım ancak 5k lık bir dosyanın bu şekilde okunması 3 dk sürüyor bu çok uzun bir süre memo ve ya richedit gibi anında açma imkanım varmıdır
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
turkerunutmaz
Üye
Mesajlar: 57
Kayıt: 04 Oca 2008 04:53
Konum: İstanbul
İletişim:

Re: dosya okuma problemi

Mesaj gönderen turkerunutmaz »

denemedim ama çalışması lazım. (text:string)

Kod: Tümünü seç

try
    ds:=TFileStream.Create(dsy, fmOpenReadWrite or fmShareDenyNone);
    setlength(text,ds.size);
    ds.readbuffer(pointer(text)^,ds.size);
    memo1.lines.text:=text;
    ds.Free;
except
     on e:exception do
end;
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Re: dosya okuma problemi

Mesaj gönderen serbek_tr »

İşe yaramadı arkadşım normal loadfromfile ile ne geliyorsa aynı geliyor.
Dos prompt ta edit bile açıyor bunu çok sorun oldu benim için
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Re: dosya okuma problemi

Mesaj gönderen serbek_tr »

Arkadaşlar bakınca çözüm bulabilcek varsa mail adresi verin dosyayı göndereyim böyle elde veri olmadan söylemek ve yardım istemek kolay ama veri olursa daha net olur. tabi bu bir rica.
hemen hemen her yolu denedim
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: dosya okuma problemi

Mesaj gönderen CiTiZEN »

Amacınız açmaksa Winrar ile açmayı denediniz mi hiç? Eger hala açamamışsanız dosyanızda özel değilse iletişime geçin adresimi vereyim gönderin.
UWESIS CORPORATION
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Re: dosya okuma problemi

Mesaj gönderen serbek_tr »

hala açamadım arkadaşım adresini verirsen dosyayı gönderirim ilgin için teşekkür ederim
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: dosya okuma problemi

Mesaj gönderen CiTiZEN »

Hocam ö.m kapalı sanırım adresi gönderemedim
UWESIS CORPORATION
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Re: dosya okuma problemi

Mesaj gönderen serbek_tr »

evet arakdaşım ö.m kapalı bende gönderemiyorum. neyse artık sağlık olsun
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Cevapla