Jump to content

_StringBetween() Fails in my case


Go to solution Solved by BrewManNH,

Recommended Posts

Posted (edited)

My code is the following:

#include <Array.au3>
#include <String.au3>

$File = InetRead("http://msdn.microsoft.com/en-us/library/windows/desktop/ms633494%28v=vs.85%29.aspx")
If @error Then ThrowError("InetRead Failed")
$File = BinaryToString($File, 4)
ClipPut($File)
$str = _StringBetween($File, "<dt>", ".dll</dt>")
If @error Then ThrowError("StringBetween Failed " & @error)

_ArrayDisplay($str)
MsgBox(0,"", $str[0])

Func ThrowError($error)
    MsgBox(0,"", $error)
    Exit
EndFunc

If you have a look at the target website, you can find the following substring, which I'd like to find:

</th><td>
<dl>
<dt>User32.dll</dt>
</dl>
</td></tr>

I'd like to extract that User32 text.

I can't see why my script fails all the time. Could anyone help me?

Thank you!

Edited by Unc3nZureD
Posted

I'm not sure if InetRead works this way and I did no testing, but you are only testing the @error of BinaryToString and not if InetRead fails.

Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs, and the Universe
trying to produce bigger and better idiots.
So far, the Universe is winning.

Posted (edited)

Oh, that's just a mistake, the InetRead works surely.

_StringBetween returns error & the whole HTML file.

( I edited the 1st post, to represent, what I actually wanted :) )

Edited by Unc3nZureD
  • Solution
Posted

It's not failing, it's finding the first instance of <dt>, and stopping at the first instance of .dll</dt>. Unfortunately, the text you're getting back is not what you're expecting because it's using a Regex that matches exactly what you asked for, but not what you wanted.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...