AGB  ·  Datenschutz  ·  Impressum  







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

OpenDialog - Relikt in *.pgn-Tool

Ein Thema von wendelin · begonnen am 21. Dez 2014 · letzter Beitrag vom 23. Dez 2014
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#1

AW: OpenDialog - Relikt in *.pgn-Tool

  Alt 21. Dez 2014, 10:58
Application.ProcessMessages ??
Er hat Jehova gesagt
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: OpenDialog - Relikt in *.pgn-Tool

  Alt 21. Dez 2014, 11:02
"Jehova" versteh ich jetzt nicht. Liegt's daran, dass ich erst aufgestanden bin?
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: OpenDialog - Relikt in *.pgn-Tool

  Alt 21. Dez 2014, 12:27
Zwischen dem Öffnendialog und dem Laden der Datei dem Programm/Windows die Chance geben sich neu zu zeichnen.

Oder die andere genannte Alternative, also das Laden in den Hintergrund legen und die VCL sofort wieder um sich selber kümmern zu lassen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#4

AW: OpenDialog - Relikt in *.pgn-Tool

  Alt 21. Dez 2014, 13:22
"Jehova" versteh ich jetzt nicht. Liegt's daran, dass ich erst aufgestanden bin?
Vielleicht bin ich auch einfach nur zu alt: Er hat Jehova gesagt!
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
126 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: OpenDialog - Relikt in *.pgn-Tool

  Alt 21. Dez 2014, 16:15
Hallo, vielen Dank für Eure Antworten.

Allerdings habe ich noch nie mit Thread's gearbeitet.
Vielleicht kann mir jemand mit Hilfe von Delphi-Code (Pseudo-Code) an Hand eines Beispiels
die Vorgehensweise erklären.

Danke Wendelin

mein Code

Delphi-Quellcode:
procedure TMyPGN.SpeedButton7Click(Sender: TObject);
VAR
  MyFileName,PathName,LeerZ : String;
  Zahl_ENDE : Integer;
begin
  LeerZ := '';
(* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *)
  OpenDialog2.FileName := g_ArbeitsVerz ;
(* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *)
  OpenDialog2.InitialDir := g_ArbeitsVerz ;
  PathName := g_ArbeitsVerz ;
  MyFileName := 'Ihre Eingabe';
  OpenDialog1.FileName := PathName + MyFileName;
  if OpenDialog1.Execute then
  begin
    Memo1.Clear;
    MyStringListA.LoadFromFile(OpenDialog1.FileName);
  end;
  Memo1.Lines.Text := MyStringListA.Text;
  If Trim(MyStringListA.Strings[0]) <> 'then // ev. Leerzeile am Anfang !!
  begin // einfügen
    Memo1.Clear;
    MyStringListA.Insert(0,LeerZ);
    Memo1.Lines.Text := MyStringListA.Text;
  end;
  Zahl_ENDE := MyStringListA.Count;
  If Trim(MyStringListA.Strings[Zahl_ENDE - 1]) <> 'then
  begin // ev. Leerzeile am ENDE !!
    Memo1.Clear; // einfügen
    MyStringListA.Insert(Zahl_ENDE,LeerZ);
    Memo1.Lines.Text := MyStringListA.Text;
  end;
  Panel5.Caption := 'Zeilen :' + IntToStr(Memo1.Lines.Count); // Zahl der Zeilen anzeigen
  AusgabeAnzahlPartienAlt;
  Gewinn_Verlust_Remis_NEU;
Wolfgang
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#6

AW: OpenDialog - Relikt in *.pgn-Tool

  Alt 21. Dez 2014, 16:38
Hier sind vier Möglichkeiten erklärt, einen Thread zu erzeugen.
Ich bevorzuge ganz klar die "The Delphi Way" Methode.

http://www.thedelphigeek.com/2012/02...un-5-four.html
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

AW: OpenDialog - Relikt in *.pgn-Tool

  Alt 21. Dez 2014, 19:05
"Jehova" versteh ich jetzt nicht. Liegt's daran, dass ich erst aufgestanden bin?
Vielleicht bin ich auch einfach nur zu alt: Er hat Jehova gesagt!
Danke Uwe, du bist so gut zu mir (kein Sarkasmus, ich mein das ernst!)

Wenn ich mir den obigen Code so anschaue, würde da nicht vielleicht ein BeginUpdate und ein EndUpdate schon viel bringen? Und dazu natürlich noch das, was man(n) nicht ausspricht
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen

Geändert von mm1256 (21. Dez 2014 um 19:09 Uhr) Grund: mann o mann, diese Rechtschreibfehler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

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.
Ein Therapeut entspricht 1024 Gigapeut.

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

Registriert seit: 29. Dez 2010
Ort: Nürnberg
126 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: OpenDialog - Relikt in *.pgn-Tool

  Alt 22. Dez 2014, 10:58
Hallo, mal ein paar allgemeine Bemerkungen.

1. Sicher hast Du recht, den Code kann man kürzen.
2. Ich bin reiner Hobby-Prog.
3. Aus vielen Antworten von versch. IT-Crack's ?? in dieser Comm. kann man immer wieder eine gewisse Arroganz herauslesen.
(zu manchen Fragen erfolgt KEINE substantielle Antwort aber ziemlich viel Nonsens)
4. Vor meiner Pensionierung war ich niedergelassener Arzt.
Was glaubst Du, was die Pat. gesagt hätten, wenn ich auf med. Fragen meiner Pat. geantwortet hätte : Schauen Sie doch mal in die 'Rentner-Bravo'
(Apotheken-Rundschau) oder ins Internet.


Dr.M.U. alias Wendelin
Wolfgang
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#10

AW: OpenDialog - Relikt in *.pgn-Tool

  Alt 22. Dez 2014, 12:46
Hallo Doc,

Zustimmung in allen Punkten. In dieser Hinsicht haben wir Gemeinsamkeiten. Als IT-Autodidakt, der wie einige Andere hier kein IT-Studium hinter sich hat, wird man manchmal etwas "von oben herab" behandelt, vielleicht sogar als "geistig weniger bemittelt" betrachtet, wenn man Code schreibt oder Ansichten vertritt, die nicht Stand der Technik, oder im Sinne der hier anwesenden Spezialisten sind.

Ich kann mich nur schwer an diese Umgangsformenk gewöhnen, aber, was solls. Es sind überwiegend die "jungen Wilden" die auch untereinander nicht mehr mit der Geduld und der Höflichkeit umgehen, die wir (...alten Säcke...<g>...) als Standard betrachten. Um es mal in Doc-Sprache zu sagen: Das Rezept ist einfach anzunehmen, alternative Therapievorschläge sind kontraindiziert.

Um aber nochmals zum Thema zurück zu kommen. Hast du denn "das Verbotene" schon ausprobiert?
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:08 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