21. november 2004 - 15:20Der er
2 kommentarer og 2 løsninger
Regler vha. klasser
Hej,
Jeg har lavet et program, der checker, hvad der er i udklipsholderen, og vha. IF-sætninger finder ud af, hvad det er. Programmet bruges til at tracke forsendelser med, og IF-sætningerne finder så ud af, om det er et trackingnummer, og hvilket firma, det er sendt med - og derudfra findet det ud af, hvilke hjemmeside, nummeret skal tracket på (og det sker herefter ved at åbne en hjemmeside, og putte trackingnummeret ind vha. en GET-variabel, hvor det, der var i udklipsholderen så klistres ind).
Et eksempel er: If (Strings.Left(strClipboardContent, 2) = "1Z" And Strings.Len(strClipboardContent) = 18) Or (Strings.Left(strClipboardContent, 1) = "M" And IsNumeric(Strings.Right(strClipboardContent, 10)) And Strings.Len(strClipboardContent) = 11) Then Shell("C:\Program Files\Internet Explorer\iexplore.exe " & strClipboardContent) End If
(Koden er VB.NET, men det er jo - næsten - det samme, og skal lave det "nye" program i C#).
I stedet for at lave et hav af IF-sætninger, er min idé nu at oprette en regelklasse, og så lave en instans for hver regel, og så på den måde gøre det lidt mere "rigtigt". Problemet er, at jeg ikke aner, hvordan det skal gøres i praksis!
I klassen skal jeg have noget med længden, starten og slutningen af stengen. Ydermere skal der være et felt til URL, som skal benyttes, hvis reglen bliver opfyldt. Lidt start-hjælp ville være skønt :-)
Det er helt oplagt at bruge RegularExpressions til dette.
Jeg ville nok lave en "regel" klasse der tager en regular expression som parameter i constructoren. Den skal så have en test metode, som kan bruges til at returnere hvorvidt en given streng overholder "reglen". I regel-klassen kan du passende implementere en metode der først tester en streng, og derefter sørger for redirect hvis strengen overholder kriterierne.
Du kan så bruge regel-klassen direkte, eller du kan lave en klasse for hver regel, som arver fra regel-basisklassen. Om det er smart at gøre det ene eller andet vil jeg lade dig vurdere.
Det tror jeg, har kigget det igennem, og det ser fornuftigt ud. Jeg får dog nok først tid til at gennemprøve det ordentligt i morgen!
Synes godt om
Ny brugerNybegynder
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.