Formularerstellung

Für allgemeine Fragen zur Programmierung mit PureBasic.
real
Beiträge: 468
Registriert: 05.10.2004 14:43

Formularerstellung

Beitrag von real »

Hi,

folgendes Problem, das nach einer Lösung sucht:
Ich habe ein Word-Formular, das ich derzeitig ausdrucke und per Hand ausfülle.

Was will ich:
Ich möchte es vereinfachen, indem ich das Formular am PC ausfülle, wo ich die Werte eingeben und mir dann das komplett ausgefüllte Formular ausdrucke. (Sieht besser aus als Handschrift :roll:)

Was will ich nicht:
Da sich das Formular nicht jede Woche ändert muss es nicht zwangsläufig als .doc vorliegen, sondern kann evtl. in irgendeinem Format vorliegen. Ich brauche also kein Programm, dass .doc-Dateien lesen kann.

Hat jemand von Euch vielleicht schon Ähnliches in PB programmiert und hat Sourcen, die sie/er freigeben kann bzw. Tipps, wie ich sowas angehen kann?

Danke schonmal
René
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag von Icke »

Und wieso nicht unter Word direkt? Auch da kann man Bereiche gegen verändern schützen und im Prinzip genau das machen.
real
Beiträge: 468
Registriert: 05.10.2004 14:43

Beitrag von real »

Weil ich die Werte für das Formular direkt aus einer Datenbank auslesen und in's Formular eintragen möchte (momentan schreib ich sie praktisch aus einem Window ab). Word ist dazu nicht in der Lage...
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von Thorsten1867 »

Ich erzeuge meine Formulare mit PurePDF (in PBOSL enthalten).

Ich füge meine Daten aus einer SQLite3-Datenbank in die Formulare ein und erzeuge daraus dann ein PDF.

(PS: In meinem Programm liegen die Formulare selbst als XML-Dateien vor, da man diese selbst erstellen bzw. bearbeiten kann. Das ist aber nicht notwendig, wenn es ich um ein festes Formular handelt.)
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
real
Beiträge: 468
Registriert: 05.10.2004 14:43

Beitrag von real »

Das hört sich interessant an und ähnelt dem, was ich brauche. Hast Du vielleicht Code-Snippets, die Du preisgeben kannst/willst? Ich hab mit PurePDF überhaupt noch nicht gearbeitet.

Interessant ist für mich: in welchem Format lege ich das Formular ab und wie packe ich da dynamisch meine Werte rein.
real
Beiträge: 468
Registriert: 05.10.2004 14:43

Beitrag von real »

Ich hatte mir das anfangs so gedacht, einen Canvas zu erzeugen, in die ich alles hineinschreibe. Dann würde ich das drucken... Aber ganz ohne Unterstützung dauert die Umsetzung wohl etwas länger. :cry:
Benutzeravatar
nicolaus
Moderator
Beiträge: 1175
Registriert: 11.09.2004 13:09
Kontaktdaten:

Beitrag von nicolaus »

Hi

Also ich mach mir mein Formular als html datei.
Der vorteil ist das ich nur noch nen rechtsklick in das webgadget machen muß indem mir das formular angezeigt wird und da gleich auf drucken gehen kann.

Du kannst dir paar pics dazu auf SkyBeat anschauen unter screenshots. Da sind das die Bilder 10-14.

Ich habe im endeffekt den code für die HTML datei in meinem programm und alles was du in den Screenshots blau geschrieben siehst fülle ich dynamisch (wird aus einer SQLite DB gelesen.)

Gruß,
Nico
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von Thorsten1867 »

real hat geschrieben:Das hört sich interessant an und ähnelt dem, was ich brauche. Hast Du vielleicht Code-Snippets, die Du preisgeben kannst/willst? Ich hab mit PurePDF überhaupt noch nicht gearbeitet.
Das ist vielleicht, nicht das beste Beispiel, aber das einzigste, das ich gerade zur Hand habe (ohne Datenbankeinbindung):

Code: Alles auswählen

