AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array durch Objectlist ersetzen

Ein Thema von Dyami · begonnen am 4. Okt 2013 · letzter Beitrag vom 8. Okt 2013
 
Benutzerbild von Mokus
Mokus

Registriert seit: 24. Sep 2013
165 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Array durch Objectlist ersetzen

  Alt 8. Okt 2013, 07:25
Hey;
Arbeite an der gleichen Aufgabe wie Dyami;

problem ist bei unserem Quell text, ist die Kontrolle, ob ein string in der Tobjectlist vorhanden ist.
per result.IndexOf () // result = Twoerterzaehlen = class(TObjectlist) kommt ne Meldung; inkompatible Typen.
Klar, String und Tobject. aber wie könnte man dieses Problem lösen ?

zu erst war die idee jedesmal .create
versucht mal ein index zurück zugeben, wenn der im Speicher immer wieder eine neue Position bekommt ...
die If abfrage würde also nie im Fall treten.
Was wollen wir den überhaupt erreichen ?
Wir haben
ein Memo.text ->
wird als commatext in eine Stringlist übergeben ->
diese Stringlist wird an die Methode übergeben ->
Durlaufen mit verschachtelter FOR schleife die Liste ->
möchten KOntrollieren ob der String in der TObjectlist vorhanden ist ->

WENN JA
Zähle den INDEX ein Hoch

WENN NEIN
Füge das WOrt hinzu & Zähle die Häufigkeit der Wörter ein hoch.

so .... wie kann man solches am besten anstellen ?!



Delphi-Quellcode:
  i_idx := 0;
  result := Twoerterzaehlen.created(0, ''); // *^1
  // Durchlaufen der Wortlist
  for i := 0 to st_woerter.count - 1 do
  begin
    b_vorhanden := false;
    s_ewort := AnsiLowerCase(st_woerter[i]);
    // Prüfen, ob Wort da
    for a := 0 to result.count - 1 do
    begin
      if result.Items[a] = s_ewort then // falsch
      begin
        i_idx := result.IndexOf((Twoerterzaehlen.create(s_ewort))); // geändert werden
        b_vorhanden := TRUE;
        break;
      end;
    end;
    // wenn ja, dann hochzählen
    if b_vorhanden then
    begin
      // inc(result[i_idx]);
    end
    else
    // Sonst ergänzen
    begin
      result.Add(Twoerterzaehlen.created(1, s_ewort));
    end;
  end;
end;
Delphi-Quellcode:
// *^1
constructor Twoerterzaehlen.created(Anz: integer; Wor: String);
begin
  Anzahl := Anz;
  Wort := Wor;
end;

Siehe oben; methode zur Häufigkeit der Wörter wieder geben.

bei weitere Fragen bitte melden ;

Danke für jede kleine Hilfe ....
Markus
es gibt nur 10 arten von menschen !
die die binär verstehen und die die nicht. !

Geändert von Mokus ( 8. Okt 2013 um 07:27 Uhr) Grund: Reichtschreibfehler ? KANNST BEHALTEN ?!
  Mit Zitat antworten Zitat
 


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 21:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz