Seite 2 von 2

Re: Werte aus Listicon addieren

Verfasst: 14.05.2015 18:26
von Fox
Danke bizzl, hab ich jetzt zum Glück verstanden. Was ich eigentlich versuche ist alle Elemente, die im ListIconGadget sind zu addieren und dann via Enter eben diese Summe in ein StringGadget schreiben lassen möchte. Bei der Ausgabe des Wertes nach der oberen Manier gibt er mir aber lediglich den 1. Wert zurück, wobei das ganze ja in der For Next Schleife steht. Konktret sollte das ganze also eigentlich wie folgt aussehen:

Bild

Wo liegt der Fehler?

@RSBasic: +1 ändert nichts, da 0 ohnehin der Spaltentitel ist.

@Tommy: Muss mal meine Signatur auffrischen, die ist schon uralt.

Re: Werte aus Listicon addieren

Verfasst: 14.05.2015 19:21
von NicTheQuick
Ich würde mal sagen, es ist langsam Zeit, dass du uns deinen Code zeigst. Sonst wird das hier nichts. Screenshots bringen auch nichts. Du machst offensichtlich irgendwas grundlegendes falsch.

Re: Werte aus Listicon addieren

Verfasst: 14.05.2015 19:39
von Fox
Sorry, bin wirklich total raus. Hier der Code:

Code: Alles auswählen

; Autor: Fox


;- Preisliste

#Biergr = "5,00€"
#Bierkl = "2,50€"
#Colagr = "2,30€"
#Colakl = "1,40€"
#Wassergr = "2,20€"
#Wasserkl = "1,20€"
#Limogr = "2,30€"
#Limokl = "1,40€"
#Cocktail = "5,50€"
#Shisha1 = "5,00€"
#Shisha2 = "6,00€"
#Shisha3 = "7,00€"

Enumeration
  #Interface
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Panel
  #FrameOther
  #Rechnung
  #FrameDrinks
  #Frame3D_5
  #Button_Del
  #Button_Bierkl
  #Button_Colakl
  #Button_Biergr
  #Button_Colagr
  #Button_Limokl
  #Button_Wasserkl
  #Button_Wassergr
  #Button_Limogr
  #Button_Cocktail
  #Button_Shisha1
  #Button_Shisha2
  #Button_Shisha3
  #Button_Enter
  #ListIcon_Tisch
  #Button_BillPrint
  #ListIcon_Bill
  #Listview_Tagesabrechnung
  #String_Date
  #Button_Tagesabschluss
  #Frame3D_Bediener
  #Image_Mario
  #Image_Sebastian
  #Image_Martin
  #CheckBox_Martin
  #CheckBox_Mario
  #CheckBox_Sebastian
  #Text_Speicherort
  #String_Speicherort
  #Button_Speicherort
  #Text_Zugang
  #Button_Zugang
  #Text_Rechnungsnr
  #String_Rechnungsnr
  #Text_Summe
  #String_Summe
  #Text_Eur
EndEnumeration

;- Image Plugins
UseJPEGImageDecoder()

;- Image Globals
Global Image0
Global Image1
Global Image2

;- Catch Images
Image0 = CatchImage(0, ?Image0)
Image1 = CatchImage(1, ?Image1)
Image2 = CatchImage(2, ?Image2)

;- Images
DataSection
Image0:
  IncludeBinary "C:\Users\Seminar\Desktop\Projekt Zeitlos\Mario.jpg"
Image1:
  IncludeBinary "C:\Users\Seminar\Desktop\Projekt Zeitlos\Sebastian.jpg"
Image2:
  IncludeBinary "C:\Users\Seminar\Desktop\Projekt Zeitlos\Martin.jpg"
EndDataSection

Procedure.i Euro2Cent(euro.s)
   Protected i.i = FindString(euro, ",")
   If (i = 0)
      ProcedureReturn Val(euro)
   Else
      Protected cents.i = Val(Mid(euro, i + 1, 2))
      If (Mid(euro, i + 1, 1) = "0")
         ProcedureReturn Val(Left(euro, i)) * 100 + cents
      Else
         ProcedureReturn Val(Left(euro, i)) * 100 + cents * 10
      EndIf
   EndIf
EndProcedure

Procedure.s Cent2Euro(cent.i)
   If cent < 100
      ProcedureReturn "0," + RSet(Str(cent), 2, "0") + "€"
   Else
      ProcedureReturn Str(cent / 100) + "," + RSet(Str(cent % 100), 2, "0") + "€"
   EndIf
