webForum webForum sponsras med lina och serverplats av Binero AB

Gå tillbaka   webForum > Utveckling > Webbutveckling > ASP

ASP Diskussioner om Active Server Pages, med relaterade scriptspråk (klassisk asp).

Svar
 
Trådverktyg Visningsalternativ
Äldre 2005-11-06, 17:57   #1
devotion
Medlem
 
devotions avatar
 
Registrerad: 2001-01-20
Ort: Karlskrona
Inlägg: 2 706
Lösningar: 13
lugn Söka ut artikelnummer ur sträng

:e
Hej!

Om jag har en sträng som ser ut så här:
Paxfläkt 230V 50Hz E1223568

Hur gör jag då för att få ut:

1223568

Och om det står:
4587956 apparatdosa enkelgips

få ut:
4587956

eller:
1234 Handukstork 230 Volt E4596356

Få ut
4596356

Dvs, identifiera ett sjusiffrigt artikelnummer ur en sträng oavsett vilka andra tecken strängen består av!


Mvh
Henrik
__________________
I'm not a slave to a god that doesn't exist...
devotion besöker inte forumet just nu   Svara med citat
Äldre 2005-11-06, 18:05   #2
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Kod:
dim re
set re = new regexp
re.pattern = "\d{7}"

dim m
set m = re.execute("4587956 apparatdosa enkelgips")

if m.count then
  response.write m(0)
end if

set re = nothing
Peter S besöker inte forumet just nu   Svara med citat
Äldre 2005-11-06, 18:10   #3
devotion
Medlem
 
devotions avatar
 
Registrerad: 2001-01-20
Ort: Karlskrona
Inlägg: 2 706
Lösningar: 13
Wee, det var snabba puckar...

Behöver väl inte säga att jag ska testa först, det brukar det ju göra när du är i farten...

Tackar!

Väntar dock med att acceptera som slutgiltigt svar tills jag testat...

..men kan du inte förklara lite vad koden gör...

Mvh
Henrik
__________________
I'm not a slave to a god that doesn't exist...
devotion besöker inte forumet just nu   Svara med citat
Äldre 2005-11-06, 18:20 Markerad som löst av devotion   #4
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Givetvis!
Kod:
' Vi vill använda ett reguljärt uttryck för att matcha sju siffror efter varandra
dim re
set re = new regexp
re.pattern = "\d{7}" ' \d är samma sak som 0-9; {7} betyder sju stycken av föregående

' Med execute() får vi ut en array av träffar
' Eftersom global-flaggan ej är satt, kan vi endast få en träff och den ligger i m(0)
dim m
set m = re.execute("4587956 apparatdosa enkelgips")

if m.count then
  response.write m(0)
end if

set re = nothing
Peter S besöker inte forumet just nu   Svara med citat
Äldre 2005-11-06, 18:28   #5
K@llen
Medlem
 
Registrerad: 2003-03-13
Inlägg: 2 638
Lösningar: 103
Om det förekommer kombinationer i strängen där flera teckengrupper innehåller sju tecken lär det bli problem, eller? Varför inte öronmärka ett artikelnummer på ett visst sätt?
__________________
Sundara YogaMassör Jörgen Johnsson
K@llen besöker inte forumet just nu   Svara med citat
Äldre 2005-11-06, 18:32   #6
devotion
Medlem
 
devotions avatar
 
Registrerad: 2001-01-20
Ort: Karlskrona
Inlägg: 2 706
Lösningar: 13
Hej!

Jo det kanske det blir... men jag anser att sannolikheten att de ska inträffa är liten.

Då får man väl hitta på något som kollar om det finns fler än 1grupp av sju siffror så gör något coolt... Det kanske går???

Mvh
Henrik
__________________
I'm not a slave to a god that doesn't exist...
devotion besöker inte forumet just nu   Svara med citat
Äldre 2005-11-06, 18:32   #7
@nders
Moderator
Marsvin
 
@nderss avatar
 
Registrerad: 2000-06-30
Ort: Nyköping
Inlägg: 26 817
Lösningar: 3146
Citat:
det finns fler än 1grupp av sju siffror så gör något coolt... Det kanske går???
Borde gå fint om du sätter global-flaggan och kontrollerar om m.count är större än 1.


Edit: lite clipboardskoj
Mvh
__________________
@aviddevguy
@nders besöker inte forumet just nu   Svara med citat
Äldre 2005-11-06, 18:39   #8
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Om du vill följa K@llens rekommendationer vad gäller öronmärkning, då:
Kod:
set re = new regexp

re.pattern = "art(\d{7})"

set m = re.execute("art4587956 apparatdosa enkelgips")

if m.count and m(0).submatches.count then
  response.write m(0).submatches(0)
end if

set re = nothing
Ovan har jag antagit att prefixet är art.
Peter S besöker inte forumet just nu   Svara med citat
Äldre 2005-11-06, 18:55   #9
devotion
Medlem
 
