Thema: Delphi Mein Delphi-Style

Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#33

Re: Mein Delphi-Style

  Alt 17. Mai 2009, 22:10
Zitat von Luckie:
Gerade Leerzeilen sind ein Zeichen dafür, dass man den Code aufteilen sollte, deswegen meine Aufteilung.
Oh ...

Also ich füge dich gerne auch einfach mal so ein ... hier mal ne rekursive Funktion:
Delphi-Quellcode:
procedure TFtpBrowser.ChangeDir (ADir: String);
begin
  Working := True;

  if (ADir = '.') or (ADir = '') then
  begin
    TriggerLogEvent('Receiving directory listing', etStatus);
    FFiles.Clear;
    CreateDirectoryListing;
    TriggerLogEvent('Directory listing complete', etStatus);
  end
  else if ADir = '..then
  begin
    if FDir.Text <> '/then
    begin
      FDir.Items.Delete(FDir.ItemIndex);
      FDir.ItemIndex := Pred (FDir.Items.Count);
      FFtp.ChangeDir(FDir.Text);
    end;
    ChangeDir('.');
  end
  else
  begin
    if FDir.Items.IndexOf(ADir) > -1 then
    begin
      while FDir.ItemIndex <> Pred(FDir.Items.Count) do
        FDir.Items.Delete(Pred(FDir.Items.Count));
    end
    else
      if (copy(ADir, 1, 1) = '/') and (copy(FDir.Text, 1, 1) = '/') then
        Delete(ADir, 1, 1);

      if (copy(ADir, 1, 1) <> '/') and (copy(FDir.Text, 1, 1) <> '/') then
        ADir := '/' + ADir;

      if copy(ADir, length (ADir), 1) <> '/then
        ADir := ADir + '/';

      FDir.ItemIndex := FDir.Items.Add(FDir.Text + ADir);

    try
      FFtp.ChangeDir(FDir.Text);
      ChangeDir('.');
    except
      TriggerLogEvent('Could not open directory "' + FDir.Text + '"', etError);
    end;
  end;

  Working := False;
end;
Naja - jedem das seine

(Mir hat in dem Projekt die Anzahl der Funktionen schon gereicht, jetzt noch Sachen in eigene 3-Zeiler auslagern und ich hätte beim Funktionsbaum nicht mehr durchgeblickt ...)
  Mit Zitat antworten Zitat