+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Was mache ich falsch beim Druck von Listen?


(Guest) #1

Hallo,

ich verzweifle langsam. Ich möchte eine ganz simple Liste [1] drucken.
Oben soll ein Name stehen und unten drunter sollen einfach nur Zeilen
mit Zeilen-Indizes stehen. Das ganze soll über mehrere Seiten laufen.

Ich habe eigentlich alles genau so gemacht, wie im Kapitel

“2.6.6. Listendruck”

der Programmierer-Referenz beschrieben worden ist. Mein Programm druckt
aber a) nicht alle Zahlen in aufsteigender Reihenfolge, sondern immer
nur die höchste Zahl. Und b) nicht mehrere Seiten, sondern immer nur die
erste Seite und alle weiteren Seiten sind leer.

Was mache ich falsch?

Anbei mal meine Druck-Routine.

MfG
Susann

BEGIN

Private Sub Drucken()

 Dim Dummy
 Dim sFile: sFile = puPfad + "MyList.lst"
 Dim I As Integer: I = 0
 Dim DruckAnzahlZeilen As Integer: DruckAnzahlZeilen = 99

 'Variablen und Felder mit Dummy-Daten für Syntax Check definieren
   'Definiere alle im Ausdruck verwendeten Variablen
   MyList.LlDefineVariableStart
   Dummy = MyList.LlDefineVariableExt("Name", "Normalverbraucher", 

LL_TEXT)
Dummy = MyList.LlDefineVariableExt(“Vorname”, “Otto”, LL_TEXT)

   'Definiere alle im Ausdruck verwendeten Felder
   MyList.LlDefineFieldStart
   Dummy = MyList.LlDefineFieldExt("Nr", CStr(1), LL_TEXT)


 'Druck starten
 Dummy = MyList.LlPrintWithBoxStart(LL_PROJECT_LIST, sFile, 

LL_PRINT_PREVIEW, LL_BOXTYPE_NORMALWAIT, hWnd, “Printing”)
'Dialog für Drucker-Einstellungen anzeigen
Dummy = MyList.LlPrintOptionsDialog(hWnd, “Bitte einen Drucker
auswählen …”)

   'Fülle alle im Ausdruck verwendeten Variablen mit Werten
   MyList.LlDefineVariableStart
   Dummy = MyList.LlDefineVariableExt("Name", "Normalverbraucher", 

LL_TEXT)
Dummy = MyList.LlDefineVariableExt(“Vorname”, “Otto”, LL_TEXT)

 'Variablen drucken, auf Seitenumbruch achten
 While MyList.LlPrint = LL_WRN_REPEAT_DATA
 Wend

 'Solange das Ende der Posten-Tabelle nicht erreicht ist...
 While Not I > DruckAnzahlZeilen
     'Prozentbalken setzen
     Dummy = MyList.LlPrintSetBoxText("Printing invoice", I * 100 / 

DruckAnzahlZeilen)

       'Felder mit "Echtdaten" aus aktuellem Posten-Datensatz füllen
       MyList.LlDefineFieldStart
       Dummy = MyList.LlDefineFieldExt("Nr", CStr(I), LL_TEXT)

     'Felder drucken, und wenn Seitenumbruch erfolgt ist,
     'Variablen/Felder erneut drucken
     While MyList.LlPrintFields = LL_WRN_REPEAT_DATA
         MyList.LlPrint
     Wend

     I = I + 1
 Wend

 'Drucke Fußzeilen
 While MyList.LlPrintFieldsEnd = LL_WRN_REPEAT_DATA
 Wend

 'Druck beenden
 MyList.LlPrintEnd (0)
 'Beim Preview-Druck Preview anzeigen und dann Preview-Datei (.LL) 

löschen
Dummy = MyList.LlPreviewDisplay(sFile, “”, hWnd)
Dummy = MyList.LlPreviewDeleteFiles(sFile, “”)

End Sub

END

[1] <


(Guest) #2

Der Code sieht fuer mich gut aus. Hast Du mal ein Debug-Log erstellt und da
reingeschaut?

G.


(Guest) #3

Hallo,

Dr. Guenther Schwarze schrieb am 17.11.2008 15:44:

Der Code sieht fuer mich gut aus. Hast Du mal ein Debug-Log erstellt und da
reingeschaut?

Nein, aber ich habe den Fehler gefunden. Ich schäme mich eigentlich es
zu sagen, aber ich habe einfach vergessen das Design für die Folgeseiten
im Designer festzulegen. :expressionless: Das hat mich mehrere Tage gekostet. So ein
schei_ Fehler. Manchmal hat man einfach ein Brett vor dem Kopf.

Aber Dein Hinweis hat mich weiter gebracht. Denn wenn ein Anderer sagt,
dass der Code so falsch nicht sein kann, muss es an etwas anderem
liegen. Und so ging ich auf die Suche …

Ich habe halt immer an dem Code gezweifelt und bin nicht auf die Idee
gekommen, dass es am Design des Templates liegen könnte.