AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Delphi Laufzeitoptimierung, MandelbrodtJuliaZoom
Thema durchsuchen
Ansicht
Themen-Optionen

Laufzeitoptimierung, MandelbrodtJuliaZoom

Ein Thema von Dipl Phys Ernst Winter · begonnen am 2. Mai 2009 · letzter Beitrag vom 9. Mai 2009
Antwort Antwort
Seite 2 von 3     12 3      
Dipl Phys Ernst Winter

Registriert seit: 14. Apr 2009
Ort: Jena
103 Beiträge
 
Delphi 3 Professional
 
#1

Re: Laufzeitoptimierung, MandelbrodtJuliaZoom

  Alt 5. Mai 2009, 08:17
"Stoxx"
Zitat:
Ich kenn mich ja zu wenig damit aus, aber würden sich damit auch Zeitreihenprognosen erstellen lassen, denen man chaotisches Verhalten unterstellen möchte?
Nein. Das ist Thema der Quadratischen Iterators
Autor: DP Ernst Winter
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Laufzeitoptimierung, MandelbrodtJuliaZoom

  Alt 5. Mai 2009, 08:23
Joar, das hab ich mich auch schon immer mal wieder gefragt ... also wozu man sowas eigentlich verwenden kann.

Außer daß man in die Corona "unendlich" reinzoomen kann und sich da ein Muster ewig in sich wiederholt und daß es sich schwer berechnen läßt ist doch für nix verwendbar, oder?
OK, außer um Laufzeitoptimierungen auszuprobieren
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Dipl Phys Ernst Winter

Registriert seit: 14. Apr 2009
Ort: Jena
103 Beiträge
 
Delphi 3 Professional
 
#3

Re: Laufzeitoptimierung, MandelbrodtJuliaZoom

  Alt 5. Mai 2009, 08:36
[quote="isilive"]
Zitat:
Warum Backspace oder Delete in einem Edit problematisch sein sollten verstehe ich auch nicht. Es ist wichtig um eine normale Bedienbarkeit des Programms zu erhalten. Eventuelle Falscheingaben sollten sich problemlos abfangen lassen.

Ausserdem wenn ich 1.05 eingebe kommt eine Fehlermeldung "Ungültiger Wert". Bis ich 1.050000000000 eingebe.
Du gibst die Antwort selbst.

Die Parameter werden angezeigt und können zur Editiom mit anderen Ziffern überschrieben werden, demit der Inhalt des Feldes Konvertierbar bleibt fordert die Maske eine Ziffer an allen Positionen.
Mit '1.0500 000000' würde das Program sich mit einer Fehlermeldung 'Konvertierungsfehler' beim StrToFloat() verabschieden.

Was ist unter normaler Bedienbarkeit zu verstehen? Ich halte die Edition einer im Feld stehenden Zahl durch Überschreiben durchaus für normal, auch ohne Delete und Backspace.
Autor: DP Ernst Winter
  Mit Zitat antworten Zitat
Dipl Phys Ernst Winter

Registriert seit: 14. Apr 2009
Ort: Jena
103 Beiträge
 
Delphi 3 Professional
 
#4

Re: Laufzeitoptimierung, MandelbrodtJuliaZoom

  Alt 5. Mai 2009, 08:50
"Daniel G"
Zitat:
Delete und Backspace sind bewußt unterdrückt, da sie zu einem nicht konvertierbaren String führen würden
Inwiefern?
StrToFloat('1.050 00000') würde einen Konvertierungsfehler erzeugen, daher fordert die Maske eine Ziffer an allen Stellen. Damit der Anwenden nicht mit der Fehlemeldung 'Ungültiger Wert' konfrontiert wird (für ihn nicht nachvollziehbar, da er die Maske nicht kennt) wurden Delete und Backspace unterdrückt.
Zitat:
Es wurde doch 'Weiter mit OldBild' empfohlen
OldBild findet sich im Menü Bild
Autor: DP Ernst Winter
  Mit Zitat antworten Zitat
Dipl Phys Ernst Winter

Registriert seit: 14. Apr 2009
Ort: Jena
103 Beiträge
 
Delphi 3 Professional
 
#5

Re: Laufzeitoptimierung, MandelbrodtJuliaZoom

  Alt 5. Mai 2009, 09:12
"himitsu" fragt
Zitat:
Joar, das hab ich mich auch schon immer mal wieder gefragt ... also wozu man sowas eigentlich verwenden kann.
Da musst Du mal bei den Mathematikern nachfragen. z.B. Mandelbrodt: Die Fraktale Geometrie der Natur.
Speziell mit realen Anwendungen in Biologie, Ökologie, Geologie befassen sich
H.M. Hastings/G. Sugihara in Fraktale Ein Leitfaden für Anwender Spektrum Academischer Verlag 1996.
Autor: DP Ernst Winter
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#6

