Program - nietypowe drzewo genealogiczne - początki.

0

Witam wszystkich.

Na początku pragnę napisać, że aktualnie moja wiedza jest, jeśli chodzi o programowanie, na poziomie podstawowym, dlatego proszę o wyrozumiałość. Nie oczekuję szczegółowych odpowiedzi, jak napisać dany fragment programu, a wskazania, od czego zacząć, czym się zainteresować, a co jest już przestarzałe, i nieużyteczne, będę oczywiście zagłębiał się w literaturę i chcę wiedzieć, w jakim kierunku podążać.

Przyszło mi na myśl stworzyć taką fajną aplikację:
Byłoby to drzewo genealogiczne, tyle, że dla całej rodziny, dalekich krewnych, itp. Czyli, nie typowe drzewo genealogiczne (dla jednego członka rodziny), a takie drzewo rodzinne... (Mam nadzieję, że wyjaśniłem, co mam na myśli...)

A więc do rzeczy:

Wyobraziłem sobie coś w stylu:
Bez nazwy.jpg

Będę zadawał pytania, które przyjdą mi na myśl, proszę również o zadawanie pytań mi, myślę, że dla organizacji dobrze będzie je numerować.

  1. Program chciałem napisać w C++, z tym, że fajnie byłoby dodawać kolejnych członków przez np. telefon (Android), więc bez Javy się nie obędzie. Czy lepiej zacząć pisać wszystko w Javie, czy da się jakoś fajnie połączyć bazę danych z Javy na Androida i z C++ na desktop, aby to wszystko ładnie się uzupełniało?

  2. Aplikacja okienkowa - OK, ale pierwsze, co przychodzi mi do głowy, to dodam jakiś powiązany rekord do bazy danych i wyświetli się on w aplikacji, tylko jak zrobić, aby wyświetlał się w danym, ściśle określonym położeniu pośród innych? Jak określa się położenie w aplikacji? Odległość bezwzględna od "center"? Czy może od ramki aplikacji? Nie mogę sobie tego uzmysłowić.

  3. Baza danych - czy plik tekstowy będzie dobrym rozwiązaniem, czy lepszym będzie np. Excel? Jak to jest z wczytywaniem tego przez program? Wiem, wszystko zależy od programisty, ale na pewno są już jakieś przyjemne, sprawdzone metody.

Mam nadzieję, że pomożecie mi przebrnąć przez te trudne początki i stworzę fajną aplikację. Zależy mi na tym, aby się czegoś nauczyć. Mam nadzieję, że pomożecie noobowi.
Pozdrawiam
Jarek

0
  1. Program chciałem napisać w C++, z tym, że fajnie byłoby dodawać kolejnych członków przez np. telefon (Android), więc bez Javy się nie obędzie. Czy lepiej zacząć pisać wszystko w Javie, czy da się jakoś fajnie połączyć bazę danych z Javy na Androida i z C++ na desktop, aby to wszystko ładnie się uzupełniało?

O ile tej bazy danych nie trzymasz w sieci, 'bazę danych' możesz spokojnie trzymać w jakimś pliku i przenosić z komputera na komórkę i z powrotem więc jeśli chcesz możesz łączyć C++ i Javę. Z drugiej strony, jeśli zdecydujesz się na dwa języki, będziesz miał prawdopodobnie część kodu powtórzoną. Ja bym proponował nie kombinować i wszystko zrobić w jednym języku.

  1. Aplikacja okienkowa - OK, ale pierwsze, co przychodzi mi do głowy, to dodam jakiś powiązany rekord do bazy danych i wyświetli się on w aplikacji, tylko jak zrobić, aby wyświetlał się w danym, ściśle określonym położeniu pośród innych? Jak określa się położenie w aplikacji? Odległość bezwzględna od "center"? Czy może od ramki aplikacji? Nie mogę sobie tego uzmysłowić.

To pytanie sugeruje że nie masz doświadczenia (żadnego?) w pisaniu aplikacji okienkowych, a to źle wróży powodzeniu projektu...
Ja bym zrobił UserControlki FamilyTree i FamilyTreeNode, albo poszukał kontrolki z grafami którą dałoby się przystosować do wymagań, ale to zależy od wybranego frameworka - nie mam doświadczenia z Javą więc nic nie polecę (ale /odradzam/ rysowanie tego za pomocą wywoływania czegoś w rodzaju window.drawRectangle() jeśli Ci coś takiego do głowy przyjdzie pisząc w C++)

  1. Baza danych - czy plik tekstowy będzie dobrym rozwiązaniem, czy lepszym będzie np. Excel? Jak to jest z wczytywaniem tego przez program? Wiem, wszystko zależy od programisty, ale na pewno są już jakieś przyjemne, sprawdzone metody.

Tak, prawie wszystko będzie lepsze niż excel.
A jeśli chodzi o to co będzie najlepsze... Przy C++ najmniej się namęczysz ze zwykłymi, tradycyjnymi plikami tekstowymi, ale fajniejszym formatem jest np. XML/JSON - w Javie powinno to być w standardzie, do C++ poszukaj bibliotek do tego. No i jeśli jesteś ambitny, zawsze możesz użyć 'prawdziwej' bazy danych.

0

Rzeczywiście, z tym doświadczeniem masz rację, pisałem kilka programów w C, ale na mikrokontrolery, a to całkowicie co innego.
Lepiej będzie, jak najpierw trochę popróbuję robić proste programy.
A z tymi językami, rzeczywiście, część kodu będzie ta sama, ale w 2 językach, czyli 2 razy więcej pracy. Skłaniałbym się ku C++, ale wtedy Android odpada, a znowu Java pod Windowsem trochę mnie przeraża (ogólnie opinie nie są zbyt dobre - "java zło, java wolna, java dziurawa, koniec czasów Javy...").
Czyli co polecacie? Ja chciałem iść w C++ i Javę na androidzie, bo myślałem, że jednak Java na andku trochę różni się od PC.

1 użytkowników online, w tym zalogowanych: 0, gości: 1