Forum: Algorithmen, Datenstrukturen und Klassendesign
by DieDolly,
22. Mai 2019
Bei beiden Varianten lag mein Fehler glaube ich beim Aufruf
VerschiebeZeilen(sl, LineStart, LineEnd - LineStart, LineTarget); // LineEnd - LineStart statt nur LineEnd
Das Ergebnis sieht jetzt so aus
Forum: Algorithmen, Datenstrukturen und Klassendesign
by DieDolly,
22. Mai 2019
So funktioniert es bei mir. Alle Leerzeichen werden auch richtig gesetzt. Anders schaffe ich das nicht. Und selbst dann ist es n9icht zuverlässig.
Ich möchte ja keine Zeilen vertauschen sondern nur einen Block von oben irgendwo ganz nach unten verschieben.
var
sl, slTemp: TStringList;
i, LineStart, LineEnd, LineTarget: Integer;
begin
sl := TStringList.Create;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by DieDolly,
22. Mai 2019
Zu diesem Beispiel habe ich die Frage, was denn ASourceLine ist?
Ist damit AStartLine gemeint? Wenn ja, verzeiht meine Unwissenheit :cyclops:
Obwohl, so ganz habe ich noch nicht verstanden wie da was verschoben wird. Meine Ergebnisse sind immer irgendwie komisch.
VerschiebeZeilen(sl, 0, 4, 8);
Forum: Algorithmen, Datenstrukturen und Klassendesign
by DieDolly,
22. Mai 2019
Ich habe gerade das Beispiel von der vorherigen Seite getestet mit dieser Datei
Und diesem Aufruf und ich bekomme den Out of bounce Fehler
VerschiebeZeilen(sl, 5, 6, 18); // Block 5-10 soll nach 15 verschoben werden
Wenn ich 0, 5, 10 eingebe, kommt das hier als Ergebnis. Scheint etwas wackelig zu sein
Forum: Algorithmen, Datenstrukturen und Klassendesign
by DieDolly,
22. Mai 2019
Die Blöcke haben maximal 30 Zeilen und die Datei ist bis zu 80000 Zeilen lang.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by DieDolly,
21. Mai 2019
Mein Problem ist, dass ich nicht weiß wie man das ordentlich umsetzt. Ich würde jetzt diese sagen wir mal 20 Zeilen in eine zweite StringList speichern und in die andere neu reinspeichern.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by DieDolly,
21. Mai 2019
Genau. Oder andersherum Zeile 80 bis 89 an Zeile 130 verschieben. Das sind jetzt nur zufällige Zahlen.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by DieDolly,
21. Mai 2019
Ich nutze eine StringList, um den Inhalt einer Textdatei zwischenzuspeichern und vorrätig zu halten. Für diesen speziellen Typ Dateiinhalt brauche ich kein Klassensystem oder sowas.
Wie verschiebt man am besten Textblöcke von denen ich die Indexe von Anfang bis Ende weiß, komplett an eine neue Position?
Ich hätte vielleicht eine Idee aber ich frage lieber hier nochmal nach, ob ihr eine...