Bat dosyası exeden çalıştırılınca çalışıyor ama işlevsiz.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Bat dosyası exeden çalıştırılınca çalışıyor ama işlevsiz.

Mesaj gönderen NewMember »

Arkadaşlar merhaba;

Bir txt dosyanın içinde barkod yazıcıya yazdırma bilgileri ve komutları var.Adı Yazdir.txt
İçeriği Aşağıda.

Kod: Tümünü seç

I8,6
OD 
N
D8
S2
ZT
A200,3,0,3,1,1,N,"PSIKOTED SAGLIK HIZMETLERI LTD.STI."
X200,23,1,650,25
A200,30,0,3,1,1,N,"PROTOKOL      :0000000000219"
A400,30,0,1,1,1,N,"ADMIN"
A200,50,0,1,1,1,N,"ADI SOYADI   :AHMET AKKAS"
A200,65,0,1,1,1,N,
A200,80,0,1,1,1,N,
A200,95,0,1,1,1,N,"TC KIMLIK NO :12986307646"
A200,110,0,1,1,1,N,"DOĞUM TARIHI :01.01.1964"
A200,125,0,1,1,1,N,"ADRESI       :\"
A200,140,0,1,1,1,N,"ISLEM TARIHI :17.05.2011"
A560,140,0,1,1,1,N,"ISLEM SAATI  :14:15:44"
A440,155,0,4,1,1,N,
A400,185,0,3,1,1,N,
A430,178,0,3,1,1,N,
B220,155,0,1,2,4,40,N,"0000000000219"
P1

Bu dosyayı içeriği aşağıda olan Yazdir.bat isimli bat dosyası ile yazdırmaya çalışıyorum.

Kod: Tümünü seç

print Yazdir.txt  :lpt1
Bu bat dosyasına program dışından çift tıklayınca dos penceresi açılıp kapanıyor ve barkodu sorunsuz bir şekilde bastıırıyor.

Ancak bu Yazdir.bat dosyasını delphi de oluşturduğum exe ile çalıştırdığımda dos penceresi açılıp kapanıyor ancak yazdırma işlemi gerçekleşmiyor.

Delphide kulllandığım komutta aşağıda.

Kod: Tümünü seç

procedure BarkodYazdir;
var dosyayolu:PChar;
begin
   dosyayolu:=PChar(ExtractFilePath(Application.ExeName)+'AYARLAR\Yazdir.bat');
  try
    WinExec(dosyayolu, sw_show);
  except
    Application.MessageBox('Yazdir.bat İsimli Dosya Bulunamıyor.Dosyanın Bilgisayarınızda Bulunduğundan Emin Olup Sonra Tekrar Deneyiniz.', 'Uyarı', MB_ICONINFORMATION);
  end;
end;
Bu konuda bir fikriniz varmı?
Teşekkürler....
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: Bat dosyası exeden çalıştırılınca çalışıyor ama işlevsiz

Mesaj gönderen G.Arkas »

dosyayolu değişkenini pchar içinde tanımlamayı denermisin. birde bence bat kullanma bu kadar basit bir yazdırma işlemini tek komutla yapabiilirsin zaten.
Resim
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Bat dosyası exeden çalıştırılınca çalışıyor ama işlevsiz

Mesaj gönderen NewMember »

Merhaba dediğiniz gibi PChar parametresini direk olarak verdim ama sonuç gene aynı.
Direk print metodu ile yazdırın demişsiniz ama o zaman Yazdir.txt dosyasının içindekileri normal bir text gibi okuyup o şekilde yazdırıyor.Ama bu şekilde bat dosyası ile bunu komut olarak gönderiyor.
yada ben bilgi eksikliğimden tam olarak ne dediğinizi anlayamamış olabilirim.Direk yazdrıma ile ilgili bir örnek kod paylaşabilirseniz sevinir..
Teşekkürler.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Bat dosyası exeden çalıştırılınca çalışıyor ama işlevsiz

Mesaj gönderen aslangeri »

s.a.
eğer barkod yazıcı direk lpt portuna bağlı ise aşağıdaki kodla yazıdrabilmeniz lazım

Kod: Tümünü seç

procedure TfMain.BarkotYaz;
var
  i:integer;
  F: TextFile;
Begin
  AssignFile(F, 'LPT1');// LPT2,COM1,COM2...
  Rewrite(F);
  for i:=0 to MBarkod.lines.count-1 do
  begin
    Writeln(F, MBarkod.lines[i]);
  end;
  CloseFile(F);
end;
mbarkod memo, txt dosyasında yazılan bilgiler var.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Bat dosyası exeden çalıştırılınca çalışıyor ama işlevsiz

Mesaj gönderen NewMember »

aslangeri çok teşekkürler.Bu şekilde çalıştı. :bravo:
Cevapla