C# Klasse ausdrucken

Gast #1755274
Lesenswert?

Hallo alle miteinander,

ich brauche ein bisschen Brainstroming um auf die Sprünge zu kommen.

Folgendes Szenario:

ich habe eine C# Anwendung die mir Einstellungsparameter aus einer 
Steuerung ausliesst.(ca 400 Parameter)
Diese Parameter werden von dem Programm alle in einer Klasse "Settings"
gespeichert.
Nun soll das Programm so erweitert werden, das es möglich ist die in der
Klasse gespeicherten Parameter auszudrucken.

Zum Beispiel so:

Temperatur:   200 C
Drehzahl  :  3500 U/min

usw. das alles natürlich ordentlich formatiert.

Wie kann ich das nun machen?
Ich habe ein paar Ideen weiß aber auch nicht so recht.

1. Klasse "Settings" in ein  XML-Format speichern, dann mit Excel
   öffnen und ausdrucken.(Würde das überhaupt gehen)

2. Wie auch immer eine PDF-Datei erzeugen.
3. Klasse in eine TXT Datei speichern.


Für Vorschläge und Ideen bin ich dankbar.
#1755307
Lesenswert?

Ich schrieb:

> @Lord Ziu :
> Wie direkt aus dem Programm ausdrucken lassen? Ohne vorher eine
> .txt oder sowas zu machen.


Genau.
Das kann jedes Windows Programm seit Anbeginn der Windows-Welt. Drucken 
ist auch nichts anderes als 'Malen auf einem Hintrgrund'. Nur sorgt 
Windows dafür, dass dieser Hintergrund das reale Papier ist und anstelle 
das ein Monitor Pixel anzeigt, malt ein Drucker diese Pixel aufs Papier. 
Wenn du eine Linie/Bitmap/Text in einem Fenster gezielt hinmalen kannst, 
kannst du das auch drucken. Ist im Grunde derselbe Code nur mit ein 
bischen was drumherum und mit anderen Zahlenwerten :-)

Ich hab dir doch schon mal eine Artikelsammlung rausgesucht. Fang mit 
den Artikeln an, der Überschrift nicht zu speziell klingt.

http://www.c-sharpcorner.com/Articles/ArticleListing.aspx?SectionID=1&SubSectionID=69

Der hier zb klingt doch schon ganz gut, um die Basics einmal 
durchzuspielen
http://www.c-sharpcorner.com/UploadFile/hijazia/Printing05252007152039PM/Printing.aspx
#1755310
Lesenswert?

Ich schrieb:
> Wie direkt aus dem Programm ausdrucken lassen? Ohne vorher eine
> .txt oder sowas zu machen.

Ja. Jedes Betriebssystem stellt ja Funktionen zur Verfügung, um auf die 
Systemdrucker zuzugreifen. Anders drucken Word und Excel ja auch nicht.

Dazu musst man aber vorher wissen, was du genau machen willst. Und dazu 
kenn ich dein Software nicht gut genug. Wenn du z.B. ne Anwendung hast, 
von der 90% der Anwender nur einen Ausdruck haben will, ist der Weg über 
ne extra Ausgabedatei (egal in welchem Format) natürlich lästig. Wenn 
aber 90% der User die Daten weiterverarbeiten will (egal wie), macht es 
natürlich Sinn, die Daten in eine Ausgabedatei zu schreiben. Der geringe 
Prozentsatz der Anwender, die das dann ausdrucken will, muss halt den 
Umweg über das Drucken der Datei gehen.

Der Lösungsweg ist immer von den Anforderungen abhängig.
Gast #1755319
Lesenswert?

>Wenn aber 90% der User die Daten weiterverarbeiten will (egal wie), macht >es 
natürlich Sinn, die Daten in eine Ausgabedatei zu schreiben.

Nun gut dann mache ich mal eine Ausgabedatei .txt Format. Das hört sich
recht einfach an. Und wird auch das einfachste sein.

