User Name Password Register
DaniWeb IT Discussion Community
All
What is DaniWeb IT Discussion Community?
You're currently browsing the Visual Basic 4 / 5 / 6 section within the Software Development category of DaniWeb, a massive community of 426,815 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 1,932 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our Visual Basic 4 / 5 / 6 advertiser: Programming Forums
Views: 639 | Replies: 7
Reply
Join Date: Jul 2008
Posts: 31
Reputation: Teropod is an unknown quantity at this point 
Rep Power: 1
Solved Threads: 6
Teropod Teropod is offline Offline
Light Poster

Using array like pattern matching?

  #1  
Jul 15th, 2008
Is there any way how i could compare arrays like pattern matching or should i write my own code?

Thanks.
AddThis Social Bookmark Button
Reply With Quote  
Join Date: Jun 2007
Posts: 78
Reputation: manoshailu is an unknown quantity at this point 
Rep Power: 2
Solved Threads: 6
manoshailu's Avatar
manoshailu manoshailu is offline Offline
Junior Poster in Training

Re: Using array like pattern matching?

  #2  
Jul 16th, 2008
Hi,

You can use Like Operator or StrComp Function for Pattern Matching in Array Variable or any other Variable. You can compare the Values like below Given:

1) Bring the Array Values in loop and check the Value like this

IF a(I) LIKE "*a*" THEN
-----
-----
END IF
You can refer more about the Like Operator in

http://msdn.microsoft.com/en-us/libr...xw(VS.71).aspx


2) You can use StrComp Function like this

IF StrComp(a(I), "a") THEN
-----
-----
END IF



Shailaja



Originally Posted by Teropod View Post
Is there any way how i could compare arrays like pattern matching or should i write my own code?

Thanks.
Reply With Quote  
Join Date: Jul 2008
Posts: 31
Reputation: Teropod is an unknown quantity at this point 
Rep Power: 1
Solved Threads: 6
Teropod Teropod is offline Offline
Light Poster

Re: Using array like pattern matching?

  #3  
Jul 16th, 2008
And there is no way to find "pattern" of one array in other? something like a(0) = b, a(1) = c and b(0) = a, b(1) = b, b(2) = c, b(3) = d.

bool = a like *b*

???
Reply With Quote  
Join Date: Jun 2007
Posts: 78
Reputation: manoshailu is an unknown quantity at this point 
Rep Power: 2
Solved Threads: 6
manoshailu's Avatar
manoshailu manoshailu is offline Offline
Junior Poster in Training

Re: Using array like pattern matching?

  #4  
Jul 18th, 2008
hi,

You can do like below when using the variable instead of values.


IF a(0) like "*" & b & "*" THEN
-----------
-----------
END IF


Shailaja

Originally Posted by Teropod View Post
And there is no way to find "pattern" of one array in other? something like a(0) = b, a(1) = c and b(0) = a, b(1) = b, b(2) = c, b(3) = d.

bool = a like *b*

???
Reply With Quote  
Join Date: Jul 2008
Posts: 31
Reputation: Teropod is an unknown quantity at this point 
Rep Power: 1
Solved Threads: 6
Teropod Teropod is offline Offline
Light Poster

Re: Using array like pattern matching?

  #5  
Jul 18th, 2008
Private Sub Command1_Click()
Dim A(2) As String
Dim B(4) As String

    A(0) = 3
    A(1) = 2
    A(2) = 67
    
    B(0) = 89
    B(1) = 3
    B(2) = 2
    B(3) = 67
    B(4) = 99
    
    If A(0) Like "*" & B & "*" Then
        MsgBox "ahoy"
    End If
    
End Sub

It looks like ill have to use loops, because these is not working. And i don't need one value i need to find is one entire dimension of array in other. I am afraid loops will last too long.

Originally Posted by manoshailu View Post
hi,

You can do like below when using the variable instead of values.


IF a(0) like "*" & b & "*" THEN
-----------
-----------
END IF


Shailaja
Last edited by Teropod : Jul 18th, 2008 at 3:11 am.
Reply With Quote  
Join Date: Jun 2007
Posts: 78
Reputation: manoshailu is an unknown quantity at this point 
Rep Power: 2
Solved Threads: 6
manoshailu's Avatar
manoshailu manoshailu is offline Offline
Junior Poster in Training