devotions avatar
 
Registrerad: 2001-01-20
Ort: Karlskrona
Inlägg: 2 706
Lösningar: 13
:e
Hej!

Vad det hela handlar om är att vi har ett handdatorsystem där våra montörer lägger in material på ett jobb. En hel del artiklar finns i handdatorn, men i bland gör det inte det och då får de skriva manuellt.

När de sedan synkar så lagras allt i en accessdatabas
Min tanke är att göra ett enkelt webbaserat gränssnitt med asp där artiklarna listas och där man kan klicka på "uppdatera" vid en artikel som är inlagd "för hand" Det är då jag behöver söka ut artikelnumret för att göra en sökning i den "stora" artikeldatabsen och om artikeln finns där ersätta den som var "gjord för hand" fattar ni?

Det är väl egentligen inte troligt att det kommer 2 grupper med 7 siffror i en sådan sträng...

Men för att minska riskan kan man ju sätta som villkor att montörerna skall skriva E framför en artikel. (det är ju i elbranchen så där heter det E-nummer istället för artikelnummer)

Det kändes kanske lite lättare att slippa det där med prefix... känns som det är större sannolikhet att det glöms att skrivas prefix än att det skrivs flera grupper med 7 siffror...

Det kan ju tex skrivas E 1234567 eller E1234567 båda är ju rätt men det första har ju ett mellansteg vilket gör att det inte kommaer att funka ...


Vad tycker ni?

Mvh
Henrik
__________________
I'm not a slave to a god that doesn't exist...
devotion besöker inte forumet just nu   Svara med citat
Äldre 2005-11-06, 19:05   #10
Lasp
Medlem
 
Lasps avatar
 
Registrerad: 2000-07-29
Ort: Fredriksdal, Helsingborg
Inlägg: 9 921
Lösningar: 144
Det här tycker jag är en bra tråd. En förklaring att människor inte alltid är så rationella utan vi som programerare skall kunna ta hand om avvikelser på samma sätt som ett personligt öga skulle ha läst av raden. Bra tänkt. Lycka till.
__________________
Livet är kort och Nu!
Läs mera!
!?
Lasp besöker inte forumet just nu   Svara med citat
Äldre 2005-11-06, 19:05   #11
K@llen
Medlem
 
Registrerad: 2003-03-13
Inlägg: 2 638
Lösningar: 103
Citat:
devotion skrev:
Det kändes kanske lite lättare att slippa det där med prefix... känns som det är större sannolikhet att det glöms att skrivas prefix än att det skrivs flera grupper med 7 siffror...

Det kan ju tex skrivas E 1234567 eller E1234567 båda är ju rätt men det första har ju ett mellansteg vilket gör att det inte kommaer att funka ...

Vad tycker ni?
Enligt mitt synsätt är validering av indata en bra påfund. Deta ska helt enkelt inte gå att skriva in ett felaktigt E-nummer. Ett E-nummer bör dessutom vara unikt.
__________________
Sundara YogaMassör Jörgen Johnsson
K@llen besöker inte forumet just nu   Svara med citat
Äldre 2005-11-06, 19:29   #12
devotion
Medlem
 
devotions avatar
 
Registrerad: 2001-01-20
Ort: Karlskrona
Inlägg: 2 706
Lösningar: 13
Hej!
I det här fallet så är handdatorappilkationen och synkningen till accessdatabsen (och även windows applikationen) något som jag inte kan göra något åt. Det jag gör att jag gör ett bättre gränssnitt med en webapplikation.

Så någon validering av indatan på handdatorn kan jag inte åstadkomma. Det montören gör är att skriva in artikeln med "fritext" och kommer han i håg att få med E-numret så är det bra....

Min tanke är att bara numret kommer med så ska min kod ta hand om valideringen, genom att söka ut artikelnumret och därefter ersätta benämning och enhet med det "riktiga" som finns i den stora databasen på kontoret.

Ett E-nummer är unikt, och standardiserat och används inom elbranchen. därför använder alla grossister det! så en viss Kontakt har samma E-nummer hos alla leverantörer... (nu lever vi ju inte i en ideal värld så givetvis finns det undantag....)

Fler synpunkter mottages tacksamt!

//Henrik
__________________
I'm not a slave to a god that doesn't exist...
devotion besöker inte forumet just nu   Svara med citat
Äldre 2005-11-06, 21:12   #13
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Kan du inte låta dem skriva E-numret utan inledande 'E' (precis som nu) och sedan själv prefixa numret med bokstaven vid mottagandet av datat?
Peter S besöker inte forumet just nu   Svara med citat
Äldre 2005-11-07, 07:34   #14
devotion
Medlem
 
devotions avatar
 
Registrerad: 2001-01-20
Ort: Karlskrona
Inlägg: 2 706
Lösningar: 13
Citat:
Peter S skrev:
Kan du inte låta dem skriva E-numret utan inledande 'E' (precis som nu) och sedan själv prefixa numret med bokstaven vid mottagandet av datat?
Jo, jag tror det är så jag ska göra...

