Gary, Bill, Peter, others
 
Thanks for your response. Unfortunatelly there hasn't been much activity on undocumented stuff during my vacation, so I figure the hoover functions remains undocumented for now. I'll let you know if I ever figure out what kind of data theese are built for.
 
I'm still waiting your responses for language identification words that can be extracted with following code I mailed earlier. I did made minor change though to catch the 'User defined error' -string, which seem to be pretty good identification string. (Right now I have English, Finnish and Danish versions, so I'm still missing plenty of MapInfo localization languages.)
 
I'll sum theese later on and pass the result to Bill Thoen for archive.
 
Thanks in advance,
    Anssi
 
 
***********************************

Include "mapbasic.def"

Declare Sub Main

Declare Sub Errorlist

Global i, iRange As Integer

Global strDump As String

Sub Main

CLS

Dim fname As String

iRange = 2^16/2

fname = PathToDirectory$(TempFileName$("")) & "mapinfo.err"

Open File fname For Output As #1 Charset "WindowsLatin1"

i = 1

ProgressBar "Checking errorlist..." Calling Errorlist Range iRange

If CommandInfo(CMD_INFO_STATUS) Then

Note "Operation completed"

Else

Note "Operation interrupted"

End If

Close File #1

Run Program "Notepad.exe " & fname

End Sub

Sub Errorlist

Dim iError, iLoop, j As Integer

Dim strError As String

Dim start_time As Float

start_time = Timer()

OnError Goto PRINTERROR

Do While i < iRange And Timer() - start_time < 1

'for some reason following three codes will freeze the machine

If i Not In(2209,2212,6244) Then

Error i

End If

BACKAGAIN:

i = i+1

Loop

If i > iRange-1 Then

ProgressBar = -1

Else

ProgressBar = i

End If

Exit Sub

PRINTERROR:

strError = LTrim$(RTrim$(Error$()))

iError = Err()

strDump = Format$(iError,"00000") & " " & Right$(strError,Len(strError)-InStr(1,strError,")"))

iLoop = 1

Do While iLoop

iLoop = InStr(iLoop+1,strDump,Chr$(10))

If iLoop Then

strDump = Left$(strDump, iLoop) & Chr$(9) & Chr$(9) & Right$(strDump, Len(strDump)-iLoop)

End If

Loop

 

If Right$(strError,Len(Str$(i))+1) <> Str$(i) & "."  Or i = 1 Then

Print #1, strDump

End If

If i < iRange Then

Resume BACKAGAIN

Else

Exit Sub

End If

End Sub

'***********************************
 

Reply via email to