Re: Laufzeitoptimierung, MandelbrodtJuliaZoom

  Alt 5. Mai 2009, 09:19
Zitat von Dipl Phys Ernst Winter:
Was ist unter normaler Bedienbarkeit zu verstehen? Ich halte die Edition einer im Feld stehenden Zahl durch Überschreiben durchaus für normal, auch ohne Delete und Backspace.
Das stimmt, das Überschreiben ist durchaus normal, allerdings auch das Backspace und Delete. Also im Regelfall ist es so:

Ich klicke in eine Editierfeld und der gesamte Inhalt wird zum Überschreiben markiert. Ich klicke noch einmal, dann wird wieder deselektiert und ich befinde mich im Einfügemodus. Oder ich markiere jetzt gezielt ein oder mehrere Zeichen und kann wieder überschreiben. Oder ich verwende Pos1 oder Backspace oder Delete.

Nachdem ich "früher" auch gerne zu kreativen Methoden der Bearbeitung und der GUI gegriffen habe, bin ich nun doch der Meinung das man sich (auch wenn man Microsoft nicht mag) an das allgemeine "Look and Feel" halten sollte.

Das bedeutet allerdings nicht, dass man nicht für spezielle Aufgaben auch spezielle Eingabemethoden einsetzen darf.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Laufzeitoptimierung, MandelbrodtJuliaZoom

  Alt 5. Mai 2009, 09:32
Im Notfall kann man Backspace und Delete auch ganz einfach in Maskedits implementieren
und (führende/folgende) Leerstellen würde ich einfach als 0 behandeln, oder vor der Umwandlung wegschneiden (Trim).
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Laufzeitoptimierung, MandelbrodtJuliaZoom

  Alt 5. Mai 2009, 09:37
Was die Eingabe betrifft: Es hat sich als Quasi-Standard etabliert die Eingabe ungültiger Zeichen in entsprechende Edits abzufangen. Ein Leerzeichendruck fällt bei Zahleneingaben ebenso darunter wie Buchstaben, Steuertasten hingegen nicht. Die Prüfung muss Eingaben die "im Werdegang" sind berücksichtigen, z.B. kann ein '-.', dass ja an sich ungültig ist durchaus noch ein '-9.5' werden.
Daher: Sollte es ein User dann dennoch schaffen einen nicht konvertierbaren Wert einzugeben, so sollte man dies abprüfen, und dem Benutzer eine aussagekräftige Fehelrmeldung in Form eines MessageDialogs präsentieren, der aussagt was wo falsch ist. Das wäre der übliche Weg.

Vormaskierte Eingaben mit invarianter Stellenanzahl sind nicht mehr üblich, und muten jedem "normalen" Windows User sehr fremd an. In einigen wenigen sehr zpeziellen Fällen kann das natürlich vermutlich sinnvoll eingesetzt werden, wenn es den "Bedienflow" erhöht, jedoch habe ich gerade nicht einmal ein treffendes Beispiel parat. Im vorliegenden Fall empfinde ich es als eher hinderlich.

Was die "Hilfe lesen" Sache angeht:
Man muss davon ausgehen, dass rund 99% aller PC User eine Hilfe wenn überhaupt bei speziellen Problemen anschaut. Wenn ich schon zum Verständnis der reinen Bedienung mit den ansonsten duraus standardmäßig aussehenden Controls eine Hilfe konsultieren muss, dann liegt das Problem nicht bei mir als User. Dann ist die GUI nämlich nach ergonomischen Gesichtspunkten ein Fehlschlag. Nicht umsonst beschäftigen größere Unternehmen ganze Abteilungen damit die Bedienbarkeit zu verbessern, und bei diesem kleinen Programm wäre es doch ein Leichtes eine sehr intuitive Bedienung zu schaffen, die auf dem Standardverhalten der Standardcontrols basiert.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#9

Re: Laufzeitoptimierung, MandelbrodtJuliaZoom

  Alt 5. Mai 2009, 09:46
Zitat von himitsu:
Im Notfall kann man Backspace und Delete auch ganz einfach in Maskedits implementieren
und (führende/folgende) Leerstellen würde ich einfach als 0 behandeln, oder vor der Umwandlung wegschneiden (Trim).

oder direkt bei der Eingabe prüfen, ob das eingegebene Zeichen zu einer gültigen Zahl führt

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var DummyOut: Single;
begin
  if not TryStrToFloat(Edit1.Text + Key, DummyOut) then begin
    Key := #0;
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Laufzeitoptimierung, MandelbrodtJuliaZoom

  Alt 5. Mai 2009, 09:56
direkt bei der Eingabe ist blöd

will ich "-1" eingeben, dann ist das "-" alleine keine gültige Zahl,
also erst im OnExit des Edits oder vor Verwendung der Zahl
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 13:18 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