Dosya Uzantısı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
espasem
Üye
Mesajlar: 55
Kayıt: 05 May 2005 01:37
Konum: KOCAELİ

Dosya Uzantısı

Mesaj gönderen espasem »

arkadaşlar
seçilen dosyanın uzantısını bulmak için kullanılan bir fonksiyon/komut varmı?
Kod yazmaya devam...
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

SysUtils'de ExtractFileExt function'ı var.
Kullanıcı avatarı
espasem
Üye
Mesajlar: 55
Kayıt: 05 May 2005 01:37
Konum: KOCAELİ

Mesaj gönderen espasem »

evt
onu buldum zaten sağolun

aslında benim tam olarak yapmak istediğim şey:
seçilen bir dosyanın aynı formatta mesela;"dosya.doc" isimli dosyanın aynı formatta dosya1.doc dosya2.doc olarak dosya oluşturmasını sağlamak.
bundan sonra ne yapabilirim
Kod yazmaya devam...
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Tam Anlamakala birlikte Kopyalamayı deniyebilirsin.

Copyfile i bir dene
I love my car.
Blog Yaptık
Kullanıcı avatarı
espasem
Üye
Mesajlar: 55
Kayıt: 05 May 2005 01:37
Konum: KOCAELİ

Mesaj gönderen espasem »

copyfile() dan önce şu işlemi yapmak istiyorum.
baz alınacak dosya: den.doc olsun
ben bu bu dosyayı baz alarak den1.doc , den2.doc... olarak dosya oluşturmak istiyorum. amaç dbaz alınacak dosyadan istenilen byte kadar veri okuyup den1.doc,den2.doc dosyasına kaydetmek
Kod yazmaya devam...
Kullanıcı avatarı
espasem
Üye
Mesajlar: 55
Kayıt: 05 May 2005 01:37
Konum: KOCAELİ

Mesaj gönderen espasem »

arkadaşlar
acil lazım yardım ederseniz sevinirim

ÇOKKKKK TEŞEKKÜRLER
Kod yazmaya devam...
Kullanıcı avatarı
espasem
Üye
Mesajlar: 55
Kayıt: 05 May 2005 01:37
Konum: KOCAELİ

Mesaj gönderen espasem »

@FreeMan35 Tarafından değiştirildi

forum kurallarını okuyalım. bu tip çok acil vs gibi mesajları gördüğümde soruları dahil tüm mesajlarını sileceğim. Eğer şahıs devam ederse, üyeliğini iptal edeceğim.
Kod yazmaya devam...
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Maksat verilen örnekteki gibi .DOC (Word veya benzeri) dosyalardan biri kısım alıp kopyalamaksa bu tür bir işlem ne işinize yarıyabilir ki? Çünkü word dosyasında bir kısmını almak ekrandan gördüğünüzü yazının bir kısmı anlamına gelmez. Dosyanın başında, sonunda yada herhangi bir yerinde döküman yapısı ile ilgili bilgiler mevcuttur. Aynı olay .jpg, .gif, .bmp (image) dosyaları için de geçerlidir. Yine de BlockRead(..) / BlockWrite(..) in kullanımına bakabilirsin..
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
espasem
Üye
Mesajlar: 55
Kayıt: 05 May 2005 01:37
Konum: KOCAELİ

Mesaj gönderen espasem »

öncelikle özür diliyorum

amacım şu :
örn; diskete sığmayan bir dosyanız mevcut veonu başka bilgisayara taşımak istiyosunuz. cdrw yok internet yok işte dosyayı bir kaç diskete bölüp
sonra da birleştirmek. umarım açıktır yeterince..

blockread()
ve blockwrite() komutlarından önce
anlattığım gibi dosya oluşturma aşaması var orda takıldım


çookk teşekkür ediyorum.
Kod yazmaya devam...
Kullanıcı avatarı
espasem
Üye
Mesajlar: 55
Kayıt: 05 May 2005 01:37
Konum: KOCAELİ

Mesaj gönderen espasem »

dosya oluşturma işini hallettim istediğim gibi oluyo.
ama şimdi aynı anda bir dosyadan okuyup okuduğum byte kadarını oluşturduğum dosyaya atmam lazım. bunu aynı anda nasıl yapabilirim?
Kod yazmaya devam...
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

Kod: Tümünü seç

var
  FromF, ToF: file of byte;
  Buffer: array[0..4096] of char;
  NumRead: integer;
  FileLength: longint;
begin
  if OpenDialog1.Execute then
    AssignFile(FromF, OpenDialog1.FileName);
  reset(FromF);
  AssignFile(ToF, 'c:\Avseq01.dat');
  rewrite(ToF);
  FileLength := FileSize(FromF);
  Min := 0;
  Max := FileLength;
  while FileLength > 0 do
  begin
    BlockRead(FromF, Buffer[0], SizeOf(Buffer), NumRead);
    FileLength := FileLength - NumRead;
    BlockWrite(ToF, Buffer[0], NumRead);
  end;
  CloseFile(FromF);
  CloseFile(ToF);
end;
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
espasem
Üye
Mesajlar: 55
Kayıt: 05 May 2005 01:37
Konum: KOCAELİ

Mesaj gönderen espasem »

kod için teşekkürler
ama benim istediğimi yapmıyo dosyanın tamamını kopyalamayı ben de yaptım ama dosyanın girilen "byte" kadarını kopyalayacak.
bunun mantığını nasıl oluşturabilirim onu bilmiyorum...
Kod yazmaya devam...
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

Kod daki FileLength e kopyalamak istediğin miktarı yazarsan istediğini yapar. Ancak, bu işlemi Binary dosyalara uygularsan dosya çalışmaz :!:
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
espasem
Üye
Mesajlar: 55
Kayıt: 05 May 2005 01:37
Konum: KOCAELİ

Mesaj gönderen espasem »

Kaç byte yazarsam yazayım dosyanın hepsini kopyalıyo. acaba
buffer[1..4096] daki 4096 yerine istediğim byte kadarını yazdım. bu seferde kopyaladığım dosyayı açtığımda;

"belge adı veya yolu geçerli değil"

mesajını veriyo.

acaba kopyaladığım dosyanın örn;120 byte nı okudu. tamamını görmediği için mi?[/img]
Kod yazmaya devam...
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

buffer[1..4096] daki 4096; dosyayı her okuduğunda kaç byte okuyacağını belirtir.
mesela burayı buffer[1..1024] (1024 byte) yaparsak, 3 kb. lik bir text dosyasını 3 blokta okur. yani, 1024 * 3 olarak. çok küçük dosyalarla işlem yapılacaksa burayı küçük tutmak gerekir.

şimdi, 3 kb.lik bir dosyanın sadece 2 kb sini okuyacaksan,
buffer=1024, FileLength := 2048; yap,
dosyadan 2 * 1024 okur.
DeveloperToolKit

..::|YeşilMavi|::..
Cevapla