Konu: MENUDE YAZICI SEÇİMİ
Programımdaki menude yazıcı ayarlarını koydum ancak tıkladığımda yukarıdaki görüntü çıkıyor. Benim istediğim birden fazla yazıcının olduğu bir ortamda yazıcı seçimi yapabilmem. Bu konuda yardımcı olursanız sevinirim.
Giriş yapmadınız. Lütfen giriş yapın yada kayıt olun.
Programımdaki menude yazıcı ayarlarını koydum ancak tıkladığımda yukarıdaki görüntü çıkıyor. Benim istediğim birden fazla yazıcının olduğu bir ortamda yazıcı seçimi yapabilmem. Bu konuda yardımcı olursanız sevinirim.
Set Printer to name (GetPrinter())
TAMAMLAYICI BAZI ÇEŞİTLEMELER :
Herhangi bir kontrolde hangi printer seçili:
.Kontrol.ControlSource='(SET("PRINTER",3))'
------
Printerler arası seçim:
*Combobox Init Event
APRINTERS(ThisForm.aYaz)
This.RowSource="ThisForm.aYaz"
m.prntr=SET("PRINTER",3)
FOR m.Xi=1 TO ALEN(ThisForm.aYaz,1)
IF UPPER(ThisForm.aYaz[m.Xi,1])==UPPER(m.prntr)
This.ListIndex=m.Xi
EXIT
ENDI
ENDF
*Combobox Click Event
lcOutputPrinter = ThisForm.aYaz[This.ListIndex,1]
SET PRINTER TO NAME (lcOutputPrinter)
---------
başka bir komut:
SYS(1037)
*Displays the Visual FoxPro default or report Page Setup dialog box, or sets printer settings for the default printer in Visual FoxPro or for the report printer environment.
Sen muhtemelen buna takılıyorsun, Yazıcı düğmesi ile seçeneklere ulaşırsın.
Ancak Report Properties -> Page Layout tabında "Save printer envionment" işaretini kaldırmayı unutma. (Metin B. daha önce vurglamıştı)
Ne yaptıysam olmuyor. Programı exe haline getiriyorum. Başka bir bilgisayarda çalıştırdığımda rapor çıktıları o bilgisayara tanımlı olmayan, benim bilgisayarıma tanımlı ağ yazıcısından geliyor. Bunu önlemeye çalışıyorum. Aklım ermedi.:(
exe haline getirmeden proje açıkken aşağıdaki programı çalıştır.
LOCAL cRptFile, i, p
** PROCEDURE setfrx
FOR p = 1 TO application.Projects.Count
FOR i = 1 TO application.Projects(p).Files.Count
cRptFile = application.Projects(p).Files(i).NAME
IF UPPER(JUSTEXT(cRptFile)) = "FRX"
WAIT WINDOW cRptFile && add NOWAIT if desired
USE (cRptFile)
LOCATE
** REPLACE Expr WITH "", Tag WITH "", Tag2 WITH ""
** Above line releases and following inserted
** to preserve the Report ORIENTATION
REPLACE Expr WITH ;
MLINE(Expr,ATLINE("ORIENTATION",Expr)), ;
Tag WITH "", Tag2 WITH ""
USE
ENDIF
ENDFOR
ENDFOR
RETURN
**********************************************************
** Ramani (Subramanian.G), FoxAcc, ramani_g@yahoo.com
** EOF
**********************************************************
Çetin B. daha iyi anlatacaktır. (Galiba kodu o önermişti)
Projedeki raporlardaki printer komutlarını düzenliyor.
Gene de esas denemen gereken:
-Rapor dosyası açıkken
-menüden File -> Page Setup tıkla,
- çıkan pencerede: save printer environment İŞARETSİZ OLMALI
Ne yaptıysam olmuyor. Programı exe haline getiriyorum. Başka bir bilgisayarda çalıştırdığımda rapor çıktıları o bilgisayara tanımlı olmayan, benim bilgisayarıma tanımlı ağ yazıcısından geliyor. Bunu önlemeye çalışıyorum. Aklım ermedi.:(
arkadaşın dediği gibi save printer environment'teki işareti kaldırman gerekiyor.
İşaret zaten yoktu. İşareti koyunca problemim çözüldü. İlgilenenlere teşekkür ederim.