/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Generering af initialer
Fra : Jens Brandt


Dato : 22-12-05 12:49

Jeg har en lille opgave hvor jeg skal danne initialer ud fra en række
navne (fornavn evt. mellemnavn og efternavn)
Er der nogen der har en smart algoritme til dette eller evt. noget vb
kode.

Man kan jo altid tage første bogstav i for- mellem- og efternavn, men
når initialerne skal være unikke og for mange personer så begynder det
at blive mere kompliceret.

/Jens
--
----------------
reply my mail:
remove 'nomail.'
-----------------

 
 
Peter Lykkegaard (24-12-2005)
Kommentar
Fra : Peter Lykkegaard


Dato : 24-12-05 13:43

"Jens Brandt" wrote

> Jeg har en lille opgave hvor jeg skal danne initialer ud fra en
> række navne (fornavn evt. mellemnavn og efternavn)
> Er der nogen der har en smart algoritme til dette eller evt.
> noget vb kode.

Start med at lave noget business logic (forretningsregel) på papir

> Man kan jo altid tage første bogstav i for- mellem- og efternavn,
> men når initialerne skal være unikke og for mange personer
> så begynder det at blive mere kompliceret.

Næhh man skal blot lave en forretningsregel + nogle undtagelser hvis denne
ikke holder

Man kan sætte prefix for brugertype
Man kan sætte afd (forkortelse) som suffix

Du kan tage første forbogstav + syv bogtaver fra efternavn

Der er mange muligheder

Fx
otte bogstaver i brugernavn
Tæl antal navne/mellemnavne
Hvis antal navne plus antal bogstaver i efternavn er mindre end antal
bogstaver i brugernavn
Tag antal bogstaver i fornavn fratrukket (antal navne minus en) plus første
bogstav i øvrige navne plus hele efternavn
Ellers
Tag første bogstav i hvert navn plus antal bogstaver fra efternavn
fratrukket antal navne

- Peter



Ole Nielsby (24-12-2005)
Kommentar
Fra : Ole Nielsby


Dato : 24-12-05 22:09

Jens Brandt <JensBrandt@NOMAIL.mail.tele.dk> skrev:
> Jeg har en lille opgave hvor jeg skal danne initialer ud fra en række
> navne (fornavn evt. mellemnavn og efternavn)
> Er der nogen der har en smart algoritme til dette eller evt. noget vb
> kode.

Jeg har ikke VB-kode, men her er en fremgangsmåde:

Princippet er lånt fra et lettere obskurt ritual der praktiseres en del
steder i aften (jeg er fritaget i år p.g.a. influenza). Personerne knyttes
sammen i en cirkulær liste der går eller løber rundt om et træ som er
behængt med pakker med initialer, som man forsøger at aflæse
i farten. Når man finder en pakke hvis initialer passer nogenlunde med
ens navn, snupper man pakken og smutter diskret ud af kredsen.

For at ikke juletræet skal vælte under vægten af alle de mulige
initialer, genererer vi initialerne undervejs ud fra navnene og bruger
kun træet til at holde rede på hvilke initialer der allerede er brugt.
For at få en løbende forsyning af nye pakker ned gennem skorstenen
bruger vi en ny initialgenereringsregel for hver runde.

Hen på aftenen bliver folk som bekendt snalrede og mindre kritiske,
og vi slækker på kvalitetskravene så også de sidste kan få et eller
andet med hjem.

Følgende genereringsregler er testet på et kartoteksudtræk på godt
1000 navne og virker; men der er ingen garanti for at de også klarer
dine data. Det kan være nødvendigt at blande et par ciffersnapse
i bogstavnisseøllet for at få det til at glide. Det kan også være en
god ide at filtrere æ, ø og å fra... det er lidt træls at skulle logge
ind på en computer med engelsk tastatur hvis man hedder Åge
eller Søs.

Alle initialer er på 3 eller 4 bogstaver. De er her vist på eksempelform:
de store bogstaver markerer hvor mange bogstaver for hvert led der
medtages. Regel 2-4 er spasserregler der er anbragt for at få besværlige
elementer (navne på mere end 4 led) ud af systemet inden der bliver
ballade (lad os bare kalde det Peter Faber-princippet). Regel 1 er sat
foran spasserreglerne for at redde de mest oplagte 4-bogstavs initialer
fra spasserreglerne.

1. Asger Bent Carl Danielsen
2. Lad Den lille (hidsige hysteriske...) Signe Blot
3. Lad den (hidsige hysteriske...) Lille Signe Blot
4. Lad Den Lille (hidsige hysteriske...) signe Blot
5. Asger Bent Carlsen
6. Asger BEndtsen
7. ASger Bendtsen
8. ASger BEndtsen
9. Asger Bent CArlsen
10. ASger Bent Carlsen
11. Asger BEnt Carlsen
12. Asger BENdtsen
13. ASGer Bendtsen



Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409075
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste