Suchergebnisse
Suchergebnisse 1-21 von insgesamt 21.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
-
@silverbob76GE Erstell ein Demo-Projekt mit zufälligen Daten, die Deinen Effekt auslösen. Überzeuge Dich davon, dass dieses Demo-Projekt compiliert und Deinen Effekt reproduziert. Zippe das Projekt ohne obj, bin- und .vs-Ordner und hänge es an einen Post an.
-
@silverbob76GE Du musst noch ein paar HAusaufgaben erledigen. Räume Deinen Code auf, keine Spagetti-Monster-Prozeduren mit redundantem Code: Lerne dies: Markiere einen in sich geschlossenen Quelltext, Bearbeiten => Umgestalten => Methode extrahieren; Generiere Testdaten, die das übliche Muster sprengen. Sorge dafür, dass überhaupt alles sichtbar ist, erkenne, dass der Text die Seite verlässt. Vergleiche Deine Dateien mit meinen. vb-paradise.de/index.php/Attachment/52922/
-
Zitat von VaporiZed: „Daten zu generieren, die das Muster sprengen, sind m.E. vorhanden oder ich versteh das Ziel nicht.“Ich meine so was: vb-paradise.de/index.php/Attachment/52925/
-
Zitat von silverbob76GE: „wurde aber auf der Folgeseite nicht fortgeführt.“Ich erwarte von Dir, dass Du mit e.Graphics.MeasureString() erkennst, dass das Papier nicht reicht und dann sofort die nächste Seite bedruckst. Wenn das läuft, drucken wir auch halbe Absätze. Nur: MeasureString() sollte in Deinem Code vorkommen und ausgewertet werden.
-
Zitat von silverbob76GE: „wird aber nicht fortgeführt.“Das mache ich Dir, wenn Du richtig erkennst, dass der Text zu lang ist und Du vorher diese Seite abbrichst.
-
@silverbob76GE Poste bitte vollständige Prozeduren.
-
@silverbob76GE Dein Code ist mir etwas zu chaotisch. Nichts sagende Variablennamen, fehlende Kommentare. Ich hab hier mal ein ganz simples Beispiel gemacht: Form mit Button, RichTextBox und PrintDocument (Versteckter Text)Gestalte mal Deinen Code so um, dass Du eine einzige Routine hast, in der genau ein TextBaustein gedruckt wird. Da kannst Du die TextBausteine von Seite 1 auch mit drucken.
-
Zitat von silverbob76GE: „ein Textbaustein“ist der Text in einem XML-Knoten, wo in der Tabelle 10, 20, 30 usw. davor steht.
-
Zitat von silverbob76GE: „Dann wird genau 1 DataRow gedruckt.“Das ist doch nicht Sinn der Sache. Lagere alles in die Prozedur aus, und die wird zwei Mal aufgerufen. Für Seite 1 und die anderen Seiten.
-
Zitat von silverbob76GE: „Wie schaffe ich es nun, das der Druck an richtiger Stelle fortgeführt wird?“Du musst jeden Textbaustein in sich allein behandeln. Wisse, in welche Zeile Du jetzt druckst und wisse, wie viele Zeilen noch auf das Papier passen und wisse, welchen Textbaustein Du gerade bearbeitest. Dein Aufruf sollte also so aussehen: Quellcode (7 Zeilen)Wobei Flag aussagt, ob der Textbaustein vollständig gedruckt wurde.
-
@silverbob76GE Über welche Programmiererfahrung verfügst Du? Welcher Datentyp wird in meinem Snippet für Flag impliziert? Welcher Datentyp wird in Deinem Snippet für Flag impliziert? Das Ergebnis des Aufrufs meiner Funktion DruckeTextBaustein(...) ist, ob der Textbaustein vollständig gedruckt wurde oder nicht. Wenn ja, geht es weiter mit dem nächsten Textbaustein. Wenn nein, muss noch der Rest desselben Textbausteins gedruckt werden, deswegen musst Du einige Werte abspeichern, z.B. die Position,…
-
Zitat von silverbob76GE: „Daher hatte ich angenommen, das da die Werte aus der DataRow rein müssen.“In einen Wert vom Type Boolean? Flag ist ein grundlegend elementarer Basis-Begriff der Programmierung und kommt in allen Programmiersprachen vor.
-
Zitat von silverbob76GE: „Muss nun noch klären, wie ich das angehe.“Bist Du beratungsresistent? Ich habe Dir in Post #19 dieses Deines Threads ein in sich geschlossenes Beispiel gegeben, was exakt das tut. Darf ich davon ausgehen, dass Du Dir es noch nicht mal angesehen hast? Noch eine solche kontraproduktive Antwort und ich bin raus hier.
-
Zitat von silverbob76GE: „aber einiges was du emfpiehlst sprengt meinen aktuellen Wissensstand.“Dann stell ganz konkrete Fragen zu jedem Detail einzeln.
-
@silverbob76GE Du hast das mit der BindingSource doch schon gelöst gehabt. Ich hab Dir doch geschrieben, wie es weiter geht. In der Prozedur misst Du den verbleibenden Platz aus. Ist genug Platz da, druckst Du und machst mit dem nächsten Text weiter. Ist nicht genug Platz da, druckst Du so viel wie hin passt, speicherst die letzte gedruckte bzw. die erste nicht gedruckte Position ab und sagst der aufrufenden Prozedur Bescheid (Returnwert), weiter mit der nächsten Seite und demselben Text ab der …
-
Zitat von silverbob76GE: „Das sagt mir, wie viel Platz ich für den Druck meines Strings benötige, richtig?“Falsch. Das sagt Dir, wieviel des Textes in das übergebene Rechteck geschrieben werden kann. Verstehe den Code aus Post #19!
-
@silverbob76GE Verstehe den Code in Post #19.
-
Jou. Wenn ich will, dass der Textbaustein geteilt wird, wird er halt geteilt. Das mit der Texthöhe größer als die Seitenhöhe ist ein gutes Beispiel, und da fällt mir wieder Post #19 ein.
-
@silverbob76GE Poste mal so viel Code und kommunizierende Daten, dass ich das genau so nachvollziehen kann.
-
@silverbob76GE Wir wollten doch eine in sich geschlossene Routine schreiben, die einen kompletten Textbaustein druckt.
-
@silverbob76GE Da Di offensichtlich Dein Problem vollständig gelöst hast, bedarfst Du ja meiner Hilfe nicht mehr.