Procedure PDF_PunkteListe(gesamt, titel$) ; PDF Punkteliste
  ; titel$:  kuerzel$ | bez$ | datum$
  ;{ ========== StartPDFDoc ==========
  pdf_Create("P", "mm", #PDF_PAGE_FORMAT_A4)
  pdf_SetDisplayMode(#PDF_ZOOM_FULLWIDTH)
  ;pdf_DisplayPreferences("HideToolbar,DisplayDocTitle")
  pdf_SetTitle("Punkteverteilung")
  pdf_SetSubject("Punkteverteilung für Notenschlüssels") 
  pdf_SetAuthor("KvGS - (c) Thorsten Hoeppner")
  pdf_SetTopMargin(15)  
  pdf_SetLeftMargin(15)  
  pdf_SetRightMargin(15)  
  pdf_SetAutoPageBreak(1, 15) 
  pdf_AddPage()
  pdf_SetFillColor(224)
  ;} ==============================
  ;{ Kopfzeile
  pdf_SetFont("Arial","B",18)
  pdf_SetXY(20, 15) 
  pdf_SetFont("Arial", "", 16)
  pdf_SetLineWidth(0.4) 
  pdf_SetFont("Arial", "B", 16)
  pdf_Cell(16, 8, StringField(titel$, 1, "|"), 1, 0, #PDF_ALIGN_CENTER)
  pdf_SetFont("Arial", "B", 14)
  pdf_Cell(135, 8, " "+StringField(titel$, 2, "|"), 1, 0, #PDF_ALIGN_CENTER)
  pdf_SetFont("Arial", "B", 14)
  pdf_Cell(29, 8, StringField(titel$, 3, "|"), 1, 1, #PDF_ALIGN_CENTER)
  pdf_Rect(20, 24, 180, 258)
  pdf_SetLineWidth(0.3) 
  ;}
  ;{ Punkte
  pdf_SetXY(30, 31) 
  pdf_SetFont("Arial", "B", 10)
  pdf_Cell(36, 5, "Punkteverteilung", 1, 1, #PDF_ALIGN_CENTER, 1)
  For p = gesamt To 1 Step -1
    pdf_SetX(30)
    pdf_Cell(6, 6, Str(p), -11, 0, #PDF_ALIGN_RIGHT)
    pdf_Cell(20, 6, "", -14, 0)
    pdf_Cell(10, 6, "", -4, 1)
    pdf_SetX(30)
    pdf_Cell(6, 2, "", -11, 0)
    pdf_Cell(20, 2, "", -14, 0)
    pdf_Cell(10, 2, "", -4, 1)
  Next p
  pdf_SetX(30)
  pdf_Cell(6, 6, "0", -11, 0, #PDF_ALIGN_RIGHT)
  pdf_Cell(20, 6, "", -14, 0)
  pdf_Cell(10, 6, "", -12, 1) ;}
  pdf_SetFont("Arial", "", 8)
  pdf_SetXY(30,277)
  pdf_Cell(0, 4, "|  =  ganze Punkte       "+Chr(149)+"  =  halbe Punkte")
  ;{ ========== EndPDFDoc ==========
  pdf_Save("C:\Test.pdf")
  ;} ==============================
  Dim punkte.s(0)
EndProcedure

PDF_Liste(25, "DEU|Test-Formular|07.02.06") ; max.28!
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
OptimusPrime
Beiträge: 43
Registriert: 07.03.2005 16:52

Beitrag von OptimusPrime »

Mal was anderes :
Wenn die Werte schon in einer Datenbank vorhanden sind, dann kann man diese auch in Word importieren, bzw. den Umweg über Excel nehmen.

In OpenOffice gibt es z.B. auch die Möglichkeit, Daten direkt an den Writer zu geben und dieser kann das z.b. sogar automatisch in ein PDF umwandeln.

Ein Bekannter macht das gerade mit einer Java-Klasse.
To start press any key. -> Where is the "any key"?
(Homer Simpson)
real
Beiträge: 468
Registriert: 05.10.2004 14:43

Beitrag von real »

Danke! Leider will er irgendwie die Konstanten nicht erkennen... :-(

Fehler:

Code: Alles auswählen

Line 4: Constant not found: #PDF_PAGE_FORMAT_A4
Was kann ich falsch gemacht haben???

@nicolaus:
Die Idee ist auch nicht schlecht... Mal sehen, was sich leichter umsetzen lässt.

Danke an Euch beide schonmal!!! Das macht Hoffnung. :) [/code]
Antworten