Deutsch
Forum

FTP ("DownLoad"... - 2

HILFEEEE!!!

dankeeee

 

Muemmelmann
Danke Torsten,

@create("listbox",%hwnd, 0,0,0,0,0)
clearlist
@addstring(0, bemerk$)
@db("PutMemo", "VP_MEMO")

so gehts, wenn ich bei "listbox" 10,10,100,100 als Koordinaten und Größe eingebe erschein zwar ein Fenster, aber mitt 0,0,0,0 klappt es so wie ich will

LG
Uwe
 
21.08.2014  
 




Muemmelmann
Hallo,
ich habe da mal noch ne andere Frage:

gibt es die Möglichkeit (XProfan) direkt eine PDF zu erzeugen, in PHP geht das mit fpdf.php ???

vielen Dank schon mal...

LG
Uwe
 
24.09.2014  
 




Thomas
Freier
Im Prinzip ja, aber nur ganz Einfache (Font und Text)
Hatte das als Rechnungsdokumentationsablage gemacht.
Die gedruckte Rechnung hatte natürlich einen heute üblichen Font, usw.
Das Beispiel im Texteditor öffnen und du siehst die für die PDF erforderlichen Zeilen.

Man kann aber auch über den PDFCreator (ist dann der Drucker, auf den die Befehle von XProfan landen) PDFs erstellen, im eingestellten Ordner speichern und drucken.

5 kB
Hochgeladen:24.09.2014
Ladeanzahl191
Herunterladen
 
Gruß Thomas
Windows XP SP2, XProfan X2
24.09.2014  
 




Muemmelmann
Hallo Thomas,

ja so was wie in Deiner Anlage würde reichen, wie hast Du das gemacht ???

LG
Uwe

(XProfan X2)
 
26.09.2014  
 




Thomas
Freier
Hallo Uwe,
so eine einfache Text-PDF besteht aus einem Kopf-, Text-, ggf. neue Seite und Endteil.
Den Textteil speichere ich in eine Listbox und jede Zeile wird dann um die für die PDF erforderlichen Zeichen ergänzt.
Zulässig ist nur ein Font vom Typ1 (Adobe Vorgabe).
Ideal ist ein Font mit gleichem Zeichenabstand, und bei tabellenförmigem Format, wenn dann auch noch Zahlenreihen rechtsbündig sein sollen, unerläßlich.
Wird z.B.: Arial verwendet, muß die Stringlänge (px) berechnet werden, damit der Text der Zeile noch in der Blattbreite bleibt.
Hier der reduzierte Code
 $H Windows.ph
Declare Ende&
CLS ~GetSysColor(~Color_BTNFACE)
WindowTitle "Neues Projekt"
Var but1& = @Create("Button", %hwnd ,"Start",0,0,60,22)
Var but2& = @Create("Button", %hwnd ,"Ende",80,0,60,22)

Whilenot Ende&

    Waitinput
    Case getfocus(but1&):RECHNUNG_NEU
    Case getfocus(but2&):Ende&=1

Endwhile

End
|
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'für alle gelisteten Daten wird eine Rechnung erstellt

Proc RECHNUNG_NEU

    Var pSeite% = 1
    ' für NotPDF Seitenwechsel
    Var pwechsel%=0
    Set("Decimals",2)
    Var aRgNr%= 10012
    RECNUNG_SCHREIBE

    If FileExists("D:\\"+str$(aRgNr%) +".pdf")=1

        @MessageBox("10012.pdf erstellt","Hinweis",64)

    Else

        @MessageBox("10012.pdf nicht erstellt","Hinweis",32)

    Endif

EndProc

Proc RECNUNG_SCHREIBE

    pSeite% = 1
    pwechsel%=0
    Declare pdfjob%, y%
    Declare pxn%'Anzahl gedruckter Zeilen
    NOT_PDF_KOPF "D:\\"+str$(aRgNr%) +".pdf"
    ' die Listbox nimmt alle Daten für die PDF-Datei auf
    ClearList 0
    RNG_ADRESS' Rechnungsadresse
    RNG_NUMMER' Rechnungsnummer
    RNG_SEITE' Seiten-NR und LISTENüberschrift
    'Alle Datensätze zur Kunden-Nummer

    Whileloop 20

        AddString(0,str$(&loop))

    Endwhile

    ' Wieviele Sätze noch zur Kostenstelle und Seitenwechsel?
    y%=8
    pxn%= 30

    If (pxn%+y%)>36

        Case y%>0 : pwechsel%=1
        AddString(0, "---------------------------------------------------------------------------------")
        AddString(0, "Übertrag      : ")
        Not_PDF_INHALT "D:\\"+str$(aRgNr%) +".pdf"
        ClearList 0
        NOT_PDF_SEITE "D:\\"+str$(aRgNr%) +".pdf"
        inc pSeite%
        RNG_ADRESS' Rechnungsadresse
        RNG_ANLAGE' Rechnungsanlage
        RNG_SEITE' Seiten-NR und LISTENüberschrift

    EndIf

    Whileloop 10

        AddString(0,str$(&loop))

    EndWhile

    Not_PDF_INHALT "D:\\"+str$(aRgNr%) +".pdf"
    Not_PDF_ENDE "D:\\"+str$(aRgNr%) +".pdf"

EndProc

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Proc RNG_ADRESS

    ' Drucken DIN-Adressfeld, Font und Höhe bleiben fest
    AddString(0, "Musterfirma")'trim$(dbGet$("KDNNAMEN")))
    AddString(0, "")'           trim$(dbGet$("KDNZUSATZ")))
    AddString(0, "Musterweg 2")'trim$(dbGet$("KDNSTR")))
    AddString(0, "23421 Muster")'trim$(dbGet$("KDNPLZ"))+" "+trim$(dbGet$("KDNORT")))
    AddString(0, "DEUTSCHLAND")'upper$(trim$(dbGet$("KDNLAND"))))
    AddString(0, "")

EndProc

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Proc RNG_NUMMER

    AddString(0, "                                                        R E C H N U N G")
    AddString(0, "                                                        Nummer      : ")
    AddString(0, "                                                        ------------------------")
    AddString(0, "                                                        vom         : ")
    AddString(0, "                                                        Kunde       : ")
    AddString(0, "")
    AddString(0, "")
    AddString(0, "")
    AddString(0, "")

EndProc

Proc RNG_ANLAGE

    AddString(0, "                                                        Anlage zur")
    AddString(0, "                                                        ------------------------")
    AddString(0, "                                                        Rechnung-Nr.: ")
    AddString(0, "                                                        vom         : ")
    AddString(0, "                                                        Kunde       : ")
    AddString(0, "                                                        Seite       : "+str$(pSeite%))
    AddString(0, "")
    AddString(0, "")
    AddString(0, "")

EndProc

Proc RNG_SEITE

    AddString(0, "Einzelaufstellung")
    AddString(0, "-----------------")
    AddString(0, "Datum          Beleg     Fahrer    Leistung      Ihre Zeichen/Zusatz   Betrag EUR")
    AddString(0, "---------------------------------------------------------------------------------")
    inc pxn%

    If pwechsel%=1

        inc pxn%
        AddString(0, "Übertrag      : ")
        AddString(0, "")
        dec pxn%

    EndIf

    inc pxn%

EndProc

Proc NOT_PDF_KOPF

    Parameters pdf_file$
    Assign #32,pdf_file$
    Rewrite #32
    Print #32,"%PDF-1.2"
    Print #32,"%âãÏÓ"
    Print #32,"1 0 obj"
    Print #32,"<<"
    Print #32,"/Author (ich)"
    Print #32,"/CreationDate (D:" + dt("getDate",6) +" )"
    Print #32,"/Creator (ich  v1.1)"
    Print #32,"/Producer ()"
    Print #32,"/Title ()"
    Print #32,"/Subject ()"
    Print #32,"/Keywords ()"
    Print #32,">>"
    Print #32,"endobj"
    Print #32,"4 0 obj"
    Print #32,"<<"
    Print #32,"/Type /Font"
    Print #32,"/Subtype /Type1"
    Print #32,"/Name /F1"
    Print #32,"/Encoding 5 0 R"
    Print #32,"/BaseFont /Courier"
    'nur Font-Type1 wie z.B.: Arial, Verdana, usw. zulässig
    Print #32,">>"
    Print #32,"endobj"
    Print #32,"5 0 obj"
    Print #32,"<<"
    Print #32,"/Type /Encoding"
    Print #32,"/BaseEncoding /WinAnsiEncoding"
    Print #32,">>"
    Print #32,"endobj"
    Print #32,"6 0 obj"
    Print #32,"<<"
    Print #32,"  /Font << /F1 4 0 R >>"
    Print #32,"  /ProcSet [ /PDF /Text ]"
    Print #32,">>"
    Print #32,"endobj"
    Print #32,"7 0 obj"
    Print #32,"<<"
    Print #32,"/Type /Page"
    Print #32,"/Parent 3 0 R"
    Print #32,"/Resources 6 0 R"
    Print #32,"/Contents 8 0 R"
    Print #32,"/Rotate 0"
    Print #32,">>"
    Print #32,"endobj"
    Print #32,"8 0 obj"
    Print #32,"<<"
    Print #32,"/Length 6 0 R"
    Print #32,">>"
    Print #32,"stream"
    Print #32,"BT"
    Print #32,"/F1 10 Tf"
    Print #32,"1 0 0 1 54 676 Tm"
    '54 ist Rand links
    '676 ist Abstand 1. Textzeile vom Blattende
    Print #32,"10 TL"
    Close #32
    pdfjob%=9

EndProc

Proc NOT_PDF_INHALT

    Parameters pdf_file$
    Declare textpdf$
    Assign #32,pdf_file$
    Append #32

    WhileLoop 0,%GetCount

        textpdf$ = GetString$(0,&Loop)
        textpdf$=Translate$(Textpdf$,"(","\(")
        textpdf$=Translate$(Textpdf$,")","\)")
        textpdf$="T* (" + textpdf$ + ") Tj"
        Print #32,textpdf$

    EndWhile

    Close #32

EndProc

Proc NOT_PDF_SEITE

    Parameters pdf_file$
    Assign #32,pdf_file$
    Append #32
    Print #32,"1 0 0 1 504 25 Tm"
    Print #32,"() Tj"
    Print #32,"/F1 10 Tf"
    Print #32,"ET"
    Print #32,"endstream"
    Print #32,"endobj"
    Print #32,"9 0 obj"
    Print #32,"3950"
    Print #32,"endobj"
    inc pdfjob%
    Print #32,str$(pdfjob%)+" 0 obj"'10
    inc pdfjob%
    Print #32,"<<"
    Print #32,"/Type /Page"
    Print #32,"/Parent 3 0 R"
    Print #32,"/Resources 6 0 R"
    Print #32,"/Contents "+str$(pdfjob%)+" 0 R"
    Print #32,"/Rotate 0"
    Print #32,">>"
    Print #32,"endobj"
    Print #32,str$(pdfjob%)+" 0 obj"
    Print #32,"<<"
    Print #32,"/Length 12 0 R"
    Print #32,">>"
    Print #32,"stream"
    Print #32,"BT"
    Print #32,"/F1 10 Tf"
    Print #32,"1 0 0 1 54 676 Tm"
    Print #32,"12 TL"
    Close #32
    inc pdfjob%

EndProc

Proc NOT_PDF_ENDE

    Parameters pdf_file$
    Assign #32,pdf_file$
    Append #32
    Print #32,"() Tj"
    Print #32,"/F1 10 Tf"
    Print #32,"ET"
    Print #32,"endstream"
    Print #32,"endobj"
    Print #32,"9 0 obj"
    Print #32,"275"
    Print #32,"endobj"
    Print #32,"2 0 obj"
    Print #32,"<<"
    Print #32,"/Type /Catalog"
    Print #32,"/Pages 3 0 R"
    Print #32,">>"
    Print #32,"endobj"
    Print #32,"3 0 obj"
    Print #32,"<<"
    Print #32,"/Type /Pages"
    Set("Decimals",0)
    Print #32,"/Count "+str$(pSeite%)
    Print #32,"/MediaBox [  0 0 595 842  ]"
    var pdfjob$="/Kids [ "
    Var pdfb%=7

    whileLoop pSeite%

        pdfjob$= pdfjob$ + str$(pdfb%)+ " 0 R "
        pdfb%=pdfb%+3
        '  Case p.Seite%=2 :  Print #32,"/Kids [ 7 0 R 10 0 R ]"
        '  Case p.Seite%=3 :  Print #32,"/Kids [ 7 0 R 10 0 R 13 0 R ]"

    EndWhile

    pdfjob$=pdfjob$+"]"
    Print #32,pdfjob$
    Print #32,">>"
    Print #32,"endobj"
    Print #32,"0 10"
    Print #32,"0000000000 65535 f"
    Print #32,"0000000013 00000 n"
    Print #32,"0000002875 00000 n"
    Print #32,"0000002918 00000 n"
    Print #32,"0000000156 00000 n"
    Print #32,"0000000245 00000 n"
    Print #32,"0000000307 00000 n"
    Print #32,"0000000372 00000 n"
    Print #32,"0000000453 00000 n"
    Print #32,"0000002858 00000 n"
    Print #32,"trailer"
    Print #32,"<<"
    Print #32,"/Size 10"
    Print #32,"/Root 2 0 R"
    Print #32,"/Info 1 0 R"
    Print #32,">>"
    Print #32,"startxref"
    Print #32,"909"
    Print #32,"%%EOF"
    Close #32

EndProc


Gruß Thomas
 
Gruß Thomas
Windows XP SP2, XProfan X2
27.09.2014  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.301 Betrachtungen

Unbenanntvor 0 min.
iF30.12.2015
Sascha Haak20.01.2015
p.specht18.01.2015
maroro11.01.2015
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Muemmelmann (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