![]() |
AW: Sortieralgorithmen
Ja, ja das kommt davon, wenn man keine sauberen Funktionen schreibt!
Hier kommt mal eine ausgereifte Funktion:
Delphi-Quellcode:
Und der Aufruf wäre dann
{**************************************************************************
* NAME: RemoveEmptyStrings * DESC: lösche leere Zeilen aus TStrings Objekt * PARAMS: [-] * RESULT: Anzahl der Löschungen *************************************************************************} function RemoveEmptyStrings(list : TStrings):Integer; var i : Integer; begin Assert(Assigned(list)); Result := 0; for i := list.Count-1 downto 0 do begin if list[i] = '' then begin list.Delete(i); Inc(Result); end; end; end;
Delphi-Quellcode:
RemoveEmptyStrings(Memo1.Lines);
|
AW: Sortieralgorithmen
unsauber mag vielleicht ja sein.... entschuldigung dass ich nicht als programmiererin geboren bin sondern jetzt meine zweite woche in der ausbildung verbringe
soo und jetzt an die lieben hier^^ bin jetzt so weit gekommen.... es funktioniert so weit auch gut nur muss ich das array rückwärts befüllen damit auch die letzte leerzeile die entsteht verschwindet.... hat dazu jemand einen kleinen tipp?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var lArray: array of String; i : Integer; A : String; begin SetLength(lArray, Memo1.Lines.Count); for i := Memo1.Lines.Count -1 downto 0 do begin //sicherstellen, dass der String min. ein Zeichen hat. if Memo1.Lines.Strings[i] = '' then begin Memo1.Lines.Delete(i); SetLength(lArray, Length(lArray) -1); end else begin lArray[i] := Memo1.Lines.Strings[i][1]; //Array rückwärts befüllen end; end; //Array sortieren. ShellSort(lArray); //TODO: Array zurück ins Memo kopieren. Memo1.Lines.Clear; for i := 0 to Length(lArray) - 1 do begin Memo1.Lines.Add(lArray[i]); end; end; |
AW: Sortieralgorithmen
Meinst Du nicht, dass es sinnvoller wäre, zuerst die Leerzeilen aus dem Memo zu löschen und dann erst das Array entsprechend zu dimensionieren?
|
AW: Sortieralgorithmen
Zitat:
Trotzdem kann du die Funktion so nehmen wie sie ist (natürlich nicht wenn deine Programmierleistung von einem Lehrer benotet wird). |
AW: Sortieralgorithmen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:32 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