AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sortieralgorithmen

Ein Thema von biby90 · begonnen am 15. Aug 2011 · letzter Beitrag vom 22. Aug 2011
Antwort Antwort
Seite 8 von 8   « Erste     678   
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#71

AW: Sortieralgorithmen

  Alt 19. Aug 2011, 14:48
Ja, ja das kommt davon, wenn man keine sauberen Funktionen schreibt!
Hier kommt mal eine ausgereifte Funktion:
Delphi-Quellcode:
{**************************************************************************
* 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;
Und der Aufruf wäre dann RemoveEmptyStrings(Memo1.Lines);
Andreas
  Mit Zitat antworten Zitat
biby90
(Gast)

n/a Beiträge
 
#72

AW: Sortieralgorithmen

  Alt 19. Aug 2011, 14:56
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;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#73

AW: Sortieralgorithmen

  Alt 19. Aug 2011, 17:00
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?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#74

AW: Sortieralgorithmen

  Alt 19. Aug 2011, 17:22
unsauber mag vielleicht ja sein.... entschuldigung dass ich nicht als programmiererin geboren bin
Das war mehr an meine Kollegen die beruflich programmieren gerichtet, nicht an dich.
Trotzdem kann du die Funktion so nehmen wie sie ist (natürlich nicht wenn deine Programmierleistung von einem Lehrer benotet wird).
Andreas
  Mit Zitat antworten Zitat
biby90
(Gast)

n/a Beiträge
 
#75

AW: Sortieralgorithmen

  Alt 22. Aug 2011, 09:42
Zitat:
Das war mehr an meine Kollegen die beruflich programmieren gerichtet, nicht an dich
ok denn hab ichs faösch verstanden. habe es jetzt hinbekommen und habe eine neue aufgabe weil mein ausbilder 2 wochen auf lehrgang ist.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 8 von 8   « Erste     678   


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 12:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz