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