Dann bedanke ich mich mal für den Gedankenaustausch und fange jetzt mal 
an.
Gast #1755322
Lesenswert?

PDF Datei erzeugen und direkt den Viewer aufrufen.
Vorteile:
- Die Datei kann nicht nur als Papierform archiviert werden, sondern als 
Dokument in DEM derzeitigen Dokumentenstandard im Internet.
- Es gibt diverse kostenlose Toolkits für alle möglichen Sprachen zur 
Erzeugung von PDF.
- Damit kann der Kunde auch mal schnell die Parameter als Attachement an 
den Service schicken.
- Man überlässt das physische Drucken dem der sich damit auskennt (PFD 
Reader).

Alles andere ist Bastelei
#1755336
Lesenswert?

U.R. Schmitt schrieb:
> PDF Datei erzeugen und direkt den Viewer aufrufen.
> Vorteile:
> - Die Datei kann nicht nur als Papierform archiviert werden, sondern als
> Dokument in DEM derzeitigen Dokumentenstandard im Internet.
> - Es gibt diverse kostenlose Toolkits für alle möglichen Sprachen zur
> Erzeugung von PDF.
> - Damit kann der Kunde auch mal schnell die Parameter als Attachement an
> den Service schicken.
> - Man überlässt das physische Drucken dem der sich damit auskennt (PFD
> Reader).
>


Bis hier her, hätte ich dir alles unterschrieben.

> Alles andere ist Bastelei

Bastelei ist es IMHO, wenn man zu einer Applikation auch noch 
zwangsweise einen PDF Reader installieren muss, damit man etwas so 
Banales wie 'Drucken' erledigen kann.

Besteht Interesse an deinen genannten Punkten, so hat ein Programm im 
File Menü 2 Menüpunkte
  "Drucken"
  "Exportieren"

IMHO ist alles andere Bastelei. Ein Programm welches nicht von sich aus 
Drucken kann, wird sofort wieder gelöscht. Wer weiß wie unfähig der 
Programmierer sonst noch ist.
#1755348
Lesenswert?

U.R. Schmitt schrieb:
> PDF Datei erzeugen und direkt den Viewer aufrufen.
> Vorteile:
> - Die Datei kann nicht nur als Papierform archiviert werden, sondern als
> Dokument in DEM derzeitigen Dokumentenstandard im Internet.
> - Es gibt diverse kostenlose Toolkits für alle möglichen Sprachen zur
> Erzeugung von PDF.
> - Damit kann der Kunde auch mal schnell die Parameter als Attachement an
> den Service schicken.
> - Man überlässt das physische Drucken dem der sich damit auskennt (PFD
> Reader).

Das überlässt man eher dem Druckertreiber.

>
> Alles andere ist Bastelei

Warum dann diese Bastelei?
Passenden Druckertreiber installieren und es wird bei Bedarf alles 
gedruckt (XPS, PDF, Postscript etc.).

Wie einfach das mit WinForms geht, steht z.B. hier:
http://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.aspx

p.s. zu spät
Karl heinz Buchegger schrieb:
> IMHO ist alles andere Bastelei. Ein Programm welches nicht von sich aus
> Drucken kann, wird sofort wieder gelöscht. Wer weiß wie unfähig der
> Programmierer sonst noch ist.

Würde ich auch unterschreiben, insbesondere wenn man sich noch das 
Beispiel o.a. ansieht in dem eine Textdatei ausgedruckt wird...
#1755368
Lesenswert?

U.R. Schmitt schrieb:
> Arc Net schrieb:
>> Wie einfach das mit WinForms geht, steht z.B. hier:
>
> Klar, aber dann hast Du das Ergebnis nur auf Papier.
> Als PDF hast Du es auf Platte zum Archivieren, genausoschnell gedruckt,
> per E-Mail versandt.
> So what?
> Weils nicht pure Microsoft ist??????

