15 - 03 - 2025
Main Menu
Who's online

We have 57 guests and no members online

Latest articles
Visitors
30777754
Today
Yesterday
This Week
This Month
Last Month
All days
3474
13974
57324
112602
209677
30777754

Old stories

New version of AtAMySql

User Rating:  / 0

We wish our readers a wonderful sunday and weekend.

New version of AgetoAgeMySql is ready and available, FamilyBook creation has been added, it will print out all information about selected family and their descendants, a list of ancestors for male and female can be added if you choose this option in the setup for the process. The photos shown below was set to be resized to max 100 pixel height or width, but this can of course be set much larger if you want.

The name for the program will probably be changed in the future to just AgetoAge with a number showing the current version like "AgetoAge 1.0.0".

Nye funksjoner

User Rating:  / 0

AgetoAge for MySql er under stadig utvikling og nå kan man også lage en Slektsbok fra Descendant vinduet. Her vil boken da inneholde alle etterkommere av en valgt person. Det vil også bli mulig å lage en Slektsbok fra Ancestor vinduet for en valgt person. Så hvis man da vil lage en slektsbok for Mr X så kan man f.eks lage en bok som inneholder alle ancestorer for Mr X og en bok som inneholder alle etterkommere (descendants) av Mr X. Jeg har også oppdatert FamilyTreeView slik at det jobber mye raskere nå. Oppdateringen er lastet opp.

Group view

User Rating:  / 0

Ny version av AgetoAgeMySql er lastet opp, Group view har blitt programmert og dette vinduet viser de nærmeste slektninger til valgt person. Man kan dobbeltklikke en hvilken som helst person i dette vinduet for å sette denne som hovedperson. Morsomt og interessant å programmere dette. Bildet under viser dette vinduet (forminsket her for å få plass).

Ny funksjon for etterkommere

User Rating:  / 1

Jeg prøver stadig å finne nye teknikker og metoder for å effektivisere kjøringene i AgetoAgeMySql og i går fant jeg en svært enkel og grei metode for å finne alle etterkommere av en person uten å bruke rekursiv teknikken. Jeg viser denne nedenfor og har kalt funksjonen TravDescProc. Den tar et argument "id" som er ID til personen man vil finne etterkommere av. Den returnerer en liste av elementer av typen "Rec" som er en type jeg definerte som følger:

public struct Rec
        {
            public int ID;
            public string Name;
            public int Sex;
            public int Level;
            public string Path;
            public Rec(int id, string name, int sex, int level, string path)
            {
                ID = id;
                Name = name;
                Sex = sex;
                Level = level;
                Path = path;
            }
        }

Her kommer så selve funksjonen som går ned gjennom alle etterkommere i tur og orden. For å lage en "sti" (2.1.2.3) som viser veien fra valgt person til en etterkommer av denne bruker jeg en variabel "Path" i Rec strukturen.

public List<Rec> TravDescProc(int id)
        {
            List<Rec> table = new List(Rec);
            System.Collections.Queue children = new System.Collections.Queue();
            int pn = 0;
            string ph = "";
        loop:           
            dbDoc.cmd.CommandText = "select PID2 from marriages where PID1 = '" + id + "';";
            MySql.Data.MySqlClient.MySqlDataReader reader = dbDoc.cmd.ExecuteReader();
            List lst = new List();
            while (reader.Read())
            {
                lst.Add(reader.GetInt32(0));
            }
            reader.Close();
            pn = 0;
            foreach (int n in lst)
            {
                dbDoc.cmd.CommandText = "select pid, firstname, lastname from persons where fatherID = '" + id + "' and motherID = '" + n + "' or fatherID = '" + n + "' and motherID = '" + id + "';";
                reader = dbDoc.cmd.ExecuteReader();               
                while (reader.Read())
                {                   
                    children.Enqueue(new Rec(reader.GetInt32(0), reader.GetString(1) + " " + reader.GetString(2), 0, 0, ph + (++pn).ToString()));
                }
                reader.Close();
            }
            while (children.Count > 0)
            {
                Rec r = (Rec)children.Dequeue();
                table.Add(r);
                ph = r.Path + ".";
                id = r.ID;
                goto loop;
            }
            return table;
        }

 

Nytt etterkommer tre

User Rating:  / 0

Jeg har begynt arbeidet med å lage en ny funksjon for å vise et tre-diagram over etterkommere etter en valgt person. En vanlig måte å gjøre dette på er som vist her:

Dobbelte horisontale linjer viser ekteskap og vil fortsette horisontalt til høyre for hvert ekteskap. Barn fra et ekteskap kommer så rett under dette.