ich möchte gerne eine Art Seriendruckprogramm für Adressen erstellen, welches aus einer einzulesenden Datei die Überschriften als Variablennamen in ein Gadget "Quelle" einliest und darstellt. Der Anwender soll die Möglichkeit haben, die gewünschten Felder z.B. Vorname und Nachname ins Zielgadget abzulegen (das ganze aber auch nebeneinander). Weiterhin soll der Anwender die Möglichkeit erhalten, zwischen den abgelegten Feldern im Zielgadget variablen Test zu hinterlegen. Zum Schluss soll dann die Zusammenstellung so wie es sich der Anwender erstellt hat, ausgedruckt werden wobei die abgelegten Varablen durch die Werte aus der einzulesenden Datei (nur nicht die Überschrift) ersetzt werden + dem variablen Text den der Anwender zwischen den Variablen abgelegt hat.
Als Ansatz habe ich mir schon etwas aus der Hilfe zusammengebaut, aber so richtig komme ich nicht weiter. Villeicht kann mir jemand von euch etwas auf die Sprünge helfen.
Besten Dank hierfür vorab.
frank
Code: Alles auswählen
#Window = 0
Enumeration ; Gadgets
#SourceText
#TargetText
EndEnumeration
links.i = 150
oben.i = 10
breite.i = 300
hoehe.i = 140
If OpenWindow(#Window, 0, 0, 760, 310, "Drag & Drop", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
; Create and fill the source gadgets
;
ListIconGadget(#SourceText, 10, 10, 140, 140, "Quelle", 130)
AddGadgetItem(#SourceText, -1, "Der Text soll")
AddGadgetItem(#SourceText, -1, "im Ziel auch")
AddGadgetItem(#SourceText, -1, "hintereinander")
AddGadgetItem(#SourceText, -1, "abgelegt werden können")
; Create the target gadgets
ListIconGadget(#TargetText,links.i,oben.i,breite.i,hoehe.i, "ZIEL", breite.i - 5)
EnableGadgetDrop(#TargetText, #PB_Drop_Text, #PB_Drag_Copy)
Repeat
Event = WaitWindowEvent()
; DragStart event on the source gadgets, initiate a drag & drop
;
If Event = #PB_Event_Gadget And EventType() = #PB_EventType_DragStart
Select EventGadget()
Case #SourceText
Text$ = GetGadgetItemText(#SourceText, GetGadgetState(#SourceText))
DragText(Text$)
EndSelect
; Drop event on the target gadgets, receive the dropped data
;
ElseIf Event = #PB_Event_GadgetDrop
Select EventGadget()
Case #TargetText
AddGadgetItem(#TargetText, -1, EventDropText())
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
End