Top DevX Stories
Creating Custom Export Filters for StarOffice with XSLT
WPF Wonders: Using DataTemplates
Crystal Reports Family Offers Options for Developers
Avaya Aura Session Manager video
Avaya Aura Overview video
Search the forums:
  #1  
Old 10-20-2009, 12:06 AM
Drew_gable Drew_gable is offline
Registered User
 
Join Date: Sep 2004
Location: Northampton,United Kingdom
Posts: 219
Exclamation Array advice

Hi all,

I have an array that has the following data


501837430761
501837430762
501837430763
501837430764
501837430765
501837430766
501837430766
Void,1,501837430766
501837430767
501837430768
501837430769

What I need to do is when ever it read's the Void,1,501837430766 line i would like to remove the number (1) from the array (in this case it would remove the extra 5018374320766 from the list and then removes the Void line.

I have been trying to figure this out for the last 7hrs with no good.

The following is what I have come up with so far

Code:
Public DataStorage      As String
Public LineData         As String
Public FreeNumber       As String
 
Private Sub Command1_Click()
    FreeNumber = FreeFile
    Open "c:\Data1.dat" For Input As #FreeNumber
        Do While Not EOF(FreeNumber)
            Input #FreeNumber, LineData
            List1.AddItem LineData
        Loop
    Close FreeNumber
    
 
    Dim k As Long
    With List1
        For k = .ListCount - 1 To 0 Step -1
            If InStr(1, .List(k), "VOID", vbTextCompare) > 0 Then
                .RemoveItem (k)
                .RemoveItem (k - 1)
            End If
        Next
    End With
End Sub

Private Sub Command2_Click()
FreeNumber = FreeFile

    Open "c:\SKUData.dat" For Output As #FreeNumber
        Print #FreeNumber, DataStorage
    Close FreeNumber
End Sub

Private Sub Form_Load()
    DataStorage = ""
    DataStorage = DataStorage & "5018374320761" & vbNewLine
    DataStorage = DataStorage & "5018374320762" & vbNewLine
    DataStorage = DataStorage & "5018374320763" & vbNewLine
    DataStorage = DataStorage & "5018374320764" & vbNewLine
    DataStorage = DataStorage & "5018374320765" & vbNewLine
    DataStorage = DataStorage & "5018374320766" & vbNewLine
    DataStorage = DataStorage & "5018374320766" & vbNewLine
    DataStorage = DataStorage & "Void,1,5018374320766" & vbNewLine
    DataStorage = DataStorage & "5018374320767" & vbNewLine
    DataStorage = DataStorage & "5018374320768" & vbNewLine
    DataStorage = DataStorage & "5018374320769" & vbNewLine
    DataStorage = DataStorage & "5018374320770" & vbNewLine
    DataStorage = DataStorage & "5018374320771" & vbNewLine
    DataStorage = DataStorage & "5018374320772" & vbNewLine
    DataStorage = DataStorage & "5018374320773" & vbNewLine
    DataStorage = DataStorage & "5018374320774" & vbNewLine
    DataStorage = DataStorage & "5018374320775" & vbNewLine
    DataStorage = DataStorage & "5018374320776" & vbNewLine
End Sub
if someone could help I would BE FOREVER greatfull as I think this
has given me a nervous brakedown (After I have finished this project I am SOO having a Vacation)

Thanks for all your advice in advance guys & Gals

Drew
__________________
Drew

EPoS made simple
www.jasonpos.co.uk | www.jasonpos.com
Reply With Quote
  #2  
Old 10-20-2009, 02:34 AM
gibra's Avatar
gibra gibra is offline
Registered User
 
Join Date: Mar 2009
Location: Italy - Breganze (VI)
Posts: 75
First, you can get the whole contents of file:
Next, check duplicate 'before' to add to listbox:

Code:
'---------- Declaration ---------- 
Dim sFileDat As String
Private Declare Function SendMessageString Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Const LB_FINDSTRING = &H18F
Const LB_FINDSTRINGEXACT = &H1A2

'---------- code ---------- 
Public Function GetTextFile(ByVal sPathFile As String, _
        Optional ByVal bBinaryMode As Boolean = False) As String
    Dim fnum As Integer
    fnum = FreeFile()
    If bBinaryMode Then
        Open sPathFile For Binary As #fnum
    Else
        Open sPathFile For Input As #fnum
    End If
    GetTextFile = Input(LOF(fnum), fnum)
    Close #fnum
End Function

Private Sub cmdReadData2_Click()
    Dim sContents As String
    Dim sAr() As String
    Dim i As Long

    sFileDat = "C:\DATA1.DAT"

    sContents = GetTextFile(sFileDat)
    sAr = Split(sContents, vbNewLine)
    
    For i = 0 To UBound(sAr)
        If InStr(sAr(i), "Void,1,") = 0 Then
            If SearchStringListBox(List1, sAr(i)) = -1 Then
                List1.AddItem sAr(i)
            End If
        End If
    Next i
End Sub

Public Function SearchStringListBox(ByRef lb As ListBox, ByVal sSearch As String) As Long
    Rem Return -1 if item not exists
    SearchStringListBox = SendMessageString(lb.hWnd, LB_FINDSTRINGEXACT, -1, sSearch)
End Function

Last edited by gibra; 10-20-2009 at 02:57 AM.
Reply With Quote
  #3  
Old 10-20-2009, 02:46 AM
vb5prgrmr vb5prgrmr is offline
Registered User
 
Join Date: Jun 2009
Posts: 46
I tried your code...
Code:
Option Explicit

Private Sub Form_Load()

List1.AddItem "5018374320761"
List1.AddItem "5018374320762"
List1.AddItem "5018374320763"
List1.AddItem "5018374320764"
List1.AddItem "5018374320765"
List1.AddItem "5018374320766"
List1.AddItem "5018374320766"
List1.AddItem "Void,1,5018374320766"
List1.AddItem "5018374320767"
List1.AddItem "5018374320768"
List1.AddItem "5018374320769"
List1.AddItem "5018374320770"
List1.AddItem "5018374320771"
List1.AddItem "5018374320772"
List1.AddItem "5018374320773"
List1.AddItem "5018374320774"
List1.AddItem "5018374320775"
List1.AddItem "5018374320776"
End Sub

Private Sub Command1_Click()
Dim k As Long
With List1
  For k = .ListCount - 1 To 0 Step -1
    If InStr(1, .List(k), "VOID", vbTextCompare) > 0 Then
      .RemoveItem (k)
      .RemoveItem (k - 1)
    End If
  Next
End With
End Sub
and it works fine for me!!!



Good Luck

Edit: However, your code does rely upon everything being in just the right order...

Last edited by vb5prgrmr; 10-20-2009 at 02:48 AM.
Reply With Quote
Reply

Bookmarks

Tags
advice, arrays

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Reversing an Array Tmcclain Java 7 02-13-2009 11:57 PM
string array in c++ emeric C++ 11 07-16-2007 10:36 PM
C++ solutions for : [Object-Oriented Programming in C++, Third Edition] Amahdy C++ 24 12-27-2006 03:14 PM
redim help !!! angelito VB Classic 1 11-21-2005 07:16 AM
Dynamically allocating a 2d array nnp C++ 6 11-01-2005 10:05 AM


All times are GMT -4. The time now is 01:03 AM.


Sponsored Links



Acceptable Use Policy

internet.comMediabistrojusttechjobs.comGraphics.com

WebMediaBrands Corporate Info


Advertise | Newsletters | Feedback | Submit News

Legal Notices | Licensing | Permissions | Privacy Policy


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.