Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.798 Beiträge
 
Delphi 12 Athens
 
#10

AW: Unterschiedliche Darstellung mit und ohne laufendem Delphi

  Alt 25. Jan 2025, 13:07
Das passiert. Das wichtigste ist ja, dass es nun funktioniert.

Einen Tipp habe ich aber noch. Du machst das ganze ziemlich umständlich. Einfacher und übersichtlicher wäre es so:
Delphi-Quellcode:
procedure LadenWebTools;

  function ReadNextWebTool(const ADataList: TStringList; const AIndex: Integer): TWebTool;
  begin
    Result.Name := ADataList[AIndex];
    { mehr Daten... }
    Result.Tag := ADataList[AIndex + 4];
    { mehr Daten... }
  end;

var
  User: string;
  Delphi: Boolean;
  Data: TStringList;
  CurrentTool: TWebTool;
  i : integer;
const
  EntryLength: Integer = 6;
begin
  User := GetEnvironmentVariable('Computername');
  Delphi := FindWindow('TAppBuilder', nil) <> 0;

  Data := TStringList.Create;
  try
    Data.LoadFromFile('WebTools.txt');

    i := 0;
    SetLength(WebTools, 0);

    while i <= Data.Count - 1 do
    begin
      CurrentTool := ReadNextWebTool(Data, i);
      Inc(i, EntryLength);
      if FileExists('WebTools\' + Name + '.png')
        and CurrentTool.Tag ... then
      begin
        SetLength(WebTools, Length(WebTools) + 1);
        WebTools[High(WebTools)] := CurrentTool;
      end;
    end;
  finally
    Data.Free;
  end;
[...]
Dann hast du eine Funktion, die dir den nächsten Eintrag liest und kannst mit dessen Daten zur Prüfung arbeiten. Daher kannst du das Array dann nur erweitern, wenn du den Eintrag möchtest und musst nichts wieder löschen.
Und du brauchst das leidige with nicht.
Sebastian Jänicke
AppCentral

Geändert von jaenicke (25. Jan 2025 um 20:19 Uhr)
  Mit Zitat antworten Zitat