Re: Using array like pattern matching?

  #6  
Jul 18th, 2008
hi,

Array can be used only by loops and that could be very if u understand wel.
Try the below coding and if you have any doubts in below codings you can ask me i will explain u in detail.

In Below coding, i had used nested loop (i.e). Loop is nothing but Loop is to make a rotation until it gets the end value. If it is Nested Loop then 2 loops used (i.e)
For i = 0 to 10 'Outer Loop
For j = 0 to 5 'Inner Loop
---------
Next
Next

Outer Loop have the value and comes to the inner loop. Then the inner loop starts the rotation until it getting the end value after that move to the outer loop and goes on until the outer loop ends. Simply we can say one element of outer loop compare with all element in the inner loop.

If u understand the loop concept clearly then only u can do anything in any language.





[quote=Teropod;650258]
Private Sub Command1_Click()
Dim A(2) As String
Dim B(4) As String
Dim intI as Integer       'intI Variable for A()
Dim intj as Integer       'intJ Variable for B()

    A(0) = 3
    A(1) = 2
    A(2) = 67
    
    B(0) = 89
    B(1) = 3
    B(2) = 2
    B(3) = 67
    B(4) = 99
    
 'Nested Loop
     For intI = 0 to Ubound(A)
           For intJ = 0 to Ubound(B)  'Loop works until the size of the B() Array
                If A(intI) Like "*" & B(intJ) & "*" Then  'A() compared with the all element in the B() 
                      MsgBox A(intI)
                End If
          Next
     Next  

    
End Sub

Shailaja

Originally Posted by Teropod View Post
Private Sub Command1_Click()
Dim A(2) As String
Dim B(4) As String

    A(0) = 3
    A(1) = 2
    A(2) = 67
    
    B(0) = 89
    B(1) = 3
    B(2) = 2
    B(3) = 67
    B(4) = 99
    
    If A(0) Like "*" & B & "*" Then
        MsgBox "ahoy"
    End If
    
End Sub

It looks like ill have to use loops, because these is not working. And i don't need one value i need to find is one entire dimension of array in other. I am afraid loops will last too long.
Reply With Quote  
Join Date: Jul 2008
Posts: 31
Reputation: Teropod is an unknown quantity at this point 
Rep Power: 1
Solved Threads: 6
Teropod Teropod is offline Offline
Light Poster

Re: Using array like pattern matching?

  #7  
Jul 18th, 2008
Tanks but i wanted to avoid that because i am using 3d arrays with 100+ values per one i was hoping i could do it faster.
Reply With Quote  
Join Date: Jun 2007
Posts: 78
Reputation: manoshailu is an unknown quantity at this point 
Rep Power: 2
Solved Threads: 6
manoshailu's Avatar
manoshailu manoshailu is offline Offline
Junior Poster in Training

Re: Using array like pattern matching?

  #8  
Jul 22nd, 2008
Hi,

Try this one. I think this may be useful to u.

Private Sub Command1_Click()
Dim A(2) As String
Dim B(4) As String
Dim C as String
    A(0) = 3
    A(1) = 2
    A(2) = 67
    
    B(0) = 89
    B(1) = 3
    B(2) = 2
    B(3) = 67
    B(4) = 99

    IF UBound(Filter(B, A(0), True, vbTextCompare)) >-1 THEN
          C=Filter(B, A(0), True, vbTextCompare)    
           MsgBox C(0)
    End If
    
End Sub

To Know more

http://www.vb6.us/tutorials/vb-strin...it-join-filter


Shailaja

Originally Posted by Teropod View Post
Tanks but i wanted to avoid that because i am using 3d arrays with 100+ values per one i was hoping i could do it faster.
Reply With Quote  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.

DaniWeb Visual Basic 4 / 5 / 6 Marketplace
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 

Thread Tools Display Modes

Similar Threads
Other Threads in the Visual Basic 4 / 5 / 6 Forum

All times are GMT -4. The time now is 8:11 am.
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC