Habe versucht es in mein Programm einzubauen aber bekomme es nicht zu laufen.
Hier sind mal die pbf, pb und die csv die ich einlese.
Für einen Test müsste ich noch ein bmp mit anhängen geht ja aber so nicht.
Vielleicht kannst du mir da einen Tip geben, wo der Fehler liegt, was den Einbau eines bmp in der Spalte 4 angeht.
Möchte die Bilder am liebsten in der Zeile:
---------
AddGadgetItem(ListIcon_teile, -1, msg$,ImageID(0))
----------
gleich mit einbauen.
Kalul_2014.pbf
Code: Alles auswählen
Global Window_0
Global Panel_0, ListIcon_teile, Button_ende, Button_1
Enumeration FormFont
#Font_Window_0_0
EndEnumeration
LoadFont(#Font_Window_0_0,"Tahoma", 10)
Declare teilelesen(EventType)
Declare ende(EventType)
Procedure OpenWindow_0(x = 0, y = 0, width = 885, height = 425)
Window_0 = OpenWindow(#PB_Any, x, y, width, height, "KALKUL 2014 Bauteilekalkulationsprogramm", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
Panel_0 = PanelGadget(#PB_Any, 5, 5, 875, 320)
AddGadgetItem(Panel_0, -1, "Bauteiledatenbank")
ListIcon_teile = ListIconGadget(#PB_Any, 5, 35, 865, 253, "Nr.", 50, #PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect | #PB_ListIcon_LargeIcon)
AddGadgetColumn(ListIcon_teile, 1, "Bezeichnung", 400)
AddGadgetColumn(ListIcon_teile, 2, "Preis", 50)
AddGadgetColumn(ListIcon_teile, 3, "Foto", 100)
AddGadgetColumn(ListIcon_teile, 4, "Lieferant", 100)
AddGadgetColumn(ListIcon_teile, 5, "BestellNr", 100)
AddGadgetColumn(ListIcon_teile, 6, "Bestand", 60)
SetGadgetFont(ListIcon_teile, FontID(#Font_Window_0_0))
CloseGadgetList()
Button_ende = ButtonGadget(#PB_Any, 485, 370, 100, 25, "beenden")
Button_1 = ButtonGadget(#PB_Any, 180, 350, 100, 25, "teilelesen")
EndProcedure
Procedure Window_0_Events(event)
Select event
Case #PB_Event_CloseWindow
ProcedureReturn #False
Case #PB_Event_Menu
Select EventMenu()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
Case Button_ende
ende(EventType())
Case Button_1
teilelesen(EventType())
EndSelect
EndSelect
ProcedureReturn #True
EndProcedure
Kalkul_2014.pb
Code: Alles auswählen
EnableExplicit
IncludeFile "kalkul_2014.pbf"
Define event, EventGadget, EventType, EventMenu, EventWindow, prglauf
Structure teileliste
nr.i
gruppe.s
bild.s
bez.s
preis.f
lieferant.s
bestnr.s
lbestand.i
EndStructure
NewList teile.teileliste()
Structure fertigteileliste
nr.i
bild.s
bez.s
preis.f
lbestand.i
EndStructure
NewList fertigteile.fertigteileliste()
OpenWindow_0()
; ----- hier etwas das sofort beim Start erledigt werden soll eintragen
Repeat
Event = WaitWindowEvent()
EventGadget = EventGadget()
EventType = EventType()
EventMenu = EventMenu()
EventWindow = EventWindow()
prglauf=Window_0_Events(Event)
Until prglauf=#False
End
;-------- ab hier die Proceduren für Buttons, etc. -----------------
Procedure ende(EventType)
EndProcedure
Procedure SetGadgetItemIcon(iGadgetNr.i, iRow.i, iCol.i, iIcon.i, iSet.i)
Protected lvi.lv_item
lvi\mask = #LVIF_IMAGE
lvi\iItem = iRow ; row number for change
lvi\iSubItem = iCol ; 2nd subitem
lvi\pszText = #Null ; text to change to
If iSet
lvi\iImage = iIcon ; Icon setzen
Else
lvi\iImage = -1 ; Icon löschen
EndIf
SendMessage_(GadgetID(iGadgetNr), #LVM_SETITEM, 0, @lvi)
EndProcedure
Procedure teilelesen(EventType)
Define zeile$, msg$, nr, foto$
nr = 1
foto$ = "-"
LoadImage(0, "widerstand.bmp")
If ReadFile(0, "preise-bauteile.csv") ; wenn die Datei geöffnet werden konnte, setzen wir fort...
While Eof(0) = 0 ; sich wiederholende Schleife bis das Ende der Datei ("end of file") erreicht ist
zeile$ = ReadString(0) ; Zeile für Zeile im Debugger-Fenster anzeigen
zeile$ = ReplaceString(zeile$,Chr(34),"")
msg$ = Str(nr) + Chr(10) + ReplaceString(zeile$,";",Chr(10))
; Hinzufügen der Zeile zum Listen-Gadget.
AddGadgetItem(ListIcon_teile, -1, msg$,ImageID(0))
nr = nr +1
Wend
CloseFile(0) ; schließen der zuvor geöffneten Datei
SetGadgetItemIcon(ListIcon_teile,4,4,ImageID(0),#True)
Else
MessageRequester("Information","Konnte Datei nicht öffnen!")
EndIf
EndProcedure
Hier ein paar Zeilen aus der "preise-bauteile.csv"
Code: Alles auswählen
"Steckboard";2,95;;"Reichelt";"STECKBOARD 1K2V"
"Mignonaccu AA";2,24;;"onlinehandel";"0083-1"
"Kupferdraht versilbert 1mm";2,55;;"Reichelt";"silber 1,0mm"
"Schweißdraht 1 mm Länge 1m";0,14;;"Fau";"M0500"
"Schweißdraht 2 mm Länge 1m";0,15;;"Fau";"M0510"
"Platine, Epoxyd, einseitig, 160x100mm";1,5;;"Reichelt";"EPCU 160X100"
"Halter für 4 Mignonzellen AA";0,28;;"Reichelt";"Halter 4XUM3-QDK"
"Batterieclip 9V";0,35;;"Reichelt";"Halter 9V"
"Mignonzellen Paket mit 40 Stk.";8,5;;"Reichelt";"ANS AL 40 Pack"
"Renata Knopfzelle, 3 Volt, 210 mAh, 20,0x3,2mm";0,95;;"Reichelt";"CR 2032 REN"
"Prüfkabel mit Krokoklemmen (10Kabel)";1,1;;"Reichelt";"MK 612S"