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.
Man könnte sich natürlich auch darüber schlau machen was der Aufgabensteller unter 'ordentlich formatiert' vorstellt (wie aufwändig der sich das vorstellt) und ganz einfach weiterlesen, wie man unter C# den PrinterDialog hochpappt, bzw. das PrinterDokument erzeugt. http://www.c-sharpcorner.com/Articles/ArticleListing.aspx?SectionID=1&SubSectionID=69
Wie speicherst du die Daten zwischen? Ich nutze bei Messwerten meist ne Dataset und schmeisse mir das ganze als CSV raus.
@ Frederik Krämer: Ich serialisiere die Klasse mit dem SOAP-Formatter. @Lord Ziu : Wie direkt aus dem Programm ausdrucken lassen? Ohne vorher eine .txt oder sowas zu machen.
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
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.
>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.
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
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.
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...
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??????
Heutzutage hat doch fast jeder User einen PDF-Generator als Drucker eingerichtet. Wenn man also eine ordentlich "Drucken"-Funktion in der Applikation implementiert, erschlägt man alle Fälle.
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.
Karl heinz Buchegger schrieb: > Drucken ist wahrlich kein Hexenwerk oder Raketentechnik. Die > Formatierung des zu Druckenden und graphische Aufbereitung schon eher. > Aber die hat man da wie dort. Das kann ich nun wieder so unterschreiben. Ob du die Formatierungsschlacht beim Generieren von einem PDF oder beim Generieren eines Print-Jobs hast kommt auf das Gleiche raus.
Lord Ziu schrieb: > Ob du die Formatierungsschlacht beim Generieren von einem PDF oder beim > Generieren eines Print-Jobs hast kommt auf das Gleiche raus. Da hab ich sie lieber beim Print Job. Denn dort hab ich sie 100% selbst unter Kontrolle :-)
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.
pdf drucksofteware?? html files sind wesntlich einfacher zu generienen mit c# (stringbuilder ist da performance technisch sehr gut geeignet!) mfg
Marcus B. schrieb: > html files sind wesntlich einfacher zu generienen mit c# (stringbuilder > ist da performance technisch sehr gut geeignet!) Wie oben bereits beschrieben, gibt es diverse Möglichkeiten diese Problemstellung zu lösen. Alles eine Frage der Anforderungen.
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
>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
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.