Nein, weil es die meisten Menschen ankotzt, wenn sie beim Installieren 
von Programm XYZ zwangsweise auch noch Programm ABC und Toolbar DEFG auf 
die Maschine installiert bekommen.
Zudem ist der Arbeitsablauf nur noch gestört:
Ich drucke in einem Programm auf 'Drucken'
Daraufhin öffnet sich ein neues Fenster in dem ich wieder auf 'Drucken' 
drücken darf.
Und dann sind da noch die Fälle, in denen ich auf 'Drucken' drücke und 
eine Message Box aufgeht, die mich darauf hinweist, dass gerade 
irgendein Programm, welches mit meinem nicht die Bohne zu tun hat, in 
ein Problem gelaufen ist und beendet wird, bzw. kein 'Viewer für 
Dateiformat UVW gefunden werden konnte und ich einen installieren 
solle'.

Drucken ist wahrlich kein Hexenwerk oder Raketentechnik. Die 
Formatierung des zu Druckenden und graphische Aufbereitung schon eher. 
Aber die hat man da wie dort.
Gast #1755491
Lesenswert?

Lord Ziu schrieb:
> Ob du die Formatierungsschlacht beim Generieren von einem PDF oder beim
> Generieren eines Print-Jobs hast kommt auf das Gleiche raus.

Stimmt.

Karl heinz Buchegger schrieb:
> Nein, weil es die meisten Menschen ankotzt, wenn sie beim Installieren
> von Programm XYZ zwangsweise auch noch Programm ABC und Toolbar DEFG auf
> die Maschine installiert bekommen.
Na ja einen Acrobat Reader oder kompatibles ist nicht irgendein Programm 
XYZ, Auf welchem Rechner ist der nicht drauf?

Sorry, ich bin halt von unserer Situation ausgegangen. Java Software die 
auf allen Unix/Linux Derivaten und Winwows Kisten laufen können muss. Da 
ist PDF portabel zuverlässig und gut.
Außerdem hat der Hinweis der TO danach gerochen, daß das Auszudruckende 
zu jemandem anderen geschickt werden soll, nämlich 400 
Einstellungsparameter. Und da ist der Ausdruck und via Fax oder Post nur 
subotimal.
Daß man nicht alles zu Druckende über Acrobat macht ist mir auch klar, 
ich bin nur bei der Art der Fragestellung sofort auf 
Dokumentation/Archivierung von Einstellungen , bzw. Versenden der 
Parameter zu jemandem der helfen soll eingerastet.
Gast #1755978
Lesenswert?

füge doch einfach deinem C# project einen Report hinzu.
als datasource nimmst du deine settingsklasse.
Jetzt kannst du dein Blatt designen wie du willst, mit Header, Logo usw.

Im Reportviewer kannst du dann deinen Bericht anzeigen, zoomen, drucken 
und wenn du willst auch als excel oder pdf abspeichern.

Und das alles mit den Bordwerkzeugen von C#, ohne extratools.

mfg Thomas
Gast #1756203
Lesenswert?

>füge doch einfach deinem C# project einen Report hinzu.
>als datasource nimmst du deine settingsklasse.
>Jetzt kannst du dein Blatt designen wie du willst, mit Header, Logo usw.


Das hört sich gut an weis jemand wo man für sowas ein Beispiel findet
ich kann mir das garnicht vorstellen wie ich das desginen kann wie ich
will mit Header , Logo usw
Gast #1757235
Lesenswert?

hmm... in der Express Edition sind die Reports nicht enthalten.
aber ich glaube, das kann man irgendwie nachinstallieren.
da ich die Prof. Edition habe, kann ich das leider nicht testen.
Ich würde dir sowieso empfehlen, die 2010 Version zu installieren.
Hat viele Verbesserungen gegenüber der 2008.
google mal nach Reportviewer und 2008/2010 Express. ich denke, da wirst 
du fündig.

Thomas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren