1

Konu: Nokta vuruşlu yazıcı da Türkçe karekter

Selamlar;
Aşağıdaki kod ile türkçe karekterlerde sorun yaşıyorum. nasıl çözebilirim.

Sanırım sorun yazıcıya göndermede değil. txt dosyasının windows formatında olmasından kaynaklanıyor.

Oluşan dosyayı winword ile açtığımda MD-DOS mod ile açarsam normal görünüyor.

XFRX ile veya başka bir yöntemle frx dosyamı  türkçe ve msdos formatına nasıl getirebilirim.

Visual Fox Pro
1

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Local loObj, tcExportName,Lctip

If Directory("rfiles")
    tcExportName="Rfiles\"+Sys(3)
   Lctip="PLAIN"
   If !Empty(tcExportName)
       tcExportName=tcExportName+"."+m.Lctip
   Endif
   loObj    = Evaluate([XFRX("XFRX#LISTENER")])
   lnRetVal = loObj.SetParams(m.tcExportName,,.T.,,,,m.Lctip)
   If lnRetVal = 0
       Report Form reports\fatura.frx Object loObj Nopageeject
   Else
       Messagebox("Hata Kodu:"+Alltrim(Str(lnRetVal)))
   Endif
   loObj.finalize()
   loObj = .Null.
Else
   Wait Window "Rfiles klasörü açınız."
Endif
Frxtolpt1(m.tcExportName,"Lpt1")
 
Function Frxtolpt1
Lparameters xfile,xport
If Empty(xfile) Or Empty(xport)
   Return
Endif
*!*     Example usage:
* download id 9957
**xfile="c:\test.txt"
**xport='MM'
Set Proc To progs\dirprtclass.prg Additive
Set Proc To progs\clsheap.prg Additive
Local xstr
xstr=Filetostr(m.xfile)
*!*    * Note - CLSHeap.PRG needs to be in your SET PROC list, or part of your project
oDirPrt = Createobj('DirectPrintOutput')
With oDirPrt
   .PrinterOpen(m.xport) && Arg can be a Win Printer name, port, or a print queue - works with both MSNetwork
*!*                             && and NetWare queues.  It also works with CAPTUREd or NET USEd printer ports
   If .PrinterIsOpen()
       .DocOpen('KalemSpool')
       .DocWrite(m.xstr)
       .SpoolFile('KalemSpoolFile.TMP', .T.) && Spool file and delete after printed
       .DocClose()
       .PrinterClose()  && close both current job and the printer
       Wait Window 'Yazıcı Yazdırılıyor...' Nowa
   Else
       Wait Window 'Yazıcı Problemi...' Nowa
   Endif
Endwith
Endfunc
Bilmediğin Neyse Yanıldığındır.

2

Re: Nokta vuruşlu yazıcı da Türkçe karekter

çok kolay. bu fonksiyonu kullan:

Visual Fox Pro
1

2
LPARAMETERS xfile 

  STRTOFILE(CPCONVERT(CPCURRENT(1) ,CPCURRENT(2),FILETOSTR(m.xfile)),m.xfile)
Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

3

Re: Nokta vuruşlu yazıcı da Türkçe karekter

Selamlar;
Metin abi tabii olarak insan bilince farklı oluyor. Teşekkürler. Son durum aşağıdadır.

Visual Fox Pro
1

2
3
4
5
6
7
8
9
gnerrfile = Fcreate('c:\test2.txt')  && If not create it

If gnerrfile > 0     && Check for error opening file
    =Fwrite(gnerrfile ,'ÜĞİŞÇÖüğişçö')
Endif
=Fclose(gnerrfile )     && Close file
 
xfile='c:\test2.txt'
xfile1='c:\test3.txt'
Strtofile(Cpconvert(857,Cpcurrent(2),Filetostr(m.xfile)),m.xfile1)
Bilmediğin Neyse Yanıldığındır.

4

Re: Nokta vuruşlu yazıcı da Türkçe karekter

bişey değil. orda 857'ye gerek yoktu. dos'ta ki kod sayfası neyse onu yani 857 yi otomatik alıyor zaten. ama windows tercihleri ingilizce ayarlıysa gerekir tabii. o zaman 857,1254 yazarsın.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com