seesoe Posted February 28, 2009 Share Posted February 28, 2009 hello, i have 2 files submitted.txt and done.txt for helps sake, in the submitted file i have a php script that writes a line to it every time it is executed, the line structure is like this: [x,x,x] im trying to read the last line in the submitted file ([x,x,x]) and put the first x in a var ($id) and then when im done messing with it i want MOVE the line ([x,x,x]) to the done file i can't seem to figure it out, it sounds easy to me but when i try to do it i get lost. if anyone can help please that would be greatly appreciated:), thanks cheers seesoe Link to comment Share on other sites More sharing options...
Authenticity Posted February 28, 2009 Share Posted February 28, 2009 What about _FileReadToArray() and StringRegExp? Link to comment Share on other sites More sharing options...
seesoe Posted February 28, 2009 Author Share Posted February 28, 2009 well technically the submitted file will only have one [] line in it, because the script will move it to done.txt when it sees a line in there, i was able to read that line with _FileReadToArray(), but i don't really understand StringRegExp... Link to comment Share on other sites More sharing options...
Authenticity Posted February 28, 2009 Share Posted February 28, 2009 Well, you can show more than just generic structure like [x,x,x] because this way it's sufficient to StringSplit it with a comma and StringTrimLeft and StringTrimRight by 1 character on the second and the last array element returned by StringSplit (the first element holds the array size). Link to comment Share on other sites More sharing options...
seesoe Posted March 1, 2009 Author Share Posted March 1, 2009 ok so i have the following done $submit = "submitted.txt" $done = "done.txt" While 1 $order_size = FileGetSize($submit) If $order_size > 0 Then Dim $aRecords If Not _FileReadToArray($submit,$aRecords) Then MsgBox(4096,"Error", " Error reading log to Array error:" & @error) Exit EndIf $file_line_1 = StringTrimLeft($aRecords[1], 1) $file_line_2 = StringTrimRight($file_line_1, 1) $file_line_3 = StringSplit($file_line_2, "~") $id_1 = StringTrimLeft($file_line_3[1], 4) $id = StringTrimRight($id_1, 1) $url = _HTTPEncodeString($var&"="&$id) $socket = _HTTPConnect($host) $get = _HTTPPost($host,$page,$socket,$url) $recv = _HTTPRead($socket,1) MsgBox(0, '', $recv[4]&" "&$order_size) FileWriteLine($done, $aRecords[1]) FileWrite($submit, "") Exit EndIf WEnd im now stuck on 2 things.. 1. im trying to figure out a better way to keep tabs on the $submit file when it gets written to, normally the file is 0kb until an order is placed, when that happens it goes to about 200kb, then this script runs and will move that line to another file, thusly setting $submit back to 0kb, you get my drift, im trying to make it where it will work that way though. 2. the 4th from the bottom line, above that line i write the first collected line from submitted.txt to done.txt, then i want to clear the submitted.txt file, but im not sure how to do that. again thank you:) cheers seesoe Link to comment Share on other sites More sharing options...
seesoe Posted March 1, 2009 Author Share Posted March 1, 2009 (edited) autoit never ceases to amaze me in how easily things come together regardless of a noob or not:) expandcollapse popup#include <String.au3> #include <GuiListView.au3> #include <HTTP.au3> #include <GUIConstants.au3> #include <file.au3> $submit = "submitted.txt" $done = "done.txt" $host = "www.site.com" $page = "/printed.php" $var = "order_id" ;$id = "1" While 1 $order_size = FileGetSize($submit) $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then Exit EndIf If $order_size > 0 Then FileOpen($submit, 0) Dim $aRecords If Not _FileReadToArray($submit,$aRecords) Then MsgBox(4096,"Error", " Error reading log to Array error:" & @error) Exit EndIf $file_line_1 = StringTrimLeft($aRecords[1], 1) $file_line_2 = StringTrimRight($file_line_1, 1) $file_line_3 = StringSplit($file_line_2, "~") $id_1 = StringTrimLeft($file_line_3[1], 4) $id = StringTrimRight($id_1, 1) $url = _HTTPEncodeString($var&"="&$id) $socket = _HTTPConnect($host) $post = _HTTPPost($host,$page,$socket,$url) $recv = _HTTPRead($socket,1) FileClose($submit) MsgBox(0, '', $recv[4]) FileOpen($done, 1) FileWriteLine($done, $aRecords[1]) FileClose($done) FileOpen($submit, 2) FileWrite($submit, "") FileClose($submit) Exit EndIf WEnd thanks again Authenticity, cheers seesoe Edited March 1, 2009 by seesoe Link to comment Share on other sites More sharing options...
seesoe Posted March 3, 2009 Author Share Posted March 3, 2009 i forgot all about the second part of my question about monitoring the submitted.txt file for changes?... how can i accomplish that? Link to comment Share on other sites More sharing options...
qazwsx Posted March 3, 2009 Share Posted March 3, 2009 Well that could be difficult because I don't think you can have 2 streams to the same file open. Perhaps you could check the last modified time? Link to comment Share on other sites More sharing options...
seesoe Posted March 4, 2009 Author Share Posted March 4, 2009 with much failed trials to get something going i finally got something working:)#652017thanks! Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now