guten tag,
ich habe die absicht einen editor für 2d maps zu erstellen und dazu eine art datenbankstruktur im arbeitsspeicher zu erzeugen, ohne eine richtige datenbank anzulegen..
ich wollte dazu einen typ definieren, der mir ermöglicht auf eine variable anzahl von integers zuzugreifen, mit denen ich dann images bzw informationen laden will..
ich habe eine aufteilung in "delete", "landscape", "ways", "itemsinside" und "itemsoutside" als übergeordnete ordner, die die art der informationen bzw bilder für eine levelkarte beinhaltet (nennen wir sie mal "mainmenu"). in diesen ordnern sind weitere ordner enthalten, z.b. in dem ordner "landscape" sind "cave", "desert", "house", "lava", "mountains", "plains", "sea", "snow" enthalten und im ordner "ways" sind "cave", "desert", "plains" und "snow" vorhanden (nennen wir sie "submenu"). jeder dieser ordner kann nun wiederrum eine variable anzahl an images / .txt datein enthalten, die ich über insgesamt 3 comboboxen auswählen möchte und laden (also über "mainmenu" mit combobox1, "submenu" mit combobox2 und itemindex von combobox3 für den index der datei).
ich habe leider keine datenbank zur verfügung, da ich momentan mit delphi personal arbeite und ihc will nicht immer .txt dateien einlesen müssen, deswegen sollen die informationen über die ordner im quelltext festgelegt werden..
jetzt habe ich die frage, ob dafür nicht ein record geeignet wäre, der beispielsweise einen type FMainMenu enthält, welcher wiederrum einen type FSubMenu enthält, welcher wiederrum die informationen enthält, wieviele images gespeichert sind und was die einzelnen felder auf der map für eigenschaften haben.
am besten wäre wenn man die beiden typen unabhängig von einander ansprechen könnte z.b.
"with Image1.Picture do LoadFromFile(Pfad+MainMenu[1].Name+'/'+SubMenu[3].Name+'/'+IntToStr(SubMenu[3].Index)+'.bmp');"
oder so..
wäre super, wenn jemand mir mal eine mögliche deklaration aufschreiben könnte, mit der man solche typen definieren kann..
vielen dank
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Schau dir doch mal Klassen an. Damit bekommst du so gut wie alles hin. Da ich dir jetzt aber keine ungeprüfte Deklaration hier hinschreiben will und gerade kein Delphi zur verfügung habe, überlasse ich das erstmal anderen.
Was deine Datenverwaltung, also die Dateien, betrifft: Schonmal über XML nachgedacht? Dann bräuchtest du keine datenbank und wärest noch ein wenig flexibler dran. Wenn du XML benutzen willst und nicht vor ein paar verschachtelten Klassen zurückschreckst, kann ich dir vielleicht mal meinen libxml2-to-Class Wrapper geben, sodass du einfach über eine Klassenstruktur auf deine XML Dateien zugreifen kannst. Schreib mich dazu dann mal per PM an.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ja ich glaub auch, dass du dich mit der Macht ObjektOrientierter Programmierung vertraut machen solltest. (Nutze die Macht Luke!)
Wenn du die grundlagen wirklich verstanden hast, kannst du mal einen Blick auf die Softwareentwicklungs-Tutorials werfen. Nur damit du eine Idee davon hast, was bei Industriellen Softwaresystemen abläuft. Bei privaten Projekten muss man es nicht so dermaßen ausufern lassen, aber ganz ohne Planung wirds Mist.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.