Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Häufigkeit der Wörter zusammenfassen (https://www.delphipraxis.net/176766-haeufigkeit-der-woerter-zusammenfassen.html)

Dyami 25. Sep 2013 12:25

Delphi-Version: XE2

Häufigkeit der Wörter zusammenfassen
 
Hallo liebe Leute,

ich stehe hier vor einem kleinen Problem.
Ich möchte in der Ausgabe nicht 4 mal das gleiche Wort stehen haben, sondern nur 1-mal.
Es soll nicht stehen "Hallo, hallo, hallo, hallo: Das Wort Hallo gibt es 4 mal" sondern nur "Hallo: Das Wort Hallo gibt es 4 mal".

Das ist der Aufbau für Häufigkeit der Wörter ausgeben:
Delphi-Quellcode:
  for i := 0 to st_w1.count - 1 do
  begin
    Text := st_w1.CommaText;
    zaehlen := 0;
    index := st_w2.IndexOf(st_w1[i]);
    if index < 0 then
    begin
      index := st_w2.Addobject(Text, TObject(zaehlen));
      zaehlen := integer(st_w2.Objects[index]);
      inc(zaehlen);
      st_w2.Objects[index] := TObject(zaehlen);
    end;
    Memo2.Text := st_w2.Text;
  end;
Bitte um Hilfe, danke!

Philipp

Mokus 25. Sep 2013 12:27

AW: Häufigkeit der Wörter zusammenfassen
 
[bitte_ vergessen] Bau eine weitere If abfrage ein.

mit "IndexOf" schausdt du doch, ob das object in der liste vorhanden ist.
if index >0
dann füge es nicht hinzu.

[/bitte _ vergessen]

[edit] du setzt den text auf st_w1.comma text.
d.h. du fügst den ganze text hinzu. nicht nur das einzelne Wort.
Delphi-Quellcode:
text := st_w1[i] müsste da noch hin,
statt
Delphi-Quellcode:
text := st_w1-comma text.

das müsste es dann schon gewesen sein.
[/edit]

DeddyH 25. Sep 2013 13:11

AW: Häufigkeit der Wörter zusammenfassen
 
Stimmt genau, außerdem ist das Zuweisen des Memo.Text innerhalb der Schleife kontraproduktiv, das müsste dahinter, um das Programm nicht unnötig auszubremsen.

Dyami 25. Sep 2013 13:17

AW: Häufigkeit der Wörter zusammenfassen
 
Hat alles wunderbar geklappt, danke euch!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:10 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