Reading Applied Solutions .DAT and .IDX files

Posted on 2008-10-08
Medium Priority
Last Modified: 2013-11-15
I need help converting ASI .dat and .idx files to a readable format. A similar post to this from 1/2004 failed to mention that this software was developed by Fred Smith (ASI's owner) as a powersports dealer management and inventory control software- This is NOT the same ASI which is currently a security software company today. Fred Smith's ASI company went out of business in the early 90's and originally ran on a THEOS operating system. Fred ported the software for us in the late 90's to run in the windows environment through an emulator. I think Fred may have passed away as there have been no replies from him since April 2008. I desperately need to update price files, but first I have to be able to understand the format. I hope someone can help.

The price updates consist of a .dat file and a .idx file. I will include the first few lines from the files:
First from the .dat file:
0NH622212000HD SHOCK SPRING,  7602A
0NH623141000HD FORK SPRING    7200A
101811111000BRUSH             1488A
102111810000S/S 102111810100     4D
102111810100GASKET,CYL HEAD    430A
102113610000S/S 109113610000     4D
102114000000S/S 102114000100  2915A
102114220000S/S 102114220100  1307A
102116330100S/S 102116330200   102A

The entire file looks like above.
Now from the .idx file:

  þSÿ   (                   ÖÙ  .  ÖÚ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ÿ~  "30X1163101Y0  æ30X1163101Y0  ç                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ò0NH622212000   0NH623141000   0WG390801010   0WG411311300   0WG413555100   0WG413625010   0WG413625110   0WG4A2460000   0WK811311000         0WK811351300  
0WK811631200   0WK8250EG010   101156360000  
101156370000   101161340000   101163110000   101163210000   101163280000   101181370000   101212770000   101212790000   101217900000   101241870000   101243560000   101245150000   101247230000   101254120000   101272160000   101283230000   101811111000   102111810000                  r4ES2173F2000  ÖÓ4ES2173F2100  ÖÔ4ES2173F3000  ÖÕ4ES2173F4000  ÖÖ4ES2173F5000  Ö×4ES2173L0000  ÖØ4ES2173L0100  ÖÙ                                  

Some of the file is readable and some uses special characters. Does anyone know this files format? can you recommend a software product to read the contents of these files or better, upconvert ascii files to the correct format?

Thanks in advance!
Question by:J_Conaway
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
LVL 38

Expert Comment

by:Jim P.
ID: 22678598
It looks like the .dat files are the ones you have to worry about, and not the index files.

Are you trying to continue using the software, or are you just trying to extract it to use in a new application. If just trying to extract it, you can probably build a data importer using VBA and an Access DB and extract it that way. If you're trying to edit data that gets into a much messier issue.

Author Comment

ID: 22680055
I am just trying to extract data at this time, however if possible, we would like to continue using the app.
The price files are designed to import to the application to update pricing in the database. If I can determine the format used, I thought that I could recreate the files with new data. I am very familiar with Access, but not so with VBA import. Could you describe the process?

LVL 38

Accepted Solution

Jim P. earned 1500 total points
ID: 22680849
Just so you know what I'm seeing, the special characters render oddly in Firefox.

Anyway, the code below is something I'm using to read a normal text file output from a vbscript. You would have to adapt it for your table and filed names but this is the general method to get it done.
Public Function Import_DLL_Info_From_File()
'Declare variables
Dim FileNum As Integer
Dim InputFile As String
Dim InputString As String
Dim StringArray() As String
Dim TableName As String
Dim DB As Database
Dim RS As Recordset
Dim SQL As String
'I work with a sample or "base" table that is empty and I copy the structure _
 and load the data into the new table. That way I don't have to constantly _
 empty the results table.
TableName = "DLL_Attributes_PreRemove"
DoCmd.SetWarnings False
DoCmd.DeleteObject acTable, TableName
DoCmd.CopyObject , TableName, acTable, "DLL_Attributes_Base"
DoCmd.SetWarnings True
'Opening the table to write to
Set DB = CurrentDb()
Set RS = DB.OpenRecordset(TableName)    '<-- Change to your tablename
'Opening the file to read from
FileNum = FreeFile()
InputFile = "C:\Temp\dll_attributes1_12_18.txt"        '<-- Change to your folder and path
Open InputFile For Input Access Read Shared As #FileNum
Line Input #FileNum, InputString   '<-- get rid of the header line
Do Until EOF(FileNum) = True
    Line Input #FileNum, InputString            'Read the data in
    'Figure out what the ASCII number of the character(s) that separate _
     the columns and use the line below to replace them. If it is two _
     characters you can replace them both. Uncomment the line as needed.
    'InputString = Replace(InputString, Chr(128), Chr(9))
    StringArray() = Split(InputString, Chr(9)) '<-- split the InputString on the tab character
    With RS
        !File_Name = Lowest_Dir(StringArray(0))
        !File_Name_Path = StringArray(0)
        !File_Type = StringArray(1)
        !File_Size = StringArray(2)
        !File_Version = StringArray(3)
        !Manufacturer = StringArray(4)
        !Readable_Attr = StringArray(5)
        !Writeable_Attr = StringArray(6)
        !Hidden_Attr = StringArray(7)
        !System_Attr = StringArray(8)
        !Archive_Attr = StringArray(9)
        !Encrypted_Attr = StringArray(10)
        !Compressed_Attr = StringArray(11)
        !Created_Date = StringArray(12)
        !Installed_Date = StringArray(13)
        !Last_Accessed_Date = StringArray(14)
        !Last_Modified_Date = StringArray(15)
    End With
Close #FileNum
Set RS = Nothing
Set DB = Nothing
End Function

Open in new window

LVL 38

Expert Comment

by:Jim P.
ID: 22688475
What could I have done to make this a an A grade?


Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Invest in your employees with these five simple steps to improve employee engagement and retention.
If you're a modern-day technology professional, you may be wondering if certifications are really necessary. They are. Here's why.
An overview on how to enroll an hourly employee into the employee database and how to give them access into the clock in terminal.
This is used to tweak the memory usage for your computer, it is used for servers more so than workstations but just be careful editing registry settings as it may cause irreversible results. I hold no responsibility for anything you do to the regist…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question