EndProcedure



  If OpenWindow(#Interface, 0, 7, 1376, 726, "Zeitlos - Kassensystem",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered )

      
      ;- Panel
      PanelGadget(#Panel, 0, 0, 1350, 680)
      AddGadgetItem(#Panel, -1, "Kasse")
      Frame3DGadget(#FrameOther, 828, 8, 320, 480, "Sonstiges")
      Frame3DGadget(#FrameDrinks, 18, 8, 390, 480, "Getränke")
      Frame3DGadget(#Frame3D_5, 428, 8, 370, 480, "Shisha")
      ButtonGadget(#Button_Enter, 1168,448, 60, 40, "Enter")
      ButtonGadget(#Button_Del, 1268, 448, 60, 40, "Entfernen")
      ButtonGadget(#Button_Bierkl, 28, 28, 100, 50, "Bier 0.5 l")
      ButtonGadget(#Button_Colakl, 158, 98, 100, 50, "Cola klein")
      ButtonGadget(#Button_Biergr, 28, 98, 100, 50, "Bier 1 l")
      ButtonGadget(#Button_Colagr, 158, 28, 100, 50, "Cola groß")
      ButtonGadget(#Button_Limokl, 158, 378, 100, 50, "Limo klein")
      ButtonGadget(#Button_Wasserkl, 158, 238, 100, 50, "Wasser klein")
      ButtonGadget(#Button_Wassergr, 158, 168, 100, 50, "Wasser groß")
      ButtonGadget(#Button_Limogr, 158, 308, 100, 50, "Limo groß")
      ButtonGadget(#Button_Cocktail, 288, 28, 100, 50, "Cocktail")
      ButtonGadget(#Button_Shisha1, 438, 28, 100, 50, "Shisha Kategorie 1")
      ButtonGadget(#Button_Shisha2, 438, 98, 100, 50, "Shisha Kategorie 2")
      ButtonGadget(#Button_Shisha3, 438, 168, 100, 50, "Shisha Kategorie 3")
      TextGadget(#Text_Rechnungsnr, 488, 618, 80, 20, "Rechnungsnr.:")
      StringGadget(#String_Rechnungsnr, 568, 618, 230, 20,"0", #PB_String_Numeric)
      
      ;-
      ListIconGadget(#ListIcon_Tisch, 18, 508, 400, 130, "Tischnr.:", 200, #PB_ListIcon_AlwaysShowSelection)
      ButtonGadget(#Button_BillPrint, 1188, 558, 140, 70, "Rechnung drucken")
      
      ;-
      ListIconGadget(#ListIcon_Bill, 1168, 8, 150, 430, "Posten:", 70)
      AddGadgetColumn(#ListIcon_Bill, 1, "Betrag:", 80)
      TextGadget(#Text_Summe, 1138, 498, 50, 20, "Summe:")
      StringGadget(#String_Summe, 1218, 498, 90, 20, "", #PB_String_ReadOnly)
      TextGadget(#Text_Eur, 1318, 498, 20, 20, "€")
      AddGadgetItem(#Panel, -1, "Tagesabrechnung")
      ListViewGadget(#Listview_Tagesabrechnung, 948, 48, 380, 500)
      StringGadget(#String_Date, 948, 8, 380, 20, "", #PB_String_ReadOnly)
      ButtonGadget(#Button_Tagesabschluss, 1118, 588, 210, 40, "Tagesabschluss")
      Frame3DGadget(#Frame3D_Bediener, 8, 18, 550, 530, "Bediener:")
      ImageGadget(#Image_Mario, 18, 48, 130, 140, Image0)
      ImageGadget(#Image_Sebastian, 18, 218, 130, 140, Image1)
      ImageGadget(#Image_Martin, 18, 388, 130, 140, Image2)
      CheckBoxGadget(#CheckBox_Martin, 168, 508, 30, 20, "")
      CheckBoxGadget(#CheckBox_Mario, 168, 168, 30, 20, "")
      CheckBoxGadget(#CheckBox_Sebastian, 168, 338, 30, 20, "")
      AddGadgetItem(#Panel, -1, "Bilanzen")
      AddGadgetItem(#Panel, -1, "Einstellungen")
      TextGadget(#Text_Speicherort, 8, 18, 70, 20, "Speicherort:")
      StringGadget(#String_Speicherort, 88, 18, 140, 20, "", #PB_String_ReadOnly)
      ButtonGadget(#Button_Speicherort, 238, 18, 50, 20, "...")
      TextGadget(#Text_Zugang, 8, 48, 85, 20, "Sicherer Zugang:")
      ButtonGadget(#Button_Zugang, 108, 48, 70, 20, "Ändern")
      CloseGadgetList()
      

  Repeat
    EventID = WaitWindowEvent()
    
    If EventID = #PB_Event_Gadget

      Select EventGadget()
          
            Case #Button_Bierkl
              AddGadgetItem(#ListIcon_Bill, -1, "Bier 0,5 l" + Chr(10) + #Bierkl, 0, 0)
            
              
            Case #Button_Biergr
              AddGadgetItem(#ListIcon_Bill, -1, "Bier 1,0 l" + Chr(10) + #Biergr, 0, 0)
              
              
            Case #Button_Colagr
              AddGadgetItem(#ListIcon_Bill, -1, "Cola groß" + Chr(10) + #Colagr, 0, 0)  
              
            Case #Button_Colakl
              AddGadgetItem(#ListIcon_Bill, -1, "Cola klein" + Chr(10) + #Colakl, 0, 0)  
              
            Case #Button_Wassergr
              AddGadgetItem(#ListIcon_Bill, -1, "Wasser groß" + Chr(10) + #Wassergr, 0, 0)  
              
            Case #Button_Wasserkl
              AddGadgetItem(#ListIcon_Bill, -1, "Wasser klein" + Chr(10) + #Wasserkl, 0, 0)  
              
            Case #Button_Limogr
              AddGadgetItem(#ListIcon_Bill, -1, "Limo groß" + Chr(10) + #Limogr, 0, 0)   
                          
            Case #Button_Limokl
              AddGadgetItem(#ListIcon_Bill, -1, "Limo klein" + Chr(10) + #Limokl, 0, 0)                  
              
            Case #Button_Cocktail
              AddGadgetItem(#ListIcon_Bill, -1, "Cocktail" + Chr(10) + #Cocktail, 0, 0)  
              
            Case #Button_Shisha1
              AddGadgetItem(#ListIcon_Bill, -1, "Shisha Kat. 1" + Chr(10) + #Shisha1, 0, 0)  
              
            Case #Button_Shisha2
              AddGadgetItem(#ListIcon_Bill, -1, "Shisha Kat. 2" + Chr(10) + #Shisha2, 0, 0)
                            
            Case #Button_Shisha3
              AddGadgetItem(#ListIcon_Bill, -1, "Shisha Kat. 3" + Chr(10) + #Shisha3, 0, 0)
              
            Case #Button_Enter
              
              
            Case #Button_BillPrint
              postenzahl = CountGadgetItems(#ListIcon_Bill)
              
              If CreateFile(#Rechnung, GetGadgetText(#String_Rechnungsnr) + ".txt")
                  WriteStringN(#Rechnung,"    Zeitlos  -  Cocktails, Bar, Lounge & Shisha")
                  WriteStringN(#Rechnung, "")
              
              For ab = 0 To postenzahl
                WriteStringN(#Rechnung, GetGadgetItemText(#ListIcon_Bill, ab, 0))
                WriteStringN(#Rechnung, GetGadgetItemText(#ListIcon_Bill, ab, 1))
              Next
              WriteStringN(#Rechnung,"______________________________________________")
              WriteStringN(#Rechnung, "Summe:")
              WriteStringN(#Rechnung, "MwSt.:")
              WriteStringN(#Rechnung, "")
              WriteStringN(#Rechnung, "Es bediente Sie:")
              WriteStringN(#Rechnung,"")
              WriteStringN(#Rechnung, "Rechnungsnr.:" + GetGadgetText(#String_Rechnungsnr))
              
                CloseFile(#Rechnung)
              Else
                MessageRequester("Fehler", "Rechnung konnte nicht erstellt werden. Zugriffsfehler")
              EndIf
              
             
      ViewBill = MessageRequester("", "Rechnung ansehen?", #PB_MessageRequester_YesNo)
      
      
            If ViewBill = #PB_MessageRequester_Yes       
               RunProgram(GetGadgetText(#String_Rechnungsnr) + ".txt")
            Else                                      
               MessageRequester("","Fehler bei Rechnungserstellung")
            EndIf

              ClearGadgetItems(#ListIcon_Bill)
              
    EndSelect

    EndIf

  Until EventID = #PB_Event_CloseWindow

EndIf

Re: Werte aus Listicon addieren

Verfasst: 14.05.2015 20:30
von Waldixxl
Hallo Fox
ersetze die Procdure Euro2Cent(euro.s) durch

Code: Alles auswählen

Procedure.i Euro2Cent(euro.s)
   euro = ReplaceString(euro, ",", ".")
   Protected d.d = ValD(euro)
   ProcedureReturn d * 100
EndProcedure
und füge

Code: Alles auswählen

For i=0 To CountGadgetItems(#ListIcon_Bill)
    Summe+Euro2Cent(GetGadgetItemText(#ListIcon_Bill,i,1))
Next
SetGadgetText(#String_Summe, Cent2Euro(Summe))
diesen Code beim #Button_Enter ein

Walter

Re: Werte aus Listicon addieren

Verfasst: 15.05.2015 00:28
von Fox
1000 Danke Walter, funktioniert super!