Man ska inte alltid begära för mycket av användaren.... det räcker med att få ner ett korrekt nummer...

Henrik
__________________
I'm not a slave to a god that doesn't exist...
devotion besöker inte forumet just nu   Svara med citat
Äldre 2005-11-07, 13:03   #15
J.N.
Medlem
 
J.N.s avatar
 
Registrerad: 2003-04-02
Ort: Lund
Inlägg: 1 660
Lösningar: 64
HEJ!
Citat:
devotion skrev:
Vad det hela handlar om är att vi har ett handdatorsystem där våra montörer lägger in material på ett jobb. En hel del artiklar finns i handdatorn, men i bland gör det inte det och då får de skriva manuellt.
Vad händer om montören inte kan siffrorna utan endast vad det är för sak? Det känns som det är ännu troligare?

Din beskrivning låter lite som att du skall synkronisera med den stora artikeldatabasen för att få rätt siffror, vilka montören redan fyllt i?

Jag skulle vilja ha en funktion som letar upp E-numret för en artikel, men jag förutsätter att du vet vad du gör!
__________________
Johnny

wF-råd:
- är ditt inlägg förståeligt?
- korrekturläs ditt inlägg, redigera stavfel
- kom ihåg att markera det inlägg som löste problemet
J.N. besöker inte forumet just nu   Svara med citat
Äldre 2005-11-07, 14:29   #16
devotion
Medlem
 
devotions avatar
 
Registrerad: 2001-01-20
Ort: Karlskrona
Inlägg: 2 706
Lösningar: 13
:e
Hej!

Ingen dum idé alls... vet bara inte hur jag ska göra då...

Man kunde ju göra en sökning på E-numret först och sedan göra en sökning på benämning om det inte gicka att få ut något E-nummer. Problemet är väl då att göra en smart sökfunktion för detta.

Montören kanske inte kan e-numret för ett vägguttag, utan skriver in

"Vägguttag med jord"

En sökning på det skulle ju få många träffar

tex E1830291 är ett sådant
UTTAG 2-VÄGS M.J. INF. P-VIT

Men han kanske menade ett 1-vägs?

För att kunna göra sökningen på "vägguttag med jord" måste strängen delas upp i:
vägg +uttag +med +jord

Denna söksträng kommer att returnera en hel del träffar. Dessa måste väl i så fall visas för användraen i ett steg två där en lista presenteras och användaren kan välja rätt!

Detta känns mycket avancerat, och det kanske är lättare att få montörerna att skriva ner Enumret, som är unikt... Men det är en intressant diskussion, så ni som vill bidra med ideér, tankegångar och tips är välkomna!


Mvh
Henrik
__________________
I'm not a slave to a god that doesn't exist...
devotion besöker inte forumet just nu   Svara med citat
Äldre 2005-11-08, 09:46   #17
J.N.
Medlem
 
J.N.s avatar
 
Registrerad: 2003-04-02
Ort: Lund
Inlägg: 1 660
Lösningar: 64
HEJ!

Eftersom det är montörer (på fältet) antar jag att de vet vad sakerna heter, och inte har möjligthet att slå upp E-numret som kontorspersonal har.

Därför borde de ha en lista med alla produkter (gissar blir lång!) som de kan plocka fram alla E-numren ur.
Där ska även finnas ett fritextfält för "ickestandardiserade ord", tex "vägguttag jord" kopplat till "UTTAG 2-VÄGS M.J. INF. P-VIT", vilket ingen som inte är hardcore-elektriker kan veta att uttaget heter.

Finns det sedan bilder också, suveränt!

Jag skulle, som elektriker, vara nöjd med att få en plocklista på vad jag ska använda till jobbet, och det som ändras, skriver jag upp.
Om det sedan är papper eller handdator är en smaksak, det beror på hur efterföljande steg i arbetsgången ser ut.

Som el-konsult skulle jag å andra sidan kunna lista ut exakt allt som ska användas, för ovanstående elektriker, för att få ett pris och en materiallista.


Allt beror på hur ni arbetar, och organisation.
Håller med Lasp att det är en intressant fråga; ska man göra det bra för elektrikern, eller för hela organisationen? Det sistnämnda troligen.
__________________
Johnny

wF-råd:
- är ditt inlägg förståeligt?
- korrekturläs ditt inlägg, redigera stavfel
- kom ihåg att markera det inlägg som löste problemet
J.N. besöker inte forumet just nu   Svara med citat
Svar
webForum > Utveckling > Webbutveckling > ASP

Trådverktyg
Visningsalternativ

Forumregler
Du får inte posta nya trådar
Du får inte posta svar
Du får inte bifoga filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är av
HTML-kod är av

Forumhopp


Alla tider är i GMT +1. Klockan är nu 00:42.


Powered by: vBulletin Version 3.8.6
Copyright © webForum