Mit Blitz Basic drucken!

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Tobchen

Betreff: Mit Blitz Basic drucken!

BeitragSo, Dez 14, 2003 11:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie kann man mit einem Blitz Basic-Programm/Spiel etwas Ausdrucken? Am besten wäre, wenn es so geht, dass ein bestimmtes Feld ausgedruckt wird. Zum Beispiel: Dass was gedruckt werden soll, befindet sich a Position 10, 400. Es ist 30 Pixel breit und 12 Pixel hoch. Und dann müsste man nur eingeben: Drucke 10, 400, 30, 12. Gibt's sowas? Wäre echt toll.
  • Zuletzt bearbeitet von Tobchen am Do, Dez 25, 2003 8:18, insgesamt einmal bearbeitet
 

morszeck

Gast

BeitragSo, Dez 14, 2003 11:35
Antworten mit Zitat
Dazu brauchst du eine DLL! IP oder so! Es gibt keine speziellen Befehle!

Tobchen

BeitragSo, Dez 14, 2003 11:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Wo befindet sich so eine DLL?

Julz

BeitragSo, Dez 14, 2003 11:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier http://www.blitzbasic.com/code....php?cat=9

Julz

BeitragSo, Dez 14, 2003 11:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab was gefunden:

Code: [AUSKLAPPEN]

; Printer-routine by Wedoe Januar 2002
Global printer = OpenFile ("LPT1")
If printer
.printerwrite
Read message$ : If message ="EOF" Then Goto endwrite
WriteString printer, message$+Chr$(13)+Chr$(10) ; Text + linefeed
Goto printerwrite
.endwrite
WriteString printer, Chr$(12)    ; Formfeed
CloseFile printer
Else
RuntimeError "Nope"
EndIf
End
Data "Hallo world !"
Data "This seems OK."
Data "Sure thing."
Data "EOF"

Tobchen

BeitragSo, Dez 14, 2003 11:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Guck ich mir mal an...
Tobchen - die Welt von Tobi!

Julz

BeitragSo, Dez 14, 2003 11:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja musst mal bei der url schauen denn blitz basic hat keinen eigenen befehl dafür und der code ist von drucker zu drucken en bisschen anders stand dort Confused
 

Steffen

BeitragSo, Dez 14, 2003 12:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst es als Bild abspeichern. Es gibt bei Windows einen Befehl, der eine Datei druckt, dabei wird das Standartprogramm für diese Datei geöffnet, die Datei wird gedruckt und das Programm beendet sich von selbst. Das kannst du direkt über execfile machen. Wie der Parameter heißt, weiß ich nicht, vielleicht "-print datei".

Hubsi

BeitragSo, Dez 14, 2003 12:23
Antworten mit Zitat
Benutzer-Profile anzeigen
In welchem Format muß die Datei dann vorliegen?
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Julz

BeitragSo, Dez 14, 2003 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich denke tobi will doch aus einem spiel oder programm heraus etwas drucken oder ???? dann ist das jawohl nicht so die optimale lösung auserdem wo sollte er die parameter den anhängen ??? ich denke nicht das das so geht

Tobchen

BeitragSo, Dez 14, 2003 14:08
Antworten mit Zitat
Benutzer-Profile anzeigen
ich will sowas ähnliches wie ein Screenshot-Verfahren machen. Bloß dass ich das, was ich haben will nicht als Bild speicher, sondern ausdrucken will.
Tobchen - die Welt von Tobi!

Julz

BeitragSo, Dez 14, 2003 14:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Achso z.B. es läuft eibn spiel und während du am zoggen bist willst du en screenshot machen und anstatt den zu speichern wird der direkt gedruckt oder ???

Meintest du das so ???

Vertex

BeitragSo, Dez 14, 2003 15:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

.lib "winspool.drv"
ClosePrinter%(hPrinter) : "ClosePrinter"
EndDocPrinter%(hPrinter) : "EndDocPrinter"
EndPagePrinter%(hPrinter) : "EndPagePrinter"
OpenPrinter%(pPrinterName$,phPrinter*,pDefault) : "OpenPrinterA"
StartDocPrinter%(hPrinter,Level,pDocInfo*) : "StartDocPrinterA"
StartPagePrinter%(hPrinter) : "StartPagePrinter"
WritePrinter%(hPrinter,pBuf*,cdBuf,pcWritten*) : "WritePrinter"
.lib "kernel32.dll"
GetProfileString%(lpAppName$,lpKeyName$,lpDefault$,lpReturnedString*,nSize) : "GetProfileStringA"

Code: [AUSKLAPPEN]

PrinterName$ = GetPrinterName$() : lhPrinter = CreateBank(4)
Result = OpenPrinter(PrinterName$,lhPrinter,0)
If Not Result Then RuntimeError "Can't open " + PrinterName$
Printer = PeekInt(lhPrinter,0) : FreeBank lhPrinter

MyDocInfo = CreateBank(9)
For I = 0 To 5
   PokeByte MyDocInfo,I,Asc("A")
Next
lDoc = StartDocPrinter(Printer,1,MyDocInfo)
StartPagePrinter(Printer)

sWrittenData$ = "How's that for Magic !!!!" + Chr$(12)
pBuf = CreateBank(Len(sWrittenData$) + 1)
pcWritten = CreateBank(4)
For I = 0 To Len(sWrittenData$) - 1
   PokeByte pBuf,I,Asc(Mid$(sWrittenData$,I + 1,1))
Next
PokeByte pBuf,Len(sWrittenData$),0
lReturn = WritePrinter(Printer,pBuf,Len(sWrittenData$),pcWritten)
Written = PeekInt(pcWritten,0) : FreeBank pcWritten : FreeBank pBuf

lReturn = EndPagePrinter(Printer)
lReturn = EndDocPrinter(Printer)
lReturn = ClosePrinter(Printer)

Print "Has " + Written + " bytes written"

Function GetPrinterName$()
   Local Buffer,Result,I,Char,PrinterName$

   Buffer = CreateBank(8192) : Space(Buffer)
   Result = GetProfileString("windows","Device","",Buffer,8192)
   If Result Then
      For I = 0 To Result - 1
         Char = PeekByte(Buffer,I)
         If Char > 0 And Char <> 44 Then
            PrinterName$ = PrinterName$ + Chr$(Char)
         Else
            FreeBank Buffer : Return PrinterName$
         EndIf
      Next
   End If
End Function

Function Space(Bank)
   Local Size,I
   
   Size = BankSize(Bank)
   For I = 0 To Size - 1
      PokeByte Bank,I,32
   Next
End Function


mfg olli

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group