L&L Neueinstig 3 2-spaltig drucken

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

L&L Neueinstig 3 2-spaltig drucken

Beitrag von Manfred »

ich möchte gerne einen 2-spaltigen Ausdruck machen.
Es handelt sich um eine Fahrliste. Pro Spalte auf einer Seite soll jeweils 1 Fahrer mit seinen Touren erscheinen. Also kurz erläutert: links Faher1 mit Kopf und dann als Liste darunter die ganzenen Fahrten. Dann rechts Fahrer 2 ebenso mit Kopf und darunter die ganzen Fahrten. Normalerweise reicht eine Hälfte für alle Fahrten. Sollte es aber vorkommen, das es mehr Zeilen werden als in der Hälfte zur Verfügung stehen, dann muß die 2 Spalte genommen werden und der nächste Fahrer rutscht auf die nächste Seite. Wenn ein Fahrer auf der rechten Seite schon aufgeführt ist, aber die Zeilen da auch nicht reichen, dann wird die nächste Seite linke Spalte genommen. Also im Prinzip rückt alles immer eine Hälfte der Seite weiter. Wie muß man sowas gestalten, oder geht es evtl. sogar schon automatisch?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Wolfgang Ciriack »

Ich würde eine Tabelle 2-spaltig definieren, den Fahrer als Gruppenkopf nehmen, dann die Daten ausgeben. Beim Gruppenkopf Gruppieren nach Fahrernamen, Umbruch vor auf Ja setzen. Wenn du jetzt die Daten sortiert nach Fahrernamen + Datum + Uhrzeit übergibst, sollte das schon passen.
Viele Grüße
Wolfgang
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Tom »

Für solche Aufgaben lohnt es sich übrigens, die Druckroutine Array-fähig zu machen, was kein großer Aufwand ist.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Manfred »

ich stehe ja gerade in den Startlöchern und probiere noch. Deshalb meine Frage(n) hier.
Aber ich übergebe doch kein Array,oder? Ich habe aus den Beispielen genommen, das jeder Satz einzeln übergeben wird? Aber wie verarbeitet L&L da dann weiter?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Wolfgang Ciriack »

Der Druckroutine ist es ja egal, ob die Felder aus Datenbankfeldern oder Arrayelemnten definert werden.
In der Druckschleife rufst du ja deine Routine DefineData (oder wie sie auch immer heißt) auf und darin kannst du ja die Daten zusammenstellen wie du möchtest.
Viele Grüße
Wolfgang
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Manfred »

ja, das meinte ich ja. Jeder Satz oder jedes Feld werden einzeln übergeben. So habe ich das verstanden. Da L&L ja keinen direkt ZUgriff auf die Datenquelle hat, muß es ja so sein. Deshalb ja mein Stirnrunzeln mit dem Array. Aber ich denke ich habe das falsch verstanden. Ihr meint bestimmt alles in ein Array packen und dann mit DefineData() übergeben.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Wolfgang Ciriack »

Array muss ja nicht sein, wenn du deine Datenbank mit einem Index in der richtigen Sortierreihenfolge hast, reicht es ja.
Viele Grüße
Wolfgang
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Tom »

Ich habe das zu früh angemerkt, mein Fehler. 8)

