Advertisement

06.14.2008 at 02:16AM PDT, ID: 23484830
[x]
Attachment Details

Help speeding up a loop

Asked by MrManderson in Microsoft Visual Basic.Net, .NET

Hi All

The following loop that loops through and generates all possible postcodes in the UK.

How can I change the attached code so that the outer part of each loop is not repeated?

Ie.

The loop has 4 parts...

The outer loop goes through a list of districts....
             
     The Next part generates (1) 1 Digit
         The inner part will Generate 1 Digit followed by 2 Characters

     The Next part generates (2) 2 Digits
         The inner part will Generate 1 Digit followed by 2 Characters

     The Next part generates (3) 1 Digit & 1 Character
         The inner part will Generate 1 Digit followed by 2 Characters


How would I remove the repeating outer part from each loop?

So that I would only require 1 loop that does something along the lines of

The outer loop goes through a list of districts....
             The Next part generates (1) 1 Digit
             The Next part generates (2) 2 Digits
             The Next part generates (3) 1 Digit & 1 Character
                          The inner will Generate 1 Digit followed by 2 Characters

The main thing is though I still have to be able to have each loop outputing the format like so

Distric    1 Digit     1 Digit & 2 Characters
Distric    2 Digit     1 Digit & 2 Characters
Distric    1 Digit & 1 Character     1 Digit & 2 Characters

Any help would be great

many thanks
SteveStart Free Trial
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
For Each r1 As String In District
            s1 = r1
 
            For Each r2 As String In Digit1
                s2 = s1 & r2 & " "
                For Each r3 As String In Digit1
                    s3 = s2 & r3
                    For Each r4 As String In Alpha2
                             '......do stuff
                    Next
                Next
            Next
 
            'Pass 2
            For Each r2 As String In Digit2
                s2 = s1 & r2 & " "
                For Each r3 As String In Digit1
                    s3 = s2 & r3
                    For Each r4 As String In Alpha2
                             '......do stuff
                    Next
                Next
            Next
 
            'Pass 3
            For Each r2 As String In Digit1
                s2 = s1 & r2
                For Each r3 As String In Alpha1
                    s3 = s1 & s2 & r3 & " "
                    For Each r4 As String In Digit1
                        s4 = s3 & r4
                        For Each r5 As String In Alpha2
                             '......do stuff
                        Next
                    Next
                Next
            Next
        Next
 
 
[+][-]06.14.2008 at 02:20AM PDT, ID: 21784672

View this solution now by starting your 7-day free trial. Setting up your free trial is quick, easy, and secure. We will return you to this solution, unlocked, when you're done.

 

About this solution

Zones: Microsoft Visual Basic.Net, .NET
Sign Up Now!
Solution Provided By: angelIII
Participating Experts: 1
Solution Grade: A
 
 
[+][-]06.14.2008 at 06:06AM PDT, ID: 21785228

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 7-day free trial to view this Author Comment or ask the Experts your question.

 
[+][-]06.14.2008 at 06:13AM PDT, ID: 21785282

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 7-day free trial to view this Author Comment or ask the Experts your question.

 
 
Loading Advertisement...
20080716-EE-VQP-32 / EE_QW_EXPERT_20070906