05 - 05 - 2024
Main Menu
Who's online

We have 107 guests and no members online

Latest articles
Visitors
27104626
Today
Yesterday
This Week
This Month
Last Month
All days
5480
8980
68959
49832
295642
27104626

Old stories

Update of person list

User Rating:  / 0

New upload of AgetoAgeSqlite, The database system can handle thousands of tables so why didn't i add a table to save your queries i was thinking today, well now the person list has a button next to "Go" that will make a list of all your saved queries appear. There you can save and select queries. You add new queries to the list with typing directly in the list, you can also make changes and edit the queries directly. Your changes, inserts will be saved as you move to another rows in the list.

For those of you who are interested in programming and to learn how to implement a SQLite database in your program you can read here about it and there are also a forum with lots of interesting topics.

New ancestor view

User Rating:  / 0

 

Nytt Ancestor vindu er laget i AgetoAgeSqlite. Dette vinduet kan vise et teoretisk uendelig antall ancestorer, dvs det vil selvfølgelig være begrenset av hvor mange ancestorer man har registrert. Men for hvert step bakover så halveres avstandene så helt øverst i vindet er hver ancestor blitt til bare en liten prikk for å illustrere at her er det noen ancestorer man kan surfe inn på. Man surfer ved å presse venstre eller høyre piltast på tastaturet for å gå henholdsvis på far eller morside. For å gå tilbake presser man Ned piltasten på tastaturet. Dette anbefales å ta en titt på. Det krever at man registrer noen ancestorer da, Men man kan jo registrere noen Mr X og Mrs X bare for å prøve.....en slags 3 dimensjonal opplevelse...vinduet får man opp ved å høyreklikke i Ancestorlisten og velge Tree. (Ancestorlisten får man opp ved å høyreklikke i personlisten og velge Ancestorer).

17-12-2010 - Lastet opp ny versjon av AgetoAgeSqlite med revidert Ancestor Tree. Fant ut hvordan få det symetrisk og man kan velge mellom forskjellige visningsmoduser ved å presse Spacebar (mellomrom tasten på tastaturet). Pluss at det vises inne i hovedvinduet nå.

 

Her er visningsmodus "fylte bokser"

18-12-2010 - Lastet opp ny versjon med revidert Ancestor Tree. Har studert noen teknikker for å vise grafikk og tekst. Det er lett å skalere tekst og grafikk med de innebygde funksjoner i C#.

19-12-2010 - Ny versjon av AgetoAgeSqlite lastet opp. Nå med en egen designer der du kan lage ditt symbol for en Ancestor.

 

Oppdatert Icon designeren med Save knapp og man kan velge et icon man har lagret tidligere. Oppdateringen er lastet opp.

21-12-2010 - Lastet opp ny versjon av AgetoAgeSqlite. Ancestor icon Designer har fått en Undo knapp som kan Undo den siste handlingen som ble utført. Bildet under viser hvordan prinsippet er for Ancestor Tree. For hvert step bakover i generasjonene blir avstander halvert, men samtidig blir det dobbelt så mange ancestorer slik at bredden på treet er den samme uansett hvor mange generasjoner man går bakover.

 

Høyden på treet vil øke raskt på de første generasjoner deretter vil økningen av høyden raskt avta og økning vil gå mot null når generasjons nivået  går mot uendelig.

Generation Antall ancestorer Økning på høyde Total høyde
1 2 50,000000000000 50,000000000000
2 4 25,000000000000 75,000000000000
3 8 12,500000000000 87,500000000000
4 16 6,250000000000 93,750000000000
5 32 3,125000000000 96,875000000000
6 64 1,562500000000 98,437500000000
7 128 0,781250000000 99,218750000000
8 256 0,390625000000 99,609375000000
9 512 0,195312500000 99,804687500000
10 1024 0,097656250000 99,902343750000
11 2048 0,048828125000 99,951171875000
12 4096 0,024414062500 99,975585937500
13 8192 0,012207031250 99,987792968750
14 16384 0,006103515625 99,993896484375
15 32768 0,003051757813 99,996948242188
16 65536 0,001525878906 99,998474121094
17 131072 0,000762939453 99,999237060547
18 262144 0,000381469727 99,999618530274
19 524288 0,000190734863 99,999809265137
20 1048576 0,000095367432 99,999904632568
21 2097152 0,000047683716 99,999952316284
22 4194304 0,000023841858 99,999976158142
23 8388608 0,000011920929 99,999988079071
24 16777216 0,000005960464 99,999994039536
25 33554432 0,000002980232 99,999997019768
26 67108864 0,000001490116 99,999998509884
27 134217728 0,000000745058 99,999999254942
28 268435456 0,000000372529 99,999999627471
29 536870912 0,000000186265 99,999999813736
30 1073741824 0,000000093132 99,999999906868

 Tabellen over viser at det slett ikke er vanskelig å lage et ancestor tree som teoretisk kan vise et uendelig antall ancestorer. Her startet jeg med 50 mm økning på høyden fra nederste kant på vinduet og man ser at grenseverdien er 100. Total høyde vil aldri komme over 100 mm uansett hvor mange generasjoner man viser. Men antall ancestorer på hvert generasjonsnivå blir fort astronomisk da det allerede har passert en milliard på generasjon 30. Dette viser kanskje at vi alle er egentlig ganske så like......

 

 23-12-2010 - Lastet opp revidert versjon med bedre Ancestor icon designer. Noen som har prøvd å programmere et lite tegne program med Visual C# ? Det som overrasket meg litt var at det ikke var innebygget noen god funksjon for å tegne opp linjer og kurver som bare er ment å vises før man godkjenner en tegneoperasjon med f.eks å klikke venstremus knapp. Altså en hjelpelinje som viser hvordan linjen vil bli mens man tegner. Men det er forsåvidt ikke noe problem, det er bare å bruke grafikk funksjonene i Windows API. Disse finnes i "gdi32.dll". Ved å bruke en XOR pen er det enkelt å tegne opp en linje og så ta bort denne linjen uten at bakgrunnen blir berørt. Visual C# bruker gdiplus.dll til standard tegneoperasjoner og dette kalles GDI+ mens det som er innebygget i Windows er gdi32.dll og kalles Windows GDI (uten plus)

