AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Array, gleiche Werte zählen / Logikproblem.
Thema durchsuchen
Ansicht
Themen-Optionen

Array, gleiche Werte zählen / Logikproblem.

Ein Thema von g3m1n1 · begonnen am 4. Jun 2009 · letzter Beitrag vom 5. Jun 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Array, gleiche Werte zählen / Logikproblem.

  Alt 4. Jun 2009, 14:00
Zitat von g3m1n1:
Das ist ein Problem. Bei euren Lösungswegen wird eine feste Anzahl vorausgesetzt, oder ?
Nicht unbedingt, Du kannst natürlich auch ein dynamisches Array verwenden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Array, gleiche Werte zählen / Logikproblem.

  Alt 4. Jun 2009, 14:06
Zitat von g3m1n1:
Wie soll das funktionieren ? Soll das X in comboboxX denn variabel sein ? Das klappt doch nicht.
Sonst hätte ich mir vie lMphe ersparen können, wenn sowas wie Combobox[x].itemindex gehen würde.
Das ist ein Problem des RAD. Man kann zwar schnell etwas zusammenklickern auf der Form. Eine sinnvolle programmtechnische Verwendung verschließt sich dabei häufig (wie auch in diesem Fall). Meist wird dann mit Hilfe von FindComponent gearbeitet. Das funktioniert auch und wenn es deinen Ansprüchen genügt, kannst du es so umsetzen.

Als zweite Möglichkeit verzcihtest du einfach auf das Zusammenklickern und erstellst die Komponente einfach dynamisch (per Code) im Ereigniss FormCreate. Dann kannst du auch ein Array oder (besser) eine Liste verwenden. Zudem ist dann eine erweiterung recht leicht zu implementieren (wie Deddy schon schrieb).
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#13

Re: Array, gleiche Werte zählen / Logikproblem.

  Alt 4. Jun 2009, 14:07
Jetzt mal Q&D Cpy&Paste-Programming:
Delphi-Quellcode:
var
  Count: Array of Cardinal;
begin
  setlength(Count, ComboBox1.ItemCount);
  
  Count[Combobox1.ItemIndex] := Count[Combobox1.ItemIndex] + 1;
  Count[Combobox2.ItemIndex] := Count[Combobox2.ItemIndex] + 1;
  Count[Combobox3.ItemIndex] := Count[Combobox3.ItemIndex] + 1;
  Count[Combobox4.ItemIndex] := Count[Combobox4.ItemIndex] + 1;
  Count[Combobox5.ItemIndex] := Count[Combobox5.ItemIndex] + 1;
  Count[Combobox6.ItemIndex] := Count[Combobox6.ItemIndex] + 1;
  Count[Combobox7.ItemIndex] := Count[Combobox7.ItemIndex] + 1;
  Count[Combobox8.ItemIndex] := Count[Combobox8.ItemIndex] + 1;
  Count[Combobox9.ItemIndex] := Count[Combobox9.ItemIndex] + 1;
  Count[Combobox10.ItemIndex] := Count[Combobox10.ItemIndex] + 1;
  Count[Combobox11.ItemIndex] := Count[Combobox11.ItemIndex] + 1;
  Count[Combobox12.ItemIndex] := Count[Combobox12.ItemIndex] + 1;
  Count[Combobox13.ItemIndex] := Count[Combobox13.ItemIndex] + 1;
  Count[Combobox14.ItemIndex] := Count[Combobox14.ItemIndex] + 1;
end;
Es bietet sich natürlich ein Array und eine Schleife an


P.S.: Nur weil man etwas in Delphi machen kann, heißt das nicht dass es die beste Lösung ist
  Mit Zitat antworten Zitat
g3m1n1

Registriert seit: 18. Mai 2009
6 Beiträge
 
#14

Re: Array, gleiche Werte zählen / Logikproblem.

  Alt 4. Jun 2009, 14:28
Der Spaghetticode funktioniert ja schonmal ganz gut Danke.

Jedenfalls kriege ich jetzt angezeigt, wie oft z.B. die Gruppe "KFZ" angewählt wurde.

Fehlt eigentlich nurnoch das wichtigste. Die Summe der einzelnen gleichen Gruppenpositionen.

Quasi...

Editbx. Combobx.

250 KFZ
150 KFZ
400 SCHULDEN
4 GENUSSMITTEL
200 KFZ

---------------------------------------
Am liebsten in ner Listbox oder ähnlichem :

KFZ 600
SCHULDEN 400
GENUSSMITTEL 4

Aber woher soll delphi wissen, welche editbox zu welcher gruppe gehört
  Mit Zitat antworten Zitat
nat

Registriert seit: 10. Nov 2005
216 Beiträge
 
RAD-Studio 2009 Pro
 
#15

Re: Array, gleiche Werte zählen / Logikproblem.

  Alt 4. Jun 2009, 14:46
nun geht das geflicke richtig los...
du könntest in dem Tag feld der comboboxen das dazu gehörende edit-feld speichern.
z.B beim start einma für alle boxen sowas wieCombobox1.Tag := Integer(Edit1); später könnteste dann über TEdit(Combobox1.Tag).Text darauf zugreifen.
ich kann zwar nicht grad behaupten, dass ich diese lösung sinderlich schön finde,
funktionieren sollte sie aber für den hausgebrauch!
  Mit Zitat antworten Zitat
g3m1n1

Registriert seit: 18. Mai 2009
6 Beiträge
 
#16

Re: Array, gleiche Werte zählen / Logikproblem.

  Alt 4. Jun 2009, 15:01
Wie geht das mit TEdit(Combobox1.Tag).Text ?

Ich hab einfach mal bei form create Combobox1.Tag := Integer(Edit18); eingefügt.
und dann ? wie komm ich an die Werte ?
  Mit Zitat antworten Zitat
nat

Registriert seit: 10. Nov 2005
216 Beiträge
 
RAD-Studio 2009 Pro
 
#17

Re: Array, gleiche Werte zählen / Logikproblem.

  Alt 4. Jun 2009, 15:14
du hast es doch grad selber geschrieben
anzeigen z.B. so:
showmessage(TEdit(Combobox1.Tag).Text) bzw du willst damit ja rechnen...
dann kannste sowas wieTryStrToFloat(TEdit(Combobox1.Tag).Text, ..... machen
  Mit Zitat antworten Zitat
g3m1n1

Registriert seit: 18. Mai 2009
6 Beiträge
 
#18

Re: Array, gleiche Werte zählen / Logikproblem.

  Alt 5. Jun 2009, 06:46
Spitze ! Vielen vielen Dank !
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz