AGB  ·  Datenschutz  ·  Impressum  







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

Baumstruktur mit fehlern :(

Ein Thema von glkgereon · begonnen am 26. Apr 2005 · letzter Beitrag vom 30. Apr 2005
Antwort Antwort
Seite 2 von 2     12   
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#11

Re: Baumstruktur mit fehlern :(

  Alt 29. Apr 2005, 23:00
Verstehe ich das richtig? Du willst ein Molekül interaktiv entwerfen und dann speichern? Das mit dem interaktiven Entwurf ist sicher eine interessante Programmieraufgabe, aber besonders realitätsnah ist das wohl nicht. Vielleicht kann ich dich für eine andere Form der Eingabe begeistern.

Chemiker möchten Moleküle gerne in extrem kompakter Form beschreiben (Stichwort SMILES). Dabei werden Moleküle durch Strings dargestellt. Ein SMILES-Parser ist allerdings für deine Alkane overkill. Nehmen wir nochmal 3,4-DiMethylHeptan. Eine mögliche String-Darstellung für das weiter oben abgebildete Molekül wäre dann:

Code:
1CCC(1C)3C(3C)CCC
Daraus kannst du die zweidimensionale Darstellung der Strukturformel erzeugen. Die Ziffern geben die Anzahl von 90-Grad Drehungen gegen den Uhrzeigersinn an. Das C kannst du dir bestimmt denken. In runden Klammern werden die Nebengruppen spezifiziert, danach gilt wieder die Richtung, die vorher eingestellt war. Die Grundstellung ist auf 0 Grad.

Wenn du diese String-Darstellung verwendest, dann kannst du recht bequem deine Moleküle über eine InputBox eingeben. Dein Programm kann den korrekten Namen nach der Genfer Nomenklatur automatisch erzeugen und die Strukturformel in der Paintbox darstellen. Gespeichert werden muss nur der String.

Was hältst du davon?
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#12

Re: Baumstruktur mit fehlern :(

  Alt 30. Apr 2005, 08:54
nur um ein molekür darzustellen muss man wieder erst diese abkürzung rausfinden.

diese "interaktive methode" wäre imho komplett intuitiv zu bedienen...(ausserdem reizt es mich einfach )

und alles in nem string zu speichern....man muss für jedes zeichnen etc. alles wieder herausparsen....
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#13

Re: Baumstruktur mit fehlern :(

  Alt 30. Apr 2005, 09:48
Okay - dann bist du jetzt dran. Du benötigst eine bijektive Abbildung, denn du willst ja nicht nur speichern, sondern später das gespeicherte wieder einlesen um das Bild in der Paintbox neu zu erstellen. Eine interessante Aufgabe, die du dir da gestellt hast. Bin gespannt auf deine Lösung.
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#14

Re: Baumstruktur mit fehlern :(

  Alt 30. Apr 2005, 10:48
Zitat:
u benötigst eine bijektive Abbildung
was bitte?

das ist ja mein problem.
wie soll ich es speichern? das ist meine frage!!!
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#15

Re: Baumstruktur mit fehlern :(

  Alt 30. Apr 2005, 11:54
Überlege doch einmal: ein Baum ist wohl eher ungeeignet, da Alkane keine typische Baumstruktur haben. Du musst auf jeden Fall unterscheiden zwischen interner Repräsentation und externem Speicherformat.

Als erstes solltest du dir eine Klasse TAlkan definieren. Überlege was die Kerneigenschaften eines Alkans sind - z.B. Name, Hauptkettenlänge. Dann hast du Ethyl- und Methyl-gruppen, die du wieder als Klassen definieren kannst. Die haben auch wieder Kerneigenschaften, z.B. den C-Index, Kettenlänge.
Überlege dir welche Felder direkt veränderbar sein sollen. Das werden die properties mit ihren Get- und bzw. oder Set-Methoden.

Du wirst Methoden brauchen um die Nebengruppen einzufügen und wieder zu entfernen. Du wirst die Methoden Load und Save brauchen um die Persistenz zu gewährleisten. Und nicht zuletzt wird deine Alkan-Klasse eine Methode Draw haben, um sich in einer Paintbox darzustellen.

Wenn du willst, kannst du die Persistenz solange ausklammern, bis der Rest funktioniert. Die Speicherung als String - wie ich sie dir in Vereinfachung an SMILES angeboten habe, scheint dir trotz der offensichtlichen Vorteile nicht zu behagen. Du könntest eine eigene XML-Sprache entwickeln um deine Klasse persistent zu machen. Natürlich kannst du deine Objekte auch binär in einen Stream schreiben, aber die textuelle Darstellung halte ich bei deinem Projekt für angemessener.

Fang einfach an.

PS: bijektive Abbildung heißt in diesem Kontext, dass das am Bildschirm gestaltete Alkan nach Speicherung und erneutem Laden genau gleich wieder dargestellt werden kann. Dein Speicherformat muss jeden Informationsverlust vermeiden.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 02:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz