Italia
Foro

Druckauswahldialog, Array, Drucken, Schriftart

 
- Page 1 -



Julian
Schmidt
Hey Leute,
warum druckt der Quelltext das Array nicht aus?
Wie kann ich außerdem den Text eine andere Schriftart geben (Über UseFont geht es leider nicht)?
 $H Windows.ph
Def @ChoosePrinter(1) !"COMDLG32.DLL", "PrintDlgA"
Declare DOCINFO#, text$[]
Struct DOCINFO = cbSize&,lpszDocName&,lpszOutput&,lpszDatatype&,fwType&
Dim DOCINFO#, DOCINFO
Declare PRINTDLG#
Struct PRINTDLG = lStructSize&,hWndOwner&,hDevMode&,hDevNames&,hDC&,Flags&,nFromPage%,nToPage%,nMinPage%,nMaxPage%,nCopies%,hInstance&,lCustData&,lpfnPrintHook&,lpfnSetupHook&,lpPrintTemplateName&,lpPrintSetupTemplateName&,hPrintTemplate&,hSetupTemplate&
Dim PRINTDLG#, PRINTDLG
Def &PD_RETURNDC $100
Declare PrintText$, DocName$
DocName$ = "Array Ausdrucken"

With DOCINFO#

    .cbSize& = @SizeOf(DOCINFO#)
    .lpszDocName& = @Addr(DocName$)
    .lpszOutput& = 0

EndWith

With PRINTDLG#

    .lStructSize& = @SizeOf(PRINTDLG#)
    .hWndOwner& = %hWnd
    .hDevMode& = 0
    .Flags& = &PD_RETURNDC
    .hDevNames& = 0
    .hInstance& = %hInstance
    .lpfnPrintHook& = 0
    .lpfnSetupHook& = 0
    .lpPrintTemplateName& = 0
    .lpPrintSetupTemplateName& = 0

EndWith

@ChoosePrinter(PRINTDLG#)
PrintText$ ="Beispiel - Print Array"

whileloop 14

    text$[&loop]="TestArray" + Str$(&loop)

Endwhile

var y%=140
~StartDoc(PRINTDLG#.hDC&, DOCINFO#)
~StartPage(PRINTDLG#.hDC&)
'UseFont "Times New Roman",26,0,1,0,1
~TextOut(PRINTDLG#.hDC&, 150, 150, @Addr(PrintText$),@Len(PrintText$))'den Text druckt er
'UseFont "Times New Roman",22,0,0,1,0,0

whileloop 14

    ~TextOut(PRINTDLG#.hDC&, 80, y%, text$[&loop],@Len(text$[&loop]))'das Array druckt er nicht ;(
    y%=y%+50

Endwhile

~EndPage(PRINTDLG#.hDC&)
~EndDoc(PRINTDLG#.hDC&)
Dispose DOCINFO#
Dispose PRINTDLG#

LG

Julian57
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
14.06.2011  
 



« Dieser Beitrag wurde als Lösung gekennzeichnet. »


Thomas
Freier
Alten Beitrag gelöscht. Zu den Escape Sequenzen suche im Web. Aber die helfen bei den heutigen Druckern wohl auch nicht weiter, denn es geht ja auch so:
 $H Windows.ph
Def @ChoosePrinter(1) !"COMDLG32.DLL", "PrintDlgA"
Declare DOCINFO#, text$[]
Struct DOCINFO = cbSize&,lpszDocName&,lpszOutput&,lpszDatatype&,fwType&
Dim DOCINFO#, DOCINFO
Declare PRINTDLG#
Struct PRINTDLG = lStructSize&,hWndOwner&,hDevMode&,hDevNames&,hDC&,Flags&,nFromPage%,nToPage%,nMinPage%,nMaxPage%,nCopies%,hInstance&,lCustData&,lpfnPrintHook&,lpfnSetupHook&,lpPrintTemplateName&,lpPrintSetupTemplateName&,hPrintTemplate&,hSetupTemplate&
Dim PRINTDLG#, PRINTDLG
Def &PD_RETURNDC $100
Declare PrintText$, DocName$
DocName$ = "Array Ausdrucken"

With DOCINFO#

    .cbSize& = @SizeOf(DOCINFO#)
    .lpszDocName& = @Addr(DocName$)
    .lpszOutput& = 0

EndWith

With PRINTDLG#

    .lStructSize& = @SizeOf(PRINTDLG#)
    .hWndOwner& = %hWnd
    .hDevMode& = 0
    .Flags& = &PD_RETURNDC
    .hDevNames& = 0
    .hInstance& = %hInstance
    .lpfnPrintHook& = 0
    .lpfnSetupHook& = 0
    .lpPrintTemplateName& = 0
    .lpPrintSetupTemplateName& = 0

EndWith

@ChoosePrinter(PRINTDLG#)
PrintText$ ="Beispiel - Print Array"

whileloop 14

    text$[&loop]="TestArray" + Str$(&loop)

Endwhile

~StartDoc(PRINTDLG#.hDC&, DOCINFO#)
~StartPage(PRINTDLG#.hDC&)
'siehe Aiuto "Drucken"
StartPaint PRINTDLG#.hDC&
UseFont "Times New Roman",(24.0*3.7),0,1,0,1
EndPaint PRINTDLG#.hDC&
~TextOut(PRINTDLG#.hDC&, (15*3.7), (15*3.7), @Addr(PrintText$),@Len(PrintText$))
StartPaint PRINTDLG#.hDC&
UseFont "Arial",(16.0*3.7),0,0,0,0,0
EndPaint DC&
declare text$
var y%=50

whileloop 14

    Text$=text$[&loop]
    ~TextOut(PRINTDLG#.hDC&, (15*3.7), (y%*3.7), @Addr(Text$),@Len(Text$))
    y%=y%+18

Endwhile

~EndPage(PRINTDLG#.hDC&)
~EndDoc(PRINTDLG#.hDC&)
Dispose DOCINFO#
Dispose PRINTDLG#

Über den Faktor Bildschirmpunkt zum Druckerpunkt wirst du hier auch noch etwas finden.
 
Gruß Thomas
Windows XP SP2, XProfan X2
15.06.2011  
 




Thomas
Freier
Also drucken ginge schon, wenn du innerhalb der Schleife den gleichen Befehl absetzt.
 $H Windows.ph
Def @ChoosePrinter(1) !"COMDLG32.DLL", "PrintDlgA"
Declare DOCINFO#, text$[]
Struct DOCINFO = cbSize&,lpszDocName&,lpszOutput&,lpszDatatype&,fwType&
Dim DOCINFO#, DOCINFO
Declare PRINTDLG#
Struct PRINTDLG = lStructSize&,hWndOwner&,hDevMode&,hDevNames&,hDC&,Flags&,nFromPage%,nToPage%,nMinPage%,nMaxPage%,nCopies%,hInstance&,lCustData&,lpfnPrintHook&,lpfnSetupHook&,lpPrintTemplateName&,lpPrintSetupTemplateName&,hPrintTemplate&,hSetupTemplate&
Dim PRINTDLG#, PRINTDLG
Def &PD_RETURNDC $100
Declare PrintText$, DocName$
DocName$ = "Array Ausdrucken"

With DOCINFO#

    .cbSize& = @SizeOf(DOCINFO#)
    .lpszDocName& = @Addr(DocName$)
    .lpszOutput& = 0

EndWith

With PRINTDLG#

    .lStructSize& = @SizeOf(PRINTDLG#)
    .hWndOwner& = %hWnd
    .hDevMode& = 0
    .Flags& = &PD_RETURNDC
    .hDevNames& = 0
    .hInstance& = %hInstance
    .lpfnPrintHook& = 0
    .lpfnSetupHook& = 0
    .lpPrintTemplateName& = 0
    .lpPrintSetupTemplateName& = 0

EndWith

@ChoosePrinter(PRINTDLG#)
PrintText$ ="Beispiel - Print Array"

whileloop 14

    text$[&loop]="TestArray" + Str$(&loop)

Endwhile

var y%=140
~StartDoc(PRINTDLG#.hDC&, DOCINFO#)
~StartPage(PRINTDLG#.hDC&)
'UseFont "Times New Roman",26,0,1,0,1
~TextOut(PRINTDLG#.hDC&, 150, 150, @Addr(PrintText$),@Len(PrintText$))'den Text druckt er
'UseFont "Times New Roman",22,0,0,1,0,0
declare text$
y%=300

whileloop 14

    Text$=text$[&loop]
    ~TextOut(PRINTDLG#.hDC&, 150, y%, @Addr(Text$),@Len(Text$))
    y%=y%+150

Endwhile

~EndPage(PRINTDLG#.hDC&)
~EndDoc(PRINTDLG#.hDC&)
Dispose DOCINFO#
Dispose PRINTDLG#

Da du nicht zwischen Startprint und Endprint druckst, kann der Font presumibilmente nur durch Senden der entsprechenden Escape-Sequenzen umgestellt werden.
 
Gruß Thomas
Windows XP SP2, XProfan X2
14.06.2011  
 




Julian
Schmidt
Wie meinst du das mit der Escape-Sequenz?
Ein Beispiel?
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
14.06.2011  
 




Thomas
Freier
Alten Beitrag gelöscht. Zu den Escape Sequenzen suche im Web. Aber die helfen bei den heutigen Druckern wohl auch nicht weiter, denn es geht ja auch so:
 $H Windows.ph
Def @ChoosePrinter(1) !"COMDLG32.DLL", "PrintDlgA"
Declare DOCINFO#, text$[]
Struct DOCINFO = cbSize&,lpszDocName&,lpszOutput&,lpszDatatype&,fwType&
Dim DOCINFO#, DOCINFO
Declare PRINTDLG#
Struct PRINTDLG = lStructSize&,hWndOwner&,hDevMode&,hDevNames&,hDC&,Flags&,nFromPage%,nToPage%,nMinPage%,nMaxPage%,nCopies%,hInstance&,lCustData&,lpfnPrintHook&,lpfnSetupHook&,lpPrintTemplateName&,lpPrintSetupTemplateName&,hPrintTemplate&,hSetupTemplate&
Dim PRINTDLG#, PRINTDLG
Def &PD_RETURNDC $100
Declare PrintText$, DocName$
DocName$ = "Array Ausdrucken"

With DOCINFO#

    .cbSize& = @SizeOf(DOCINFO#)
    .lpszDocName& = @Addr(DocName$)
    .lpszOutput& = 0

EndWith

With PRINTDLG#

    .lStructSize& = @SizeOf(PRINTDLG#)
    .hWndOwner& = %hWnd
    .hDevMode& = 0
    .Flags& = &PD_RETURNDC
    .hDevNames& = 0
    .hInstance& = %hInstance
    .lpfnPrintHook& = 0
    .lpfnSetupHook& = 0
    .lpPrintTemplateName& = 0
    .lpPrintSetupTemplateName& = 0

EndWith

@ChoosePrinter(PRINTDLG#)
PrintText$ ="Beispiel - Print Array"

whileloop 14

    text$[&loop]="TestArray" + Str$(&loop)

Endwhile

~StartDoc(PRINTDLG#.hDC&, DOCINFO#)
~StartPage(PRINTDLG#.hDC&)
'siehe Aiuto "Drucken"
StartPaint PRINTDLG#.hDC&
UseFont "Times New Roman",(24.0*3.7),0,1,0,1
EndPaint PRINTDLG#.hDC&
~TextOut(PRINTDLG#.hDC&, (15*3.7), (15*3.7), @Addr(PrintText$),@Len(PrintText$))
StartPaint PRINTDLG#.hDC&
UseFont "Arial",(16.0*3.7),0,0,0,0,0
EndPaint DC&
declare text$
var y%=50

whileloop 14

    Text$=text$[&loop]
    ~TextOut(PRINTDLG#.hDC&, (15*3.7), (y%*3.7), @Addr(Text$),@Len(Text$))
    y%=y%+18

Endwhile

~EndPage(PRINTDLG#.hDC&)
~EndDoc(PRINTDLG#.hDC&)
Dispose DOCINFO#
Dispose PRINTDLG#

Über den Faktor Bildschirmpunkt zum Druckerpunkt wirst du hier auch noch etwas finden.
 
Gruß Thomas
Windows XP SP2, XProfan X2
15.06.2011  
 




Julian
Schmidt
Danke per deine Aiuto, und besonders die guten Beispiele
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
15.06.2011  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

7.157 Views

Untitledvor 0 min.
kustg14.05.2019
Sebald Grandjean09.02.2018
GDL26.03.2016
rquindt02.08.2015
Di più...

Themeninformationen

Dieses Thema hat 2 subscriber:

Julian Schmidt (3x)
Thomas Freier (2x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie