Avatar billede const Nybegynder
08. januar 2009 - 18:16 Der er 9 kommentarer

Næste ledige varenummer

Hej
Kan nogen hjælpe mig med at lave/finde et program, som kan følgende:
1.    bruger indtaster i skrivefelt positivt tal med 6 cifre
2.    museklik på knap_1 for næste nummer
3.    næste ledige nummer vises i udskrivningsfelt
4.    museklik på knap_2 for accept af nummer
Ved opsætning indlægges de ledige nummerområder f.eks. i kildeteksten.
Programmet skal ligge på et netværksdrev og anvendes af flere brugere samtidigt.
På forhånd tak for al hjælp
Avatar billede bertelbrander Novice
08. januar 2009 - 19:49 #1
Hvilken sammenhæng skal der være mellem det 6 cifrede tal og "næste nummer"?
Jeg går ud fra at alle udgaver af programmet skal arbejde sammen når "næste nummer" findes?
Må man godt springe numre over, f.eks. hvis en bruger ikke accepterer et nummer?
Avatar billede const Nybegynder
08. januar 2009 - 21:03 #2
1. Indtaster brugeren 300000 returneres 301136, hvis alle numrene fra 300000 til  og med 301135 tidligere er brugt (accepteret).
2. Det må ikke kunne ske, at flere brugere får udleveret samme nummer.
3. Det gør ikke noget, at der i specielle tilfælde springes enkelte numre over.
Avatar billede bertelbrander Novice
08. januar 2009 - 21:33 #3
Det eneste reele problem er nok at sikre sig at det samme nummer aldrig bliver trukket flere gange.
For at kunne det er man nød til at have en form for "lås" der virker på tværs af alle instanser af programmet. Det kan man enten gøre ved at have en server, der holder styr på nummeret, eller man kan bruge en fil på serveren som lås.
Det første er nok det sikreste, men også det mest komplicerede og det kræver at man starter en server, der kører når nogen af klienterne kører. Det andet er lettere.
Avatar billede const Nybegynder
08. januar 2009 - 21:51 #4
Alle brugere er i samme bygning, og de er tilsluttet netværk, der altid kører.
Avatar billede arne_v Ekspert
08. januar 2009 - 22:27 #5
Hvad bruges de data til ?

Hvis de gemmes i en database, så har stort set alle databaser indbygget den
funktiuonalitet som du efterspørger.
Avatar billede const Nybegynder
08. januar 2009 - 23:30 #6
De 6 cifrede numre anvendes til oprettelse af vare i en AXAPTA database. Jeg har dog kun brugeradgang til denne database og jeg ønsker ikke yderligere, da der her er rigeligt med problemer.
Min opgave er, at forsøge at erstatte de nuværende manuelle afkrydsningsark med en EDB baseret løsning, uden at ændre på hoveddatabasen.
Avatar billede bertelbrander Novice
08. januar 2009 - 23:51 #7
Mit forslag ville nok være at lave en central server som klienterne connecter til for at få det næste varenummer.
Der er et par huller:
Hvad skal der ske hvis ikke brugeren accepterer nummeret?
Hvordan ved man at han ikke har accepteret nummeret?

At lave selve GUI'en og opsætte en socket til kommunikationen er ret problemfrit.
Avatar billede const Nybegynder
09. januar 2009 - 08:06 #8
Har brugeren ikke accepteret nummeret ved klik på knap_2 inden 10 sekunder, forsvinder det fra udskrivningsfeltet.
Nummeret forsvinder også, hvis der i stedet for accept indtastes ny forespørgsel i skrivefeltet.
Er nummeret ikke blevet accepteret, udskrives det igen ved næste forespørgsel i samme nummerserie.
Avatar billede arne_v Ekspert
11. januar 2009 - 00:35 #9
Umiddelbart tror jeg at det nemmeste er at have en embedded database med en lille database
liggende centralt på netværksdrevet med en tabel med et auto increment felt og så indsætte
en række og læse den genererede værdi når man skal bruge et tal.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester