|
Autor
|
Thema: Summenbildung in Tabelle (2706 mal gelesen)
|
Erwin_S Mitglied

 Beiträge: 37 Registriert: 13.08.2006
|
erstellt am: 12. Apr. 2007 15:05 <-- editieren / zitieren --> Unities abgeben:         
Hallo! ich möchte die Anzahl eines Wertes aus einer Tabelle auslesen, d.h. wenn in einer Tabellenspalte 5x "Hallo" steht, soll der Befehl 5 ausgeben. Folgendes klappt aus irgendeinem Grund nicht: Summe:real; Summe:=Tabelle.sumattr({1,1}..{1,*},"Hallo"); Es kommt zwar keine Fehlermeldung, aber er gibt für Summe immer 0.0 raus, obwohl der Eintrag in der Spalte 1 mehrmals vorkommt. Hat jemand eine Idee?? Schöne Grüße Euer Erwin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 12. Apr. 2007 15:15 <-- editieren / zitieren -->
lt Hilfe : Die Methode sumAttr gibt die Summe der Attribute <string> aller Objekte im angegebenen Bereich der Liste bzw. Tabelle zurück (real). "hallo" ist wohl kein Objektattribut mit einem Wert > 0, oder ? Versuchs mal so: . . . tab.zeigerx:=1 tab.zeigery:=1; j:=0; while tab.finden({1,1}..{1,*},"Hallo") loop j:=j+1; end; print j; . . . ------------------ Der Simulator
|
Erwin_S Mitglied

 Beiträge: 37 Registriert: 13.08.2006
|
erstellt am: 12. Apr. 2007 15:19 <-- editieren / zitieren --> Unities abgeben:         
|
Ex-Mitglied
|
erstellt am: 12. Apr. 2007 15:28 <-- editieren / zitieren -->
Nein, er summiert die Zahlenwerte der Objektattribute ! schau Dir mal das Bsp in der Hilfe an. . . . Warteschlange.Zeiger := 1; print Warteschlange.sumAttr(`[1]..`[5],"Bearbeitungszeit"); . . . Dort werden alle Bearbeitungszeiten der Objekte in der Warteschlange aufsummiert und nicht die Objekte, die ein Attribut "Bearbeitungszeit" haben!
------------------ Der Simulator |
Erwin_S Mitglied

 Beiträge: 37 Registriert: 13.08.2006
|
erstellt am: 12. Apr. 2007 15:34 <-- editieren / zitieren --> Unities abgeben:         
|

| | Konstrukteur/in / Technischer Zeichner (m/w/d) | Über 70 Jahre Erfahrung im Stahlbau Steelwork aus Hardt in Rheinland-Pfalz steht seit seiner Gründung im Jahr 1951 für Qualität und Expertise im Stahlbau. Mit langjähriger Erfahrung bieten sie maßgeschneiderte Lösungen für individuelle Projekte. Steelwork steht heute für innovative Konzepte und verlässliche Lösungen im Bereich Lärmschutz an Straßen sowie in weiteren industriellen und privaten Anwendungen.... | | Anzeige ansehen | Feste Anstellung |
|
Ex-Mitglied
|
erstellt am: 12. Apr. 2007 18:57 <-- editieren / zitieren -->
so gehts auch: is Summe:real; liste:table[string]; do liste.create(tabelle.ydim); liste.initialisieren(`[*,*], "Hallo"); summe:= tabelle.schnittMenge(`[1,1]..`[1,*],liste).dim; print summe; end; aber die Schleife ist eleganter ------------------ Der Simulator
|