Wolfgang trifft den Punkt - L&L ist es egal, wo die Daten herkommen. Man kann Felder aus Tabellen kommen lassen, aus komplexen Joins, man kann sie untergruppieren, man kann viele Quellen verwenden. Und eben auch Arrays - dafür würde man dann die DefineData-Routine umschreiben oder ergänzen oder klonen. Arrays haben viele Vorteile. Man kann die Daten darin sehr viel schneller umorganisieren, etwa sortieren, es ist auch halb so wild, wenn halbe Arrays mal leer sind (deshalb habe ich's hier erwähnt - man kann in Arrays die Touren so mit Leerstellen füllen, dass sie bezogen auf die Zeitfenster synchron laufen, aber über die Gruppen im Formular geht das natürlich auch), und Arrays sind allgemein fixer. Gerade bei Auswertungen, die man drucken will, sind Arrays unumgänglich. Früher oder später sollte man sich sowieso damit befassen.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Manfred »

Danke für den Tipp, werde ich mir zu herzen nehmen. Da ja eh alles neu programmiert werden muß.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Marcus Herz »

Arrays müssen doch auch mit den Daten aus den Tabellen gefüllt werden. Was ist da schneller als direkt an LL übergeben ?
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Wolfgang Ciriack »

Das Sortieren, wenn man kein passenden Index hat und so wie Tom schrieb, bei Auswertungen.
Viele Grüße
Wolfgang
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Manfred »

Prima, der erste Schritt ist vollbracht. Wenn man erstmal ein wenig den Überblick hat, dann geht es doch recht einfach. Jetzt steht eine einfache Tabelle mit Kopf, der sich wechselt bei entsprechenden Bedingungen. Allerdings war es try & error, bis die Erkenntnis kam, das man nach jedem Kopfdatenwechsel einen Befehl für Seitenwechsel geben muß und nach jeder vollen Zeile einen Zeilenbefehl. Und das man vorher einmal alle DAten rüberschicklen muß, bevor man an den eigentlichen Aufbau geht. Aber alles viel einfacher, als den Kram selbst zu berechnen. ich würde mal sagen auf den ersten Blick spart man mindestens 30-40% Code ein wenn man sich nicht um alles selbst kümmern muß.
Nachher schauen wir dann mal wie mal 2 spaltig drucken kann.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Wolfgang Ciriack »

Wenn du jetzt noch Summen hast, die pro Fahrer sind (z.B. Anzahl Aufträge in der Gruppenfußzeile), dann musst du auch diese Summenvariablen bei Gruppenwechsel unter den Bedingungen auf Null setzen. Nur mal als Info, denn das kommt bestimmt irgendwann :D
Viele Grüße
Wolfgang
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Manfred »

muß man die Mehrspaltigkeit ganz am Anfang vor allen anderen Aktionen einstellen, oder geht das auch nachher noch? Ich finde irgendwie nichts dergleichen. Auch wenn ich über den Weg des Handbuchs gehe. Oder sagen wir mal so, für den bereich in dem alle Fahrten aufgelistet werden habe ich Anzahl der Spalten gefunden und auf 2 gestellt. Aber wie sieht es mit dem Fahrerkopf aus?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Tom »

Auch Spalten können Darstellungsbedingungen haben. Das geht alles.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Manfred »

ok, das mit den Zeilen habe ich ja sofort gefunden. Die stehen jetzt auf 2 spaltig, allerdings scheint das wohl auch mit der Kopfzeile zusammenzuhängen. Ich habe die jetzt über die komplette Seite. Eigentlich sollte die auch 2 spaltig sein und immer über 2 Spalten gehen. Also wenn es wenige Zeilen gibt, dann sollen 2 Fahrer auf eine Seite (2-spaltig) und wenn es mehr Zeilen gibt, dann eben nur 1 Fahrer (auch 2-spaltig) Jetzt ist es so, das immer nur 1 Fahrer euf einer Seite ist, egal ob 2 Spalten benötigt werden oder nicht. Die 2. Spalte bleibt einfach leer.Wo muß ich da schrauben?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Manfred »

hier mal ein Schnappschuss, wie es aussehen sollte
tg1.PNG
tg1.PNG (604.84 KiB) 11123 mal betrachtet
hier wird das komplette Blatt mit einemFahrer ausgefüllt
tg2.PNG
tg2.PNG (202.96 KiB) 11123 mal betrachtet
die nächste Seite zeigt den rest in der ersten Spalte und den nächsten Fahrere in der 2. Spalte.
In dem Fall. Ansonsten sind 2 Fahrer pro Blatt, wenn eine Spalte für die Tour ausreicht.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von ramses »

Hallo Manfred

ich habe einige Listen die in deinem "1/2 Spalten Layout" gedruckt werden.
Meine Lösung dabei ist vor der Ausgabe die Werte für die einzelnen Spalten selbst zusammenzustellen.
So geht die Ausgabe ganz einfach.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Tom »

Deshalb habe ich auf Arrays verwiesen, Carlo. Man kann das in Formularen zwar mit Gruppenwechselbedingungen und ähnlichen Strukturen hinbekommen, aber es ist eigentlich einfacher, die Daten schon so aufzubereiten, dass eine normale Tabelle mit zwei Tabellenspalten automatisch richtig layoutet wäre, mit einem zweidimensionalen Array als Datenquelle.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Manfred »

ok, also Konsenz ist, man bereitet das für L&L auf und läßt es nicht L&L machen. Ich hatte gedacht man könnte das irgendwie zusammenbasteln im Designer, deshalb meine Frage hier. Das heißt aber auch, ich muß mich um die Prüfung ob alles paßt usw. selbst kümmern und entsprechend Seitenwechsel usw. vorgeben!? Oder sehe ich das jetzt falsch?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Tom »

Es geht beides, Manfred, und natürlich ist es irre elegant, nachgerade lässig, die Macht des Reportgenerators für eine solche Aufgabe zu nutzen. Aber einfacher ist es tatsächlich, die Daten so aufzubereiten, dass sie in einer zweispaltigen Tabelle schon richtig formatiert daherkommen, und dann muss man sich im Formular nur noch um die Seitenwechselbedingungen kümmern. Aber Konsens ist es nicht notwendigerweise, das in die Programmlogik zu ziehen. Wenn man alles oder möglichst viel im Formular macht, lässt sich ein Paradigmenwechsel - der Kunde will das plötzlich ganz anders - sehr viel leichter und ohne Programmierarbeit bewerkstelligen. Alles hat seine Vor- und Nachteile.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Manfred »

OK, aber dann wäre meine Eingangsfrage noch offen, wie bringt man das dem Designer bei? Ich möchte ja wirklich so viel wie möglich in den Designer auslagern um Code zu reduzieren und das Ergebnis flexibel zu halten. Jetzt habe ich es so, das der Kopf mit dem Fahrer immer über der linken Spalte gedruckt wird (es soll jedesmal ein Fahrer über der Spalte stehen) und jedesmal eine neue Seite angefangen wird, wenn auch der Fahrer wechselt, egal ob die rechte Spalte frei ist. (wo ja dann der nächste Fahrer anfangen sollte.)
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Manfred »

ach so, wo ich mir derzeit auch noch einen abbreche ist, wie bekomme ich unter einer Gruppe einen horizontalen Strich gezogen? Muß ich da eine zusätzliche Zeile jedesmal erzeugen? Unterstreichen habe ich schonmal versucht, sieht aber irgendwie ein wenig "ungewöhnlich" aus.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: L&L Neueinstig 3 2-spaltig drucken

Beitrag von Marcus Herz »

Eine andere Lösung für deinen 2-spaltigen Druck:
- du kannst im Designer (ab V 25) einstellen, dass er 2-spaltig HORIZONTAL druckt. Dann kannst du dein Datenarray (Gruß an Tom) abwechselnd mit Fahrer 1 und Fahrer 2 füllen (Fahrer 1 immer links, Fahrer 2 immer rechts), ist ein Fahrer früher ferig, musst du leer Array übergeben. Damit hast du gewährleistet, dass, falls ein Fahrer einen kürzere Liste hat, nicht LL mit dem Rest die andere Spalte auffüllt. Und du kannst einen Seitenumbruch definieren.
- Striche musst du über Rahmen auf JEDER Spalte einstellen, zur Not eine Leerspalte, damit der Rahmen ganz bis rechts geht. Du kannst mit CRTL mehrere Spalten markieren und dann eine Einstellung für alle markierten vornehmen.
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Antworten