-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
13. Nov 2014
Ich bedanke mich für eure Hilfe, die Erklärung zu dem Index der TObjectList hat mir gerade sehr geholfen. Ich lese richtig aus und zähle auch richtig. Danke nochmals. :)
Gruß
Jan
-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
13. Nov 2014
Guten Morgen,
@Sir Rufo: Wenn ich den Rückgabewert der Funktion wegnehme, dann meckert er, dass er einen ":" erwartet.
Zu folgenden Zeilen:
iAusgabe := 0;
for iAusgabe := List.iAnzahl to List.iAnzahl do
Memo2.Lines.Add(IntToStr(List.iAnzahl) + 'x ' + List.sWort2);
iAusgabe ist quasi mein Index. Dieser soll vom niedrigsten bis zum höchsten Wert durchlaufen und entsprechend...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
12. Nov 2014
Wenn du so fragst vermutlich nichts, aber ich möchte mit der Zeile
Memo2.Lines.Add(IntToStr(List.iAnzahl) + 'x ' + List.sWort2);
nur aussagen, dass die Anzahl dem entsprechenden Wort zugeordnet wird. Deine Aussage war doch bestimmt auf die Zeile bezogen, oder?
Irgendwie muss ich ja die Werte untereinander in dieses Memofeld schreiben.
-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
12. Nov 2014
Hm... ich habe das zwar jetzt integriert bekommen, aber es kommen noch mehr Fehler.
List.Sort(TComparer<TWort>.Construct(
function(const Left, Right: TWort): integer
begin
Result := Left.iAnzahl - Right.iAnzahl;
end));
iAusgabe := 0;
for iAusgabe := List.iAnzahl to List.iAnzahl do
Memo2.Lines.Add(IntToStr(List.iAnzahl) + 'x ' + List.sWort2);
-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
12. Nov 2014
Hm ok, das habe ich verstanden. Das funktioniert dann ja wahrscheinlich mit if-Anweisungen, aber wo passiert der eigentliche Tausch? In einer vordefinierten Funktion?
-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
12. Nov 2014
Ja ich weiß, ich hatte dazu ja auch was geschrieben. Mein Problem ist einfach das Verständnis dafür.
Es wäre gut, wenn du mir vielleicht das ganze mal an einem Beispiel erklärst, weil ich stehe momentan echt auf dem Schlauch.
Ich habe also eine Liste mit zwei Elementen. Das erste hat einen Integerwert von 4 und das zweite Element hat einen Integerwert von 9.
Nach deinem Beispiel rechne ich...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
12. Nov 2014
Also, nach wie vor verstehe ich das nicht ganz. Weder das eine, noch das andere haben mir dabei geholfen.
Ich weiß nicht, wie ich das in meine Code einbinden muss... und je mehr ich mir durchlese, umso verwirrter bin ich.
Die dazugehörige Funktion muss ich doch irgendwo niederschreiben, erfolgt das in der class?
-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
12. Nov 2014
Also das Vergleichen habe ich ja bereits mit DeddyH's Methode erfolgreich lösen können, die habe ich für meine Belange umgewandelt und integriert.
Einzig diese Sortierfunktion steht mir im Wege. Wobei ich glaube, dass es weniger die Funktion, als mein Verständnis dafür ist. :wall:
Wenn ich mir das so anschaue, würde ich gerne mal meine Gedanken dazu mitteilen und es wäre nett, wenn ihr...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
12. Nov 2014
Ja das ist richtig, iAnzahl ist ein Integer. Ich wollte aber gar nicht den Maximalwert der Integers wiedergeben, sondern den der TOjectList. :gruebel:
Ich hatte mir jetzt mal, die Sortierfunktion der TObjectList angeschaut, diese ist aber gar nicht anders als meine, kann das sein?
Mein Problem liegt daran, dass ich nicht genau weiß, wie ich auf die Richtige "Spalte" der TObjectList zugreife,...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
12. Nov 2014
Also wenn ich das jetzt richtig verstanden habe, dann kann man diese Funktion sowieso nicht auf TObjectList übertragen.
Wenn das so ist, würde ja sowie so dein Vorschlag bezüglich der integrierten Sortiermethode greifen DeddyH.
Ich glaube jetzt muss ich mich da erstmal reinlesen, danke für die Hilfe bis hierhin.
Gruß
Jan
-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
12. Nov 2014
@DeddyH: Da stimme ich dir zu, wenn die TObjectList bereits einen Sortieralgorithmus besitzt, werde ich diesen auch nehmen. Bis dato wusste ich davon aber noch nicht.
@DeddyH & Blup: Mit dem High(...) möchte ich sagen, dass er von Beginn der List bis zum höchsten Indexwert durchgeht und sortiert - naja, zumindest habe ich mir das gedacht.
-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
12. Nov 2014
@mkinzler: Das hatte ich ja verbessert, s. #3
@DeddyH: Ich habe daraus zwar keine eigene Funktion gemacht, aber ich habe das Problem mit einer For-Schleife lösen können. Danke dafür. Er geht das jetzt auch alles richtig durch, doch jetzt wirft er mir während ich das eben gedebuggt habe eine Exception bei meinem Sortieralgorithmus aus...
procedure TForm1.Sort(var List: TObjectList<TWort>);...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
12. Nov 2014
Ich muss das glaube ich mal richtig verstehen...
Ich habe eine Liste mit 10 Elementen. Die geht dann von 0 bis 9.
Jetzt schreibe ich einen String mit seinem dazugehörigen Integerwert an die erste Stelle, also die 0te.
Wenn ich jetzt ein weiteres Element habe, dann soll er das, mit allen Indexpositionen vergleichen,
ob der String schon vorhanden ist. Das wollte ich mit iCounter machen, der...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
12. Nov 2014
Wie meinst du "Hier Nicht"? Das ist doch die einzige Stelle, wo es hingehören würde. Mir ist klar, dass die Indexposition bei 0 beginnt, aber außer dieser einen Zeile gäbe es doch sonst keine Möglichkeit.
-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
12. Nov 2014
Hallo mkinzler,
das fiel mir beim durchlesen auch ebengerade auf, ich hatte die -1 da eigentlich schon drin stehen, war jetzt selbst verwirrt...
Fehler gelangt nämlich jetzt an seine alte Position in die Zeile: if sWort = List.sWort2 then
Gruß
Jan
-
Forum: Object-Pascal / Delphi-Language
Delphi
by StepByStep,
12. Nov 2014
Guten Morgen z'sammen,
ich arbeite und lerne zur Zeit mit Delphi. Bei allen bis heute auftretenden Problemen, hat mir diese Community super geholfen und ich konnte meine Fehler immer finden und beseitigen, doch heute bräuchte ich mal Hilfe. Dazu schildere ich am besten mal mein Problem so gut wie es geht:
Ich habe ein Memofeld in den ich Text schreibe. Die einzelnen Wörter werden ausgelesen...