Indigo Rose Software

Professional Software Development Tools

 
Results 1 to 4 of 4
  1. #1
    Join Date
    Jun 2002
    Location
    Montreal, Canada
    Posts
    173

    problems parsing text file...

    Guys

    geezzz i cant get that simple thing to work!!

    I got a text file and i want to extract specific information from it. I tried couple of different approach (texte file to table then table to string then string.find action.... and so on) but cant get that to work. Below is pasted a sample of the text file. What i want to do is each time i find a line that contains "LoginName = {" then i went to extract the line next to that one (ex: _vs = "ECON-APOGEEHALL\\SIEMENS\000") up to the end of the file. the goal will be to take all the extracted lines to populate a listbox. But if you can help me out with the first part of extracting the needed lines, i should be fine for the rest!

    Thanks in advance for any help you can give me!

    sample text file starts here:
    -----------------------------------------------------------------------------------
    %scopeNames = {
    }
    Origin = 1
    FirstGraphicName = {
    _vs = "H-HALL.DYN.HALL\000"
    }
    Initials = {
    _vs = "srd\000"
    }
    Language = 1033
    LoginName = {
    _vs = "PHYSICAL_******\\srdube\000"
    }
    OperatorName = {
    _vs = "Steve Ranger Dub\351\000"
    }
    Preference = 1
    m_schedulerAccessSlidingWindow = 0
    m_usePreferredAccessGroups = 0
    m_supervisor = 0
    FunctionalAccess = {
    [0] {
    DataType = 1
    Level = 3
    }
    [1] {
    DataType = 2
    Level = 1
    }
    [2] {
    DataType = 20
    Level = 1
    }
    [3] {
    DataType = 3
    Level = 2
    }
    [4] {
    DataType = 21
    Level = 1
    }
    [5] {
    DataType = 17
    Level = 1
    }
    [6] {
    DataType = 5
    Level = 1
    }
    [7] {
    DataType = 11
    Level = 1
    }
    [8] {
    DataType = 14
    Level = 2
    }
    [9] {
    DataType = 4
    Level = 1
    }
    [10] {
    DataType = 7
    Level = 1
    }
    [11] {
    DataType = 6
    Level = 1
    }
    [12] {
    DataType = 23
    Level = 1
    }
    [13] {
    DataType = 8
    Level = 1
    }
    [14] {
    DataType = 9
    Level = 1
    }
    [15] {
    DataType = 18
    Level = 1
    }
    [16] {
    DataType = 16
    Level = 1
    }
    [17] {
    DataType = 12
    Level = 1
    }
    [18] {
    DataType = 10
    Level = 1
    }
    }
    bi-assoc INSIGHT_ACCESS_CONFIGURE = {
    #37-4-1-9
    #37-4-1-11
    }
    }

    #37-3-2-37 = {
    %class = "*/ATOMInsightAccount%1"
    %versioningMode = oocNoVers
    %scopeNames = {
    }
    Origin = 1
    FirstGraphicName = {
    _vs = "H-HALL.DYN.HALL\000"
    }
    Initials = {
    _vs = "SBTT\000"
    }
    Language = 1033
    LoginName = {
    _vs = "ECON-APOGEEHALL\\SIEMENS\000"
    -------------------------------------------------------------------------------

  2. #2
    Join Date
    Nov 2003
    Location
    Salzburg / Austria
    Posts
    312
    A little help

    Stefan
    Attached Files

  3. #3
    Join Date
    Jun 2002
    Location
    Montreal, Canada
    Posts
    173
    Stefan

    I dont know what to say man!

    Thank you so much! the scripting language seem lot easier for you than it is for me. Hope i will be as confortable as you and others are with it. I will try to read your code and catch the trick! i tried it and it works like a champ but i want to learn! eh eh.

    Hope i will be able to return you the favor one day!


    Thanks a zillion times

    Martin

  4. #4
    Join Date
    Nov 2003
    Location
    Salzburg / Austria
    Posts
    312
    Remarks

    -- set File to parse
    ParseFile="Siemens.txt"
    -- set folder that holds the file to parse
    ParseFolder=_SourceFolder.."\\Autoplay\\Docs\\"
    -- text to search for
    ParseText="LoginName"


    -- read file into table
    ParseTable = TextFile.ReadToTable(ParseFolder..ParseFile);
    -- get the the total number of items in the table.
    TableLines = Table.Count(ParseTable);

    -- run through all table items
    for count = 1, TableLines do
    -- search for "ParseText" in ervery line of hte Table
    if (String.Find(ParseTable[count], ParseText, 1, false))~=(-1) then
    -- if the the string is found -> decrement counter "count" to go to the next line of the table
    count=count+1;
    -- this line holds the string you want
    -- add the tableline to the listbox
    result = ListBox.AddItem("ListBox1", ParseTable[count], "");
    end
    end

    Hope it helps to understand
    Stefan

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts