Jump to content

How to count rows in _StringBetween


Recommended Posts

Hi, have here some alternative method to count rows..

I can't use StringSplit coz array is already buided with _StringBetween, some tips pls,

Reproducer code:

#include <String.au3>
#include <Array.au3>
#include <IE.au3>
$file = @TempDir&'\au3test.tmp'
ConsoleWrite('File = '&$file&@CRLF)
$oIE = _IECreate('http://autoitscript.com/forum',0,0)
_IELoadWait($oIE)
$sHTML = _IEBodyReadHTML($oIE)
$wFile = FileWrite($file,$sHTML)
$nFileHTML = FileOpen($file, 0)
If @error then ConsoleWrite('error with FileOpen($file, 0)'&@CRLF)
While 1
Local $aArray[10], $aRead = FileReadLine($nFileHTML)
If @error then ExitLoop
$aSearch = StringInStr($aRead,'<LI><SPAN')
If $aSearch > 0 Then
  $aArray = _StringBetween($aRead, 'href="', '"')
  _ArrayDisplay($aArray)
EndIf
WEnd
ProcessClose('IEXPLORE.EXE')
FileDelete($file)

Thanks in advance for any tips.

Tedy.

[center][font=courier new,courier,monospace]Die die die my darling[/font][/center][center][font=courier new,courier,monospace]Don't utter a single word[/font][/center][center][font=courier new,courier,monospace]Die die die my darling[/font][/center][center][font=courier new,courier,monospace]Just shut your pretty mouth[/font][/center][center][font=courier new,courier,monospace]I'll be seeing you again[/font][/center][center][font=courier new,courier,monospace]I'll be seeing you[/font][/center][center][font=courier new,courier,monospace]In hell[/font][/center]

Link to comment
Share on other sites

What exactly are you looking for? What tips do you need?

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

Link to comment
Share on other sites

Ok, i think that i resolved it,

i just need to read each line of _StringBetween,

and don't know how to stop loop coz don't know how many rows that have..

I think solution is by adding new while:

$i = 0[/size]
[size=3]While 1
$string = _ArrayToString($aArray,'',$i,$i)
If $string = '' then ExitLoop
ConsoleWrite($string&@CRLF)
MsgBox(0,'',$string)
$i+=1
WEnd

full code:

#include <String.au3>
#include <Array.au3>
#include <IE.au3>
$file = @TempDir&'au3test.tmp'
Dim $aArray[10]
ConsoleWrite('File = '&$file&@CRLF)[/size]
[size=3]$oIE = _IECreate('http://autoitscript.com/forum',0,0)
_IELoadWait($oIE)
$sHTML = _IEBodyReadHTML($oIE)
$wFile = FileWrite($file,$sHTML)
$nFileHTML = FileOpen($file, 0)
If @error then ConsoleWrite('error with FileOpen($file, 0)'&@CRLF)
While 1
Local $aRead = FileReadLine($nFileHTML)
If @error then ExitLoop
$aSearch = StringInStr($aRead,'<LI><SPAN')
If $aSearch > 0 Then
  $aArray = _StringBetween($aRead, 'href="', '"')
  _ArrayDisplay($aArray)
EndIf
WEnd[/size]
[size=3]$i = 0[/size]
[size=3]While 1
$string = _ArrayToString($aArray,'',$i,$i)
If $string = '' then ExitLoop
ConsoleWrite($string&@CRLF)
MsgBox(0,'',$string)
$i+=1
WEnd[/size]
[size=3]ProcessClose('IEXPLORE.EXE')
FileDelete($file)

[center][font=courier new,courier,monospace]Die die die my darling[/font][/center][center][font=courier new,courier,monospace]Don't utter a single word[/font][/center][center][font=courier new,courier,monospace]Die die die my darling[/font][/center][center][font=courier new,courier,monospace]Just shut your pretty mouth[/font][/center][center][font=courier new,courier,monospace]I'll be seeing you again[/font][/center][center][font=courier new,courier,monospace]I'll be seeing you[/font][/center][center][font=courier new,courier,monospace]In hell[/font][/center]

Link to comment
Share on other sites

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
 Share

×
×
  • Create New...