Druckerausgabe [ERLEDIGT]
Verfasst: 13.01.2013 20:53
Hallo und guten Abend,
ich habe ein wunderschönes Grid mit vielen Daten erstellt.
Wie schaffe ich es nun das ganze zu Drucken ?
Also ordentlich zu Papier zu bringen.
Wäre für Eure Hilfe sehr dankbar.
Grüße Christian
ich habe ein wunderschönes Grid mit vielen Daten erstellt.
Wie schaffe ich es nun das ganze zu Drucken ?
Also ordentlich zu Papier zu bringen.
Code: Alles auswählen
EnableExplicit
XIncludeFile "D:\Program Files (x86)\PureBasic (X86)\Includes\esgrid.pbi"
IncludePath ""
Enumeration 20 Step 1
#WINDOW
#PANEL
#GRID
#BTN_ABBRECHEN
#BTN_SPEICHERN
#BTN_DRUCKEN
EndEnumeration
Procedure.i MyCellCallBack(egrid, uMsg, *cellinfo.egridCellInfo)
Protected result
Select uMsg
Case #egrid_cellUpdated
result=1
Case #egrid_SelectCell
result=#True
InvalidateRect_(GadgetID(egrid),0,0)
Case #egrid_FormatCell
If *cellinfo\row=-1
*cellinfo\textjustification = #egrid_centerText
EndIf
If *cellinfo\row<>-1 And *cellinfo\row=egrid_SelectedRow(egrid)
*cellinfo\backcolour = $CCFFCC;$A5F4F9
EndIf
If *cellinfo\row <> - 1 ; ist nicht der header
If egrid_GetCellText(egrid, 0, *cellinfo\row) = "Sa" Or egrid_GetCellText(egrid, 0, *cellinfo\row) = "So"
*cellinfo\backcolour = $99CC99;#Yellow
EndIf
EndIf
Default
result = #True
EndSelect
ProcedureReturn result
EndProcedure
Procedure Tage_im_Monat(Jahr.i)
If OpenWindow(#WINDOW, 10, 10, 1650, 900, "Kalender " + Str(Jahr), #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
ButtonGadget(#BTN_ABBRECHEN,1558,840,80,40,"ABBRECHEN")
ButtonGadget(#BTN_SPEICHERN,10,840,80,40,"SPEICHERN")
ButtonGadget(#BTN_DRUCKEN,200,840,80,40,"DRUCKEN")
If PanelGadget(#PANEL, 10, 10, 1628,810)
Protected Tage.i, k.i, Ergebnis.i, i.i, Event.i, Quit.i, Weite.i = 96, GadgetID.i
Protected Tagtext.s
If Jahr % 4 = 0 And (Jahr % 100 <> 0 Or Jahr % 400 = 0) ;auf schaltjahr überprüfen
Tage = 29
Else
Tage = 28
EndIf
Dim Monatstage.i(11) ;array für anzahl der tage
Monatstage(0) = 31
Monatstage(1) = Tage
Monatstage(2) = 31
Monatstage(3) = 30
Monatstage(4) = 31
Monatstage(5) = 30
Monatstage(6) = 31
Monatstage(7) = 31
Monatstage(8) = 30
Monatstage(9) = 31
Monatstage(10) = 30
Monatstage(11) = 31
Dim Monat.s(11) ;array für monatsnamen
Monat(0) = "Januar"
Monat(1) = "Februar"
Monat(2) = "März"
Monat(3) = "April"
Monat(4) = "Mai"
Monat(5) = "Juni"
Monat(6) = "Juli"
Monat(7) = "August"
Monat(8) = "September"
Monat(9) = "Oktober"
Monat(10) = "November"
Monat(11) = "Dezember"
For k = 0 To 11 ;schleife für monate
AddGadgetItem(#PANEL, k, Monat(k) ) ;panelgadget beschriftung
egrid_CreateGrid(2+k, 10, 10, 1600, 762, 22,#egrid_NoHeaderButtons|#egrid_GridLines,#egrid_CustomHeader|#egrid_MultiLineText) ;|#egrid_GridLines,#egrid_CustomHeader|#egrid_MultiLineText
egrid_CreateCellCallback(2+k, @MyCellCallBack())
egrid_AddColumn(2+k,0,"Tag",35)
egrid_AddColumn(2+k,1,"",25)
egrid_AddColumn(2+k,2,"Desktop Visualizer", Weite.i)
egrid_AddColumn(2+k,3,"Beamer 1 2500 Ansi Lumen",Weite.i)
egrid_AddColumn(2+k,4,"Beamer 2 2500 Ansi Lumen",Weite.i)
egrid_AddColumn(2+k,5,"Beamer 3 Full HD", Weite.i)
egrid_AddColumn(2+k,6,"Laptop 1", Weite.i)
egrid_AddColumn(2+k,7,"Laptop 2", Weite.i)
egrid_AddColumn(2+k,8,"Overhead 1", Weite.i)
egrid_AddColumn(2+k,9,"Overhead 2", Weite.i)
egrid_AddColumn(2+k,10,"fahrbare Rollbild- leinwand", Weite.i)
egrid_AddColumn(2+k,11,"Flipchart 1", Weite.i)
egrid_AddColumn(2+k,12,"Flipchart 2", Weite.i)
egrid_AddColumn(2+k,13,"Flipchart 3", Weite.i)
egrid_AddColumn(2+k,14,"Pinnwand 1", Weite.i)
egrid_AddColumn(2+k,15,"Pinnwand 2", Weite.i)
egrid_AddColumn(2+k,16,"Pinnwand 3", Weite.i)
egrid_AddColumn(2+k,17,"Moderator Koffer", Weite.i)
egrid_SetHeaderHeight(2+k,45)
egrid_SetOption(2+k, #egrid_HeaderBorderColour, #Red)
egrid_SetOption(2+k, #egrid_SelectionBorderColour, #Blue)
egrid_SetOption(2+k, #egrid_SelectionBorderWidth, 2)
egrid_SetOption(2+k, #egrid_GridLineColour, #Black)
SetActiveGadget(2+k)
egrid_AddRows(2+k,-1, Monatstage(k)) ;100 rows.
For i = 1 To Monatstage(k) ;schleife für anzahl der tage
Ergebnis = DayOfWeek(Date (Jahr,1+k,i,0,0,0)) ;aktueller tag ermitteln
Select Ergebnis ;umwandeln in text
Case 0
Tagtext = "So"
Case 1
Tagtext = "Mo"
Case 2
Tagtext = "Di"
Case 3
Tagtext = "Mi"
Case 4
Tagtext = "Do"
Case 5
Tagtext = "Fr"
Case 6
Tagtext = "Sa"
EndSelect
egrid_SetCellText(2+k, 0, i-1, Tagtext)
egrid_SetCellText(2+k, 1, i-1, Str(i))
Next
Next
Repeat
Event = WaitWindowEvent()
GadgetID = EventGadget()
Select GadgetID
Case #BTN_ABBRECHEN
End
Case #BTN_SPEICHERN
Case #BTN_DRUCKEN
StopDrawing()
EndSelect
If Event = #PB_Event_CloseWindow
Quit = 1
EndIf
Until Quit = 1
EndIf
EndIf
EndProcedure
Tage_im_Monat(2012)
Wäre für Eure Hilfe sehr dankbar.
Grüße Christian