Re: Expression régulière date
Publié : lun. 15/avr./2019 19:21
Merci @Marc56 pour ces conseils, je les appliques de suite)
Code : Tout sélectionner
Window=OpenWindow(#PB_Any, 0, 0, 400, 320, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered|#PB_Window_MinimizeGadget)
If Window
ListIcon_ITEM = ListIconGadget(#PB_Any, 0, 0, 400, 300, "CODEGAN", 42,#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_HeaderDragDrop|#PB_ListIcon_AlwaysShowSelection)
AddGadgetColumn(ListIcon_ITEM, 1, "EAN",75)
AddGadgetColumn(ListIcon_ITEM, 2, "PCB", 45)
AddGadgetColumn(ListIcon_ITEM, 3, "Description", 100)
AddGadgetColumn(ListIcon_ITEM, 4, "ADRESSE", 75)
Button_Impr = ButtonGadget(#PB_Any, 0, 300, 70, 20, "Imprimer")
EndIf
For i=0 To 5
AddGadgetItem(ListIcon_ITEM, i,Str(Random(4552,1224))+Chr(10)+"1245764974"+Str(Random(988,124))+Chr(10)+Str(Random(10,5))+Chr(10)+"Produit "+Str(i)+Chr(10)+"30/04/19 > 37-035-02 > 32]]30/04/19 > 36-042-05 > 42]]30/04/19 > 36-090-03 > 72]]")
Next i
SetGadgetItemText(ListIcon_ITEM,3, "30/04/19 > 37-035-02 > 32]]30/04/19 > 36-042-05 > 42]]30/04/19 > 36-090-03 > 72]]30/04/19 > 37-035-02 > 32]]30/04/19 > 37-035-02 > 32]]30/04/19 > 37-035-02 > 32]]30/04/19 > 37-035-02 > 32]]30/04/19 > 37-035-02 > 32]]30/04/19 > 37-035-02 > 32]]30/04/19 > 37-035-02 > 32]]30/04/19 > 37-035-02 > 32]]", 4)
Repeat
Event = WaitWindowEvent()
WindowID = EventWindow()
GadgetID = EventGadget()
EventType = EventType()
Select GadgetID
Case Button_Impr
If PrintRequester()
If StartPrinting("Liste à contrôler")
If Not LoadFont(0, "Arial", 12)
Debug "Font Arial non chargeable!"
EndIf
StartVectorDrawing(PrinterVectorOutput(#PB_Unit_Millimeter))
VectorFont(FontID(0),3)
MovePathCursor(5,5)
;DrawVectorText("DESCRIPTION -G13 -PCB")
For ln=0 To 5
MovePathCursor(5, ln * 30 + 20)
codegan$ = GetGadgetItemText(ListIcon_ITEM, ln,0)
ean$ = GetGadgetItemText(ListIcon_ITEM, ln,1)
pcb$ = GetGadgetItemText(ListIcon_ITEM, ln,2)
desctmp$ = LSet(Left(GetGadgetItemText(ListIcon_ITEM, ln,3),25),25,"_")
adr$ = ReplaceString(GetGadgetItemText(ListIcon_ITEM, ln,4),"]]",#CRLF$)
DrawVectorText(desctmp$+" "+"G13..."+Right(ean$,3)+" PCB("+RSet(pcb$,2,"0")+")")
MovePathCursor(3, 0, #PB_Path_Relative)
DrawVectorText(adr$)
Next ln
StopVectorDrawing()
StopPrinting()
EndIf
Else
Debug "Erreur de parametrage d'imprimante"
EndIf
EndSelect
Until Event = #PB_Event_CloseWindow
Code : Tout sélectionner
Window=OpenWindow(#PB_Any, 0, 0, 400, 320, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered|#PB_Window_MinimizeGadget)
If Window
ListIcon_ITEM = ListIconGadget(#PB_Any, 0, 0, 400, 300, "CODEGAN", 42,#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_HeaderDragDrop|#PB_ListIcon_AlwaysShowSelection)
AddGadgetColumn(ListIcon_ITEM, 1, "EAN",75)
AddGadgetColumn(ListIcon_ITEM, 2, "PCB", 45)
AddGadgetColumn(ListIcon_ITEM, 3, "Description", 100)
AddGadgetColumn(ListIcon_ITEM, 4, "ADRESSE", 75)
Button_Impr = ButtonGadget(#PB_Any, 0, 300, 70, 20, "Imprimer")
EndIf
For i=0 To 5
AddGadgetItem(ListIcon_ITEM, i,Str(Random(4552,1224))+Chr(10)+"1245764974"+Str(Random(988,124))+Chr(10)+Str(Random(10,5))+Chr(10)+"Produit "+Str(i)+Chr(10)+"30/04/19 > 37-035-02 > 32]]30/04/19 > 36-042-05 > 42]]30/04/19 > 36-090-03 > 72]]")
Next i
SetGadgetItemText(ListIcon_ITEM,3, "30/04/19 > 37-035-02 > 32]]30/04/19 > 36-042-05 > 42]]30/04/19 > 36-090-03 > 72]]30/04/19 > 37-035-02 > 32]]30/04/19 > 37-035-02 > 32]]30/04/19 > 37-035-02 > 32]]30/04/19 > 37-035-02 > 32]]30/04/19 > 37-035-02 > 32]]30/04/19 > 37-035-02 > 32]]30/04/19 > 37-035-02 > 32]]30/04/19 > 37-035-02 > 32]]", 4)
Repeat
Event = WaitWindowEvent()
WindowID = EventWindow()
GadgetID = EventGadget()
EventType = EventType()
Select GadgetID
Case Button_Impr
If PrintRequester()
If StartPrinting("Liste à contrôler")
If Not LoadFont(0, "Arial", 12)
Debug "Font Arial non chargeable!"
EndIf
StartVectorDrawing(PrinterVectorOutput(#PB_Unit_Millimeter))
VectorFont(FontID(0),3)
MovePathCursor(5,5)
;DrawVectorText("DESCRIPTION -G13 -PCB")
For ln=0 To 5
; à 5 mm en dessous de la position Y
MovePathCursor(5, PathCursorY())
codegan$ = GetGadgetItemText(ListIcon_ITEM, ln,0)
ean$ = GetGadgetItemText(ListIcon_ITEM, ln,1)
pcb$ = GetGadgetItemText(ListIcon_ITEM, ln,2)
desctmp$ = LSet(Left(GetGadgetItemText(ListIcon_ITEM, ln,3),25),25,"_")
adr$ = ReplaceString(GetGadgetItemText(ListIcon_ITEM, ln,4),"]]",#CRLF$)
DrawVectorText(desctmp$+" "+"G13..."+Right(ean$,3)+" PCB("+RSet(pcb$,2,"0")+")")
; Décaler de 3 mm à droite
MovePathCursor(3, 0, #PB_Path_Relative)
; Imprimer le bloc des références
DrawVectorText(adr$)
; Décaler de 5 mm en dessous de la hauteur du bloc de texte
MovePathCursor(0, VectorTextHeight(adr$) + 5, #PB_Path_Relative)
Next ln
StopVectorDrawing()
StopPrinting()
EndIf
Else
Debug "Erreur de parametrage d'imprimante"
EndIf
EndSelect
Until Event = #PB_Event_CloseWindow