![]() |
Periodensystem Xtreme 1.0 beta 6
Liste der Anhänge anzeigen (Anzahl: 4)
Hallo!
Es wurden ja schon einige Periodensystem-Programme vorgestellt, und da habe ich mich vor ein paar Tagen entschlossen selbst eines zu schreiben. Ich möchte damit auch demostrieren wie man nur mit einer PaintBox eine entsprechende Ausgabe hinbekommt. Screenshot: Anhang 45519 Die Daten wurden automatisch aus Wikipedia ausgelesen, sind aber in dem Programm dabei. Auch die Auslesemethoden selbst sind vorhanden, aber nicht in Benutzung. Eine Internetverbindung ist also zwar sinnvoll für Details und Videos, wird aber nicht benötigt. Wichtig: Der Betastatus bleibt. Weder bewirken die Einstellungen etwas derzeit, noch funktionieren automatische Updates! Ich wollte nur ggf. Verbesserungsvorschläge zu dem Dialog sammeln um diesen noch zu ändern. Ein Forum zum Support und mit weiteren Informationen entsteht hier: ![]() Features:
MPL 1.1 oder GPL 2.0 oder LGPL 2.1 Unterstützte Delphiversionen: Delphi 6, 7, 2005, 2006, 2007 und 2009 Unterstützte Windowsversionen: Windows 95, 98, ME, 2000, XP, Vista, Windows 7. Bekannte Probleme:
![]() ![]() Wichtig: Im Setup (das ich jetzt nur noch gezippt anhängen konnte :shock:) werden die großen Bilder zu den Elementen nachgeladen (etwa 4 MiB), wenn man das aktiviert lässt. In den beiden Zips im Forum sind diese aus Platzgründen nicht enthalten! Es gibt ein komplettes Paket ( ![]() ![]() Schönen Gruß, Sebastian |
Re: Periodensystem Xtreme 1.0 beta 1
Hallo Sebastian
Tolle Arbeit :thumb: - Ich habe im Moment nur einen Verbesserungsvorschlag: Das frmHintForm sollte links angezeigt werden, wenn es rechts keinen Platz hat. (Test: maximiere das Fenster, bewege die Maus über ein Element ganz rechts) - Und einen Feature-Vorschlag: Vielleicht könntest du noch eine Suche (Strg+F) einbauen um schneller ein Element zu finden. |
Re: Periodensystem Xtreme 1.0 beta 1
Jo kann mich meinen Vorredner nur anschließen, schöne Arbeit!
Gruß, s! |
Re: Periodensystem Xtreme 1.0 beta 1
Zitat:
Das korrigiere ich natürlich noch. Wobei ich auch noch vor habe weitere Details einstellbar einzublenden, denn bei höheren Auflösungen ist maximiert ja noch etwas Platz in den Kästchen. Zitat:
Da habe ich auch gerade ne richtig schöne Idee dazu, aber das verrate ich noch nicht. :mrgreen: |
Re: Periodensystem Xtreme 1.0 beta 1
Hallo,
nettes Periodensystem :-) Aber eines ist mir aufgefallen: Wieso wird die Schrift der Zahlen oben (1 - 18 ) und links, bzw. auch die Sternchen und Texte unten (Lanthanoide und Actionoide) kleiner, wenn man die CheckBox "Atommasse anzeigen" deaktiviert? |
Re: Periodensystem Xtreme 1.0 beta 1
Aua, zuerst war da die CheckBox und die Anzeige der Elemente, dann kam die Beschriftung dazu. Leider habe ich die CheckBox danach nicht mehr getestet. Ich setze sicher die Schriftart vor dem Schreiben der Beschriftung nicht wieder, und damit hat diese die Schriftgröße des letzten gezeichneten Elements. :oops:
Ich werde das nachher noch alles korrigieren und umbauen. Und wenn das dann alles soweit ist, kommen die Anleitungen und Tutorials, denn das Programm war zunächst vor allem für Demonstratioszwecke gedacht (TPaintBox, Hittests, Hovereffekte, Datenspeicherung...). Aber das kommt alles erst später noch. |
Re: Periodensystem Xtreme 1.0 beta 1
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Sebastian,
sehr hübsch. :thumb: Vor allem gefällt mir, wie du die Skalierung beim Ändern der Fenstergröße umgesetzt hast. Ein kleiner Fehler ist mir aufgefallen: Wenn man bei angezeigtem Hint im Bereich von 1-2 Pixeln überhalb des Hints auf weitere Elemente fährt, so werden diese zwar grün umrandet, doch der Hint aktualisiert sich nicht (s. Anhang). Eine kleine Anregung: Interessant wäre es noch, wenn ein kleines Foto der Elemente angezeigt werden würde. Bei Gasen ist das natürlich schwierig, aber bei den ganzen Metallen ginge das gut. Das mit der CheckBox und der sich ändernden Schriftgröße konnte ich übrigens nicht nachvollziehen (Win XP SP3, klassisch). Grüße, Matze |
Re: Periodensystem Xtreme 1.0 beta 1
Du solltest diesen ganzen Elementen, die man nur im Teilchenbeschleuniger herstellen kann, noch eine andere Farbe geben. Momenten suggeriert dein PSE, dass Uuo ein Edelgas ist und Uus ein Halogen - in der Praxis sind die Dinger aber so extrem instabil, dass innerhalb von Nanosekunden oder Bruchteilen davon schon nichts mehr da ist, sodass niemand weiß, welche Eigenschaften sie überhaupt haben.
EDIT: Achja, und ich würde versuchen, mich auf eine Schriftgröße bei den Elementnamen festzulegen - so sieht das nicht so sonderlich toll aus. Man könnte auch theoretisch den Namen nur im Popup-Fenster anzeigen lassen. |
Re: Periodensystem Xtreme 1.0 beta 1
Hi!
Sieht wirklich sehr gut aus - Respekt! Könntest du den Screenshot in Beitrag 1 noch anhängen? Falls der andere Server mal nicht erreichbar ist oder das Bild mal gelöscht wird, dann ist der Thread trotzdem noch komplett ;) Danke! Ciao, Frederic |
Re: Periodensystem Xtreme 1.0 beta 1
Es wäre noch schön, wenn du Hauptgruppen und Nebengruppen auch mit den alten Bezeichnungen darstellst. Edelgase stehen z.B. dann in der 8. Hauptgruppe (meist in römischen Ziffern als VIII bezeichnet) und nicht in der 18. Ist in der Wikipedia recht gut dargestellt...
Edit: Und ganz nett wäre, wenn man zum Einen eine Legende für die Farben der Kästen bekommt und zum Anderen die Farben für bestimmte Ansichten umschalten kann (z.B. Aggregatszustand, Gruppen, metallische Eigenschaften, etc.) |
Re: Periodensystem Xtreme 1.0 beta 1
Zitat:
|
Re: Periodensystem Xtreme 1.0 beta 1
Der Screenshot hängt dran.
Zu den Farben: Die entscheide ich im Moment nach den Kategoriebezeichnungen bei Wikipedia. Ich muss das noch ändern, wenn da dran steht vermutlich oder so, dass das dann ne andere Farbe bekommt. Aber grundsätzlich habe ich das erst einmal so gemacht, dass keine händischen Datenbearbeitungen nötig sind. Und erst einmal behebe ich die Fehler, dann erweitere ich das nochmal richtig, so dass auch mehr individuelle Behandlung der Elemente möglich ist. Zu den 2 Pixeln bei der Mausbewegung: Das war provisorisch, weil ich einerseits das Popupfenster nicht direkt unter die Maus legen wollte, das andererseits aber auch nicht sofort bei einer Bewegung verschwinden sollte, weil man ja auch in dem Fenster klicken können soll. Das muss ich noch besser regeln. Die Schriftgrößenanpassung usw. werde ich auslagern in abgeleitete Klassen, so dass beim Erstellen die entsprechende Darstellungsklasse erzeugt wird, die der Benutzer eingestellt hat. Denn sonst wird da zu viel Code bei Mausbewegungen usw. notwendig. Das muss ich nachher mal richtig objektorientiert umsetzen, dann wird das auch einfacher zu warten und zu verstehen sein. ;-) |
Re: Periodensystem Xtreme 1.0 beta 1
Optisch sehr gut gelungen :thumb:
Inhaltlich und benutzungstechnisch kann ich als absoluter nicht-Chemiker nüscht dazu sagen :stupid: |
Re: Periodensystem Xtreme 1.0 beta 1
Zitat:
|
Re: Periodensystem Xtreme 1.0 beta 1
Als Chemie-LK'ler wollt ich dir noch den Tipp geben, die Atommassen der radioaktiven Elemente in Klammern zu setzen. Damit deutet man an, dass es sich nur um einen Mittelwert über alle Isotope dieses Atoms handelt [Edit]Wobei ich gerade nicht weiß, welches Isotop Wikipedia bei radioaktiven Elementen nimmt...[/Edit]. Und radioaktive Elemente könntest du beispielsweise mit einem Sternchen innerhalb der "Box" des Elementes kennzeichnen.
Außerdem werden bsp. bei Eisen oder Cobald die Beschriftungen von Aussehen abgeschnitten. Aber ansonsten sehr sehr schön :-) |
Re: Periodensystem Xtreme 1.0 beta 1
Sehr schönes Programm
... Ich schließe mich aber auch CodeWalker an, dasss es vielleicht besser wäre, wenn man die Hauptgruppen durch die römischen Zahlen besser kenntlich machen würde. So kann man dann ja auch besser erkennen, wie viele Elektronen in der letzten Atomschale liegen. Wenn man das Perioden-System kennt dürfte das eigentlich kein Problem sein ... aber die Darstellung in Schulbüchern und Formelsammlungen ist meist die mit den römischen Zahlen. Tolle Arbeit. MFG FC ;) |
Re: Periodensystem Xtreme 1.0 beta 1
Zitat:
Bei Elementen mit stabilen Isotopen gibt man die Masse als gewichtetes Mittel aller natürlich vorkommenden Isotope an. Bei Elementen, bei denen alle Isotope radioaktiv sind, gibt man die Masse des Isotops mit der längsten Halbwertszeit in Klammern an. |
Re: Periodensystem Xtreme 1.0 beta 2
So, die Beta 2 liegt oben in den Downloads. Änderungen:
// EDIT: Da waren noch kleine Fehlerchen, z.B. wurde die Schrift undeutlich beim Filtern (weil sie mehrfach ohne Löschen überschrieben wurde) und das Hinweisfensterchen kam auch bei unsichtbaren Elementen. Das ist behoben und die Downloads nochmal aktualisiert. |
Re: Periodensystem Xtreme 1.0 beta 2
Zitat:
|
Re: Periodensystem Xtreme 1.0 beta 2
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
ich habe mich in meiner Anfangszeit des Programmierens auch mal mit dem PSE befasst - irgendwann ist diese Projekt dann eingeschlafen. Ich poste hier mal den Grundaufbau (Exe. und Projektdateien). Ich habe damals Gradients von Simon Reinhard benutzt, diese müssen aus der Uses-Klausel und aus dem Formular entfernt werden wenn Ihr diese Komponente nicht habt. Werd' diese Projekt wohl mal wieder aufnehmen. Freue mich über jede Anregung. |
Re: Periodensystem Xtreme 1.0 beta 3
So, ich habe einmal den Einstellungsdialog erstellt. Die Einstellungen werden zwar in ein internes Objekt übernommen, mehr noch nicht. Es funktionieren derzeit also keinerlei Einstellungen wirklich.
Schön wäre, wenn ich Rückmeldungen zu dem Dialog und den möglichen Einstellungen bekommen würde. Dann könnte ich das noch vor der Implementierung ggf. ändern. Ansonsten werde ich mich jetzt um eine allgemeine Klasse zur Einstellungspeicherung kümmern und dann mit deren Hilfe die Einstellungen inkl. Erststartwizard erstellen. Danach kommen dann noch automatische Updates (deren Einstellungen usw. bereits sichtbar sind). |
Re: Periodensystem Xtreme 1.0 beta 3
Ich hab's mir grad mal angeschaut, echt gut gemacht :)
Aber wenn ich den Einstellungsdialog direkt mit "Abbrechen" schließe, kommt eine AV und danach sind die Elementinfo-Tooltips komplett schwarz :( |
Re: Periodensystem Xtreme 1.0 beta 3
Der Fehler mit der Farbe ist korrigiert, da habe ich vergessen, dass die Einstellung dort sich direkt auf das Popupfenster auswirkt.
Eine Schutzverletzung sollte aber nicht kommen, das passiert bei mir auch nicht. Getestet hatte ich es jetzt nur unter Vista, welches Betriebssystem benutzt du? |
Re: Periodensystem Xtreme 1.0 beta 3
Die Schutzverletzung hatte gar nix mit dem Einstellungsfenster zu tun. Nach einem Hinweis im DF habe ich festgestellt, dass das am Rand ganz unten passierte, wenn man die Maus unterhalb der letzten Zeile von Elementen bewegt hat. Da hatte ich wohl was kaputtoptimiert. :oops: Die Downloads sind aktualisiert.
// EDIT: Durch einen Fehler in meiner internen Projektverwaltungssoftware ist beim Kompilieren und Packen der Pakete was schiefgelaufen, jetzt stimmen die Exeversionen. |
Re: Periodensystem Xtreme 1.0 beta 1
So, eine neue Version ist da. Größte (und zeitaufwendigste) Änderung:
Zitat:
Die Größe des kompletten Bilderpakets wird voraussichtlich bei etwa 8 bis 10 MiB liegen. Dieses wird z.B. per optionalem Update nachladbar sein, in einem Komplettpaket und als Einzeldownload wird es das Paket ebenfalls geben. Weitere Änderungen:
Hotfix hochgeladen, es gab ne Schutzverletzung beim Versuch das Einstellungsfenster aufzurufen. |
Re: Periodensystem Xtreme 1.0 beta 4
Also erst einmal ein dickes :thumb: . Das Progrämmcheb ist Top.
Ich habe mal versucht das Programm mit Delphi 6 zu kompilieren, soweit mit Erfolg, wenn man in der Unit "BrowserWindow" SHDocVw zu SHDocVw_TLB ändert und ein paar Eigenschaften der Forms wie "ExplicitWidth" etc. entfernt. Das eigentliche Problem an der Sache ist, dass die Hintform nur ein leers Fenster beim ausführen des Programmes ist. Es wird nichts angezeigt. Irgend eine Idee zu diesem Problem ? |
Re: Periodensystem Xtreme 1.0 beta 4
Genau aus dem Grund habe ich als minimal unterstützte Version Delphi 7 geschrieben. Ich hatte nicht ernsthaft damit gerechnet, dass eine Unterstützung von Delphi 6 heute noch von Interesse sein könnte. ;-)
Bist du masochistisch veranlagt, dass du noch D6 PE benutzt? :mrgreen: Ich wollte mir das irgendwann einmal anschauen. Meine Vermutung ist wie auch unter Windows 9x, dass es an der Animation beim Ein- und Ausblenden liegt. Ich werde das einmal überprüfen. // EDIT: Ja, daran liegt es. Du musst nur in TPerodicTable.ShowHintForm etwas ändern. Ersetze:
Delphi-Quellcode:
durch:
AnimateWindow(frmHintForm.Handle, 200, ShowHideValue[AShow]);
frmHintForm.Visible := AShow;
Delphi-Quellcode:
Trotzdem fehlt ein wichtiges Feature, das du selbst nachbauen müsstest:
if AShow then
frmHintForm.Show else frmHintForm.Hide; Die OnMouseEnter / OnMouseLeave Ereignisse... |
Re: Periodensystem Xtreme 1.0 beta 4
Zitat:
Zitat:
Zitat:
Zitat:
Delphi-Quellcode:
Was noch ein nettes Feature bei der Suche wäre, die nicht gesuchten Elemente auszugrauen (oder einfach nicht die Hintergrundfarbe zu nutzen).
function TPerodicTable.HitTest(ALeft, ATop: Integer): Byte;
var X, Y: Integer; ElemWidth, ElemHeight: Single; begin //... else Y := Trunc((ATop + ElemHeight / 2) / ElemHeight); {$MESSAGE '*** 1 ***'} if y > 9 then y := 9; if x > 18 then x := 18; Result := ElementAtPos[Y, X]; // if (Result > 0) ... end; |
Re: Periodensystem Xtreme 1.0 beta 4
Zitat:
Zitat:
Das liegt an Delphi 6 und kleiner, da wird das Visible falsch behandelt, deshalb muss es Show sein. Vielleicht schaue ich einmal nach einem Workaround, aber die Unterstützung so alter Versionen steht an letzter Stelle bei mir. ;-) Zitat:
Zitat:
Auch eine Ein- und Ausflugsanimation wollte ich noch einbauen. Aber das kommt nicht als erstes dran. ;-) |
Re: Periodensystem Xtreme 1.0 beta 4
Liste der Anhänge anzeigen (Anzahl: 1)
Hier Hier Ich ja Ich ich hab einen Bug gefunden :mrgreen:
Wenn man über ein Element mit Bild (wie Thallium) fährt und danach auf eines ohne (wie Unununtrium) wird das Info Fenster zu weit oben angezeigt (als hätte es ein Bild ;-) ) MfG Mikescher |
Re: Periodensystem Xtreme 1.0 beta 4
Das glaube ich unbesehen, jetzt wo du es sagst fällt mir nämlich ein, dass ich zuerst die Position berechne und dann das Element zuweise, wobei auch die Größenänderung passiert. :mrgreen:
Das erklärt auch, warum manchmal das Popupfenster über den Bildschirmrand hinausgeht, da hatte ich mich schon kurz gewundert und es auf meine Bugliste gesetzt. :D |
Re: Periodensystem Xtreme 1.0 beta 4
Zitat:
Delphi-Quellcode:
procedure TStandardElementGraphics.DrawElement(AElement: TChemicalElementData;
ARect: TRect); var CurValue: String; CurTop, NormalTextHeight, ElemTextWidth: Integer; begin if (drsCleanRect in DrawState) or not (drsVisible in DrawState) then begin FCanvas.Pen.Color := FBackgroundColor; FCanvas.Brush.Color := FBackgroundColor; FCanvas.Rectangle(ARect); if drsCleanRect in DrawState then DrawState := DrawState - [drsCleanRect]; end; {$MESSAGE '*** 3 ***'} if (drsVisible in FDrawState) then // add begin FCanvas.Brush.Color := FColor; FCanvas.Pen.Color := clBlack; FCanvas.Font.Color := clWindowText; end else begin FCanvas.Brush.Color := FBackgroundColor; FCanvas.Pen.Color := clGrayText; FCanvas.Font.Color := clGrayText; end; // FCanvas.Brush.Color := FColor; // FCanvas.Pen.Color := clBlack; // if not (drsVisible in FDrawState) then // Exit; if drsHovered in FDrawState then |
Re: Periodensystem Xtreme 1.0 beta 5
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal eine Version mit dem auch Delphi 6 (PE) Jünger, Sebastian Jänickes Periodensystem Xtreme kompilieren können.
Nebenbei habe ich noch ein, zwei Änderungen vorgenommen. |
Re: Periodensystem Xtreme 1.0 beta 5
Ich selbst habe mittlerweile ebenfalls entsprechende Unterstützung per Compilerdirektiven eingebaut, ich schaue aber noch kurz was du dafür genau geändert hast, viel war das bei mir nicht. Auch für Windows 95 gibt es entsprechende Möglichkeiten und wird es auf meiner Homepage eine Version geben.
Im Moment bastele ich noch an der Einbindung der kompletten Fotos und der Einbindung von deren Lizenzangaben. Danach fehlen dann noch die Umsetzung der Einstellungen und des automatischen Updaters, aber sobald ich jetzt fertig bin, stelle ich erst einmal eine neue Version online. |
Re: Periodensystem Xtreme 1.0 beta 5
Ha, ich habe es gerade bemerkt das du eine neue Version hochgeladen hast.
Das Hauptproblem sind die Eigenschaften in den Forms die D6 nicht verträgt. Man muss dann jede einzelne durchgehen und die unpassenden Eigenschaften entfernen. In deiner neuerren Version (Beta 5) gibts Probleme mit
Delphi-Quellcode:
was der Kompeiler anscheinend nicht versteht. Ein Umbau ala
{$if defined(UseTLBExtension)} SHDocVw_TLB {$else} SHDocVw{$ifend};
Delphi-Quellcode:
sollte das Problem beheben können.
{$ifdef UseTLBExtension} SHDocVw_TLB {$else} SHDocVw{$endif};
PS.: der Setupdialog ist super. |
Re: Periodensystem Xtreme 1.0 beta 5
Zitat:
Das mit den Compilerdirektiven muss ich dann nochmal ändern, das hatte ich gemacht, um auch and benutzen zu können... naja, muss ich dann umgehen. |
Re: Periodensystem Xtreme 1.0 beta 5
Hallo,
ich hab mir jetzt mal wieder die neueste Version angeschaut. Schaut schon sehr schön aus nur: Wieso passiert nichts, wenn man die CheckBoxen oben ändert? |
Re: Periodensystem Xtreme 1.0 beta 5
Ja, wie im ersten Beitrag auch steht: Die Einstellungen funktionieren noch nicht. Ich habe das komplett geändert und bin gerade dabei die zu implementieren, deshalb ist die Schrift auch auf deaktiviert bei den CheckBoxen.
(Hätte ich die Boxen selbst deaktiviert, dann wäre das Suchedit immer aktiv gewesen. ;-)) Zusammen mit großen Fotos usw. wird die neue Version wohl morgen früh oder so dann verfügbar sein. Speichern werden sich die Einstellungen dann noch nicht lassen, aber sie werden dann etwas bewirken. |
Re: Periodensystem Xtreme 1.0 beta 6
So, ein großer Fortschritt ist gemacht.
Es gibt ein komplettes Paket ( ![]() ![]() Als nächstes stehen die Implementierung der Einstellungen und des Updaters an, dann sollte die Version 1.0 soweit fertig sein und wird als RC und dann final veröffentlicht werden. |
AW: Periodensystem Xtreme 1.0 beta 6
Cooles Programm. Danke für's Offenlegen der Quellen:thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 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