Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#11

AW: OpenDialog - Relikt in *.pgn-Tool

  Alt 21. Dez 2014, 19:38
Wenn ich mir den obigen Code so anschaue, würde da nicht vielleicht ein BeginUpdate und ein EndUpdate schon viel bringen?
Nein, nicht wirklich, außer MyStringListA ist keine TStringList.

Es würde viel mehr bringen, wenn man nicht sinnlos dem arschlangsamen Memo mehrmals den kompletten Inhalt neu zuweist.

Delphi-Quellcode:
procedure TMyPGN.SpeedButton7Click(Sender: TObject);
VAR
  MyFileName : String;
begin
  OpenDialog2.FileName := g_ArbeitsVerz;
  OpenDialog2.InitialDir := g_ArbeitsVerz;
  MyFileName := 'Ihre Eingabe';
  OpenDialog1.FileName := g_ArbeitsVerz + MyFileName;
  if not OpenDialog1.Execute then
    Exit; // Wenn man auf Abbrechen drückte, dann wurde dennoch alles in MyStringListA dennoch verarbeitet?
  MyStringListA.LoadFromFile(OpenDialog1.FileName);
  If Trim(MyStringListA.Strings[0]) <> 'then // auf erste/letzte Zeile zugreifen ... und was wenn es keine Zeilen gibt?
    MyStringListA.Insert(0, ''); // wenn am Anfang eine Leerzeine, dann NOCHMAL Eine dahin?
  If Trim(MyStringListA.Strings[MyStringListA.Count - 1]) <> 'then
    MyStringListA.Add(''); // hier auch?
  Memo1.Lines.Text := MyStringListA.Text; // einmal zuweisen reicht und vorher zu löschen war eh nutzlos
  Panel5.Caption := 'Zeilen :' + IntToStr(MyStringListA.Count); // Zahl der Zeilen anzeigen
  AusgabeAnzahlPartienAlt;
  Gewinn_Verlust_Remis_NEU;

Ach ja, Threads bringen hier absolut garnichts, da die meiste Zeit, praktisch fast die Ganze, mit Zugriffen auf die VCL verbraten werden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (21. Dez 2014 um 20:05 Uhr)
  Mit Zitat antworten Zitat