Men det er heldigvis meget enkelt å bruke en funksjon fra Windows GDI når man programmerer i MS Visual C# om man ønsker det. Bare å deklarere funksjonene man ønsker å bruke f.eks slik

using System.Runtime.InteropServices;

[DllImport("gdi32.dll")]

public static extern int Ellipse(IntPtr hDC, int X1, int Y1, int X2, int Y2);

og da er man klar for å bruke Windows GDI for å tegne opp en ellipse.

Photo Related

User Rating:  / 0

Merry Christmas and new upload of AgetoAgeSqlite is available. Now with a Photo Related window where you can click the tabs "Person"; "Family", "Residence" and "Location" to see what photos is assigned. For example in the tab "Person" will the list be populated with persons who have photos.

 

27-12-2010 - Lastet opp ny versjon som gjør det mulig å importere en annen database. SQLite har innebygget funksjon "Attach" som gjør det enkelt å jobbe mot flere databaser på en gang og dette gjør det svært enkelt å importere data fra en annen database. Ved import av data i AgetoAgeSqlite er det viktig å huske på at to eller flere personer ikke kan ha samme ID. Det samme gjelder familier så hvordan løser man dette? Jo, ved å bruke ID Manageren i AgetoAgeSqlite. Man gir personer og familier i den databasen man vil importere fra, ID'er som ikke har vært brukt i den databasen man importerer til. Her er fremgangsmåten for å importere en GED fil til en database som har data fra før.

  1. Lag en ny database og importer GED filen til denne.
  2. Gå til ID Manageren, (finnes på Database menyen) og konverter person og familie ID'er til en serie som ikke har vært brukt i den databasen man til slutt skal importere til.
  3. Åpne den databasen man skal importere til og importer databasen man lagde i punkt 1.

 Når man importerer blir det automatisk lagd en kilde (source) for disse personer og familier som blir importert og hver person får føyd til denne kilden. Dette gjør at man har oversikt. Når man kikker på denne kilden vil den ha en tabell som viser de data (personer/familier) som ble importert.

På nettet finner man en masse GEDCOM filer som kan lastes ned og man kan opprette sin egen database og importere aktuelle GEDCOM filer til denne basen. Setter man av en liten halvtime hver dag til dette kan man ha en database med kanskje 1 million personer i løpet av en måneds tid. Når man får så mange personer i databasen er det veldig praktisk å bruke LIMIT på slutten av SQL spørringen i personlisten, for eksempel LIMIT 1000, 100 vil bety at man får en liste med 100 personer der den første personen er den 1000 personen som tilfredsstilte kriterien i spørringen. Jeg gjorde noen enkle søk etter GED filer og fant denne http://mypages.allwest.com/~rognan/genealogy/genealogy.ged som har over 100 000 personer. Finner man 10 slike filer har man en million med en gangsmiley Jaja, kanskje ikke så interessant bare å finne en masse personer man ikke har noe kjennskap til men det kunne jo hende man fant en forbindelse da.

29-12-2010 - Lastet opp ny versjon med et eget vindu for Import operasjoner.

Oppdatert AgetoAgeSqlite

User Rating:  / 0

Ny versjon av AgetoAgeSqlite er lastet opp. Ved import av GED filer blir det nå lagret informasjon om den importerte GED fil i notater for kilden (source) som blir automatisk generert. Denne kilden får også oversikt over hvilke personer og familer som ble importert. Man har da full oversikt over de importerte GED filer og når man dobbelklikker en person eller familie kan man klikke på Source og se hvilken kilde som er brukt. Er det en importert person eller famile får man også se navn og generell informasjon om denne GED filen.

GED importen tar også nå med kommentarer for personer og familier. Hvis man ønsker å se hvilke personer/familier som har kommentar med lengde større enn 1000 kan man skrive følgende i SQL boksen " where LENGTH(commentdata) > '1000'

Kommentarer blir lagret binært slik at formatering osv. også blir lagret (Rich Text Format (RTF)). 

New FamilyTreeView in AgetoAgeSqlite

User Rating:  / 0

Ny oppdatering av AgetoAgeSqlite er lastet opp. Jeg har gått gjennom og fått til en hurtigere vising i "Family Tree View".