Deutsch
Forum

Druckauswahldialog, Array, Drucken, Schriftart

 
- Seite 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 Hilfe "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 vermutlich 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 Hilfe "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 für deine Hilfe, und besonders die guten Beispiele
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
15.06.2011  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

7.190 Betrachtungen

Unbenanntvor 0 min.
kustg14.05.2019
Sebald Grandjean09.02.2018
GDL26.03.2016
rquindt02.08.2015
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

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


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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