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 Dyami
Dyami

Registriert seit: 24. Sep 2013
Ort: Schleswig-Holstein
25 Beiträge
 
Delphi 10.3 Rio
 
#1

Array durch Objectlist ersetzen

  Alt 4. Okt 2013, 07:14
Delphi-Version: XE2
Hallo,

ich stehe vor einem Problem. Ich habe die Aufgabe bekommen mein Array durch eine TObjectlist zu ersetzten. Nun habe ich mich ein bisschen damit beschäftigt und viel im Inet gelesen, aber ich habe immer noch keinen Plan was ich machen soll.

Delphi-Quellcode:
unit Woerter;

interface

uses

  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Contnrs;

type

  TWoerterZaehlen = class(TObjectlist)
    // Wort: String;
    // Anzahl: integer;

  protected
    Fwort: string;
    Fanzahl: integer;
  public type

    ArrofTWoerterZaehlen = array of TWoerterZaehlen;
  function HaeufigkeitDerWorte2(st_w1: tstringlist): ArrofTWoerterZaehlen;
  constructor create(Anz: integer; Wor: String); overload;
  constructor create(Wor: String); overload;
  property Wort: String read Fwort write Fwort;
  property Anzahl: integer read Fanzahl write Fanzahl;

  function toString(arrofsort: TWoerterZaehlen.ArrofTWoerterZaehlen): String;
  end;

implementation

function TWoerterZaehlen.HaeufigkeitDerWorte2(st_w1: tstringlist)
  : TWoerterZaehlen.ArrofTWoerterZaehlen;

var
  i: integer;
  a: integer;
  s_wort: string;
  b_iv: boolean;
  index: integer;
Begin

  setlength(result, 0);
  index := 0;
  for i := 0 to st_w1.count - 1 do
  begin
    b_iv := false;
    s_wort := AnsiLowerCase(st_w1[i]);
    for a := 0 to length(result) - 1 do
    begin
      if result[a].Fwort = s_wort then
      begin
        b_iv := true;
        index := a;
        break;
      end;
    end;
    if b_iv then
    begin
      result[index].Fanzahl := result[index].Fanzahl + 1;
    end
    else
    begin
      setlength(result, length(result) + 1);
      result[high(result)] := TWoerterZaehlen.create(s_wort);
    end;
  end;
end;
{ TWoerterZaehlen }

constructor TWoerterZaehlen.create(Anz: integer; Wor: string);
begin
  Anzahl := Anz;
  Wort := Wor;
end;

constructor TWoerterZaehlen.create(Wor: String);
begin
  Anzahl := 1;
  Wort := Wor;
end;

function TWoerterZaehlen.toString(arrofsort: ArrofTWoerterZaehlen): String;
begin
  result := '';

end;

end.
Wäre echt nett, wenn Ihr mir helfen könntet. Sitze an dieser Aufgabe nämlich nicht alleine fest :/

Gruß

Philipp
Philipp

Geändert von Dyami ( 4. Okt 2013 um 07:21 Uhr)
  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 19:35 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