SatyaGanesh

How to send ; from autoit ?

12 posts in this topic

Hello All

 

I wanted to generate a HTML table report from data given in text file (a.txt). This i am doing by :

1. Reading data from "a.txt"

1. Writing HTML code from "FileWriteLine" command into "xxx.txt" (taking a.txt data as reference i will be building html code.

2. Renaming the "xxx.txt" to "xxx.html" using "FileCopy" command.

 

Problem is HTML code contains many special characters which cannot be used in autoit like    ;    and  " Can you please let me know how to send these characters in file write line command ?

 

the desired output i.e "xxx.txt" is attached. Please help me!

THANKS

 

latest - Copy.txt

Share this post


Link to post
Share on other sites



#3 ·  Posted (edited)

Use HTML encoding as described here.

Means: Instead of ";" write "&#59;" to your file.

Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

Could you post an example of initial "a.txt" file ?

Share this post


Link to post
Share on other sites

Thank You all .. currently i am following the solution given by JohnOne  

Hi Mikell please check the attached example "a.txt" file.

 

Thank you very much ... :)

Results.txt

Share this post


Link to post
Share on other sites

Well, not 100% sure if this id what you want, but it's for the concept  :)
[be careful when mixing single and double quotes]

#include <File.au3>
#include <Array.au3>

Local $aArray, $n = 0

$sFilePath = @scriptdir & "\Results.txt"
$sFileResult = @scriptdir & "\Results.html"

_FileReadToArray($sFilePath, $aArray, $FRTA_NOCOUNT, @TAB)
;_ArrayDisplay($aArray)

Local $html = "<html><head><meta content='text/html charset=ISO-8859-1'http-equiv='content-type'><title>AUTO-LOGGER Result History</title></head><img src=C:\Autologger\arh.png></big></td></tr></tbody></table><br style='font-family: Calibri'><big style='font-family: Calibri font-weight: bold'> </big>"
$html &= '<br style="font-family: Calibri;"><table style="text-align: left; font-family: Calibri; width: 1285px; height: 40px;" border="1" cellpadding="2" cellspacing="2"><tbody><tr><td style="text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 52px;">Order</td><td style="background-color: rgb(204, 204, 204); font-weight: bold; width: 550px; text-align: center;">    Test Case</td><td style="text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 97px;">Result</td><td style="text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 52px;">Seq-ID</td><td style="text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 400px;">Binary</td><td style="text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 400px;">Location</td><td style="text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 97px;">Setup</td><td style="text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 52px;">Hour</td><td style="text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 52px;">Day</td><td style="text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 52px;">Month</td><td style="text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 52px;">Year</td></tr>'

For $i = 1 to UBound($aArray)-1
    $n += 1
    $html &= '<tr>'
    $html &= '<td style="text-align: center;">' & $n & '</td>'
    For $j = 0 to UBound($aArray, 2)-1
       $html &= '<td style="text-align: center;">' & $aArray[$i][$j] & '</td>'
    Next
    $html &= '</tr>'
Next
$html &= '</tbody></table><br style="font-family: Arial;"></body></html>'

Filewrite($sFileResult, $html)
ShellExecute($sFileResult)

 

Share this post


Link to post
Share on other sites

 


Signature beginning:   Wondering who uses AutoIT and what it can be used for ?
* GHAPI UDF - modest begining - comunication with GitHub REST API *
ADO.au3 UDF     POP3.au3 UDF     XML.au3 UDF    How to use IE.au3  UDF with  AutoIt v3.3.14.x  for other useful stuff click the following button

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API *

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 - BETA * ADO.au3 UDF SMTP Mailer UDF *

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Best coding practices * 

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * 

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2017-06-04

Share this post


Link to post
Share on other sites

Just tripple your quotes

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

Thank You Mikell

I am also following similar type of script: 

The good thing is html also accepts ' instead of "

Now my question is how to get this html data in pdf as well as xls format ? can you help me in that ?

SCITE:

#include <File.au3>
#include <Array.au3>

Local $lines = _FileCountLines(@ScriptDir & "\Results.txt")
            FileWriteLine("C:\Autologger\Result-Historyhtm.txt", "<html><head><meta content='text/html charset=ISO-8859-1'http-equiv='content-type'><title>AUTO-LOGGER Result History</title></head><img src=C:\Autologger\arh.png></big></td></tr></tbody></table><br style='font-family: Calibri'><big style='font-family: Calibri font-weight: bold'> </big><br style='font-family: Calibri'><table style='text-align: left; font-family: Calibri; width: 1285px; height: 40px;' border='1' cellpadding='2' cellspacing='2'><tbody><tr><td style='text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 52px;'>Order</td><td style='background-color: rgb(204, 204, 204); font-weight: bold; width: 550px; text-align: center;'>    Test Case</td><td style='text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 97px;'>Result</td><td style='text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 52px;'>Seq-ID</td><td style='text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 400px;'>Binary</td><td style='text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 400px;'>Location</td><td style='text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 97px;'>Setup</td><td style='text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 52px;'>Hour</td><td style='text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 52px;'>Day</td><td style='text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 52px;'>Month</td><td style='text-align: center; background-color: rgb(204, 204, 204); font-weight: bold; width: 52px;'>Year</td></tr>")
            For $a = 2 To $lines Step 1
                $resultline = StringSplit(FileReadLine(@ScriptDir & "\Results.txt", $a), "    ")
                $resultline[0] = "<tr><td style='width: 99px; text-align: center;'>" & $a - 1 & "</td>"
                $resultline[1] = "<td style='text-align: left; width: 536px;'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" & $resultline[1] & "</td>"
                $resultline[2] = "<td style='text-align: center; width: 128px;'>" & $resultline[2] & "</td>"
                $resultline[3] = "<td style='text-align: center; width: 128px;'>" & $resultline[3] & "</td>"
                $resultline[4] = "<td style='text-align: center; width: 250px;'>" & $resultline[4] & "</td>"
                $resultline[5] = "<td style='text-align: center; width: 450px;'><a href=file:///" & StringReplace($resultline[5], " ", "%20") & " ><i>" & $resultline[5] & "</i></a></td>"
                $resultline[6] = "<td style='text-align: center; width: 128px;'>" & $resultline[6] & "</td>"
                $resultline[7] = "<td style='text-align: center; width: 99px;'>" & $resultline[7] & "</td>"
                $resultline[8] = "<td style='text-align: center; width: 99px;'>" & $resultline[8] & "</td>"
                $resultline[9] = "<td style='text-align: center; width: 99px;'>" & $resultline[9] & "</td>"
                $resultline[10] = "<td style='text-align: center; width: 99px;'>" & $resultline[10] & "</td></tr>"
                $resultline1 = _ArrayToString($resultline, "")
                FileWriteLine(@ScriptDir & "\Result-Historyhtm.txt", $resultline1)
            Next
            FileWriteLine(@ScriptDir & "\Result-Historyhtm.txt", "</tbody></table><br style='font-family: Arial;'></body></html>")
            FileCopy(@ScriptDir & "\Result-Historyhtm.txt", @ScriptDir & "\AUTO-LOGGER_Result-History.html", 1)
ShellExecute(@ScriptDir & "\AUTO-LOGGER_Result-History.html", 1)
FileDelete(@ScriptDir & "\Result-Historyhtm.txt")

 

Edited by JLogan3o13
adding code

Share this post


Link to post
Share on other sites

@SatyaGanesh in the future, please enclose your code in a block (<> symbol on the toolbar) to make it easier to read. I have done so for you in the post above ;)

 


√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites

To export it to Excel please use the Excel UDF that comes with AutoIt. You can then export it from Excel to PDF using function _Excel_Export.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
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

  • Similar Content

    • tremolux66
      By tremolux66
      I use a monospace font for editing AutoIt scripts in SciTE (currently, CourierNew 9pt). Regardless of what font size I set in the configuration, when I start SciTE to resume editing the script text is one size smaller than I specified. When I type Ctrl+<numpad-slash> the text changes to the desired size. The same is true of the output pane, and I have to reset the size for both areas every time I start SciTE.
      IIRC, I've made few other changes to the configuration (e.g., changed the search highlight color and disabled Tidy), so this behavior seems odd. About SciTE says it's version 3.6.0 (Aug. 4, 2015).
      Any idea how to fix this?
    • user4157124
      By user4157124
      As they're opinion-based to some degree; how are AutoIt's best practices decided and do suggestions get considered?
      Some suggestions :
      For...To...Step...Next -loop variable-naming like $iN ($i1, $i2, etc.) : conforms to recommended naming convention, identifies level (albeit inverted to ExitLoop and ContinueLoop's convention) and enables SciTE selection-highlighting (requires minimum of 3 characters). Minimize logic in global scope, separate data & settings from logic, use of vertical space, project organization (folder structure, resource- and include file management). Example (loop variable-naming, minimizing logic in global scope and separation of settings from logic) :
      #include <Array.au3> Global Enum $RANDOM_RETURNFLOAT, _ $RANDOM_RETURNINTEGER Global Enum $EXITCODE_NONE Global Const $g_sChar0 = '-' Global Const $g_sChar1 = '+' Global Const $g_iAmountX = 10 Global Const $g_iAmountY = $g_iAmountX Main() Func Main() Local $aArray[$g_iAmountY][$g_iAmountX] For $i1 = 0 To $g_iAmountY - 1 For $i2 = 0 To $g_iAmountX - 1 $aArray[$i1][$i2] = Random(0, 1, $RANDOM_RETURNINTEGER) ? $g_sChar1 : $g_sChar0 Next Next _ArrayDisplay($aArray) Exit $EXITCODE_NONE EndFunc Example (project organization) :
      + project_folder + bak [backup files] + bin [distributed binaries and dependencies] + inc [non-standard include files] + res [resource files (icons, file+install files, etc.)] + usr [configuration files, databases, etc.] - script.au3 - script.exe Example (use of vertical space) :
      Func _DigitalRoot($iNum) Local $sNum = '' Local $aNum While $iNum > 9 $sNum = String($iNum) $aNum = StringSplit($sNum, '') $iNum = 0 For $i1 = 1 To $aNum[0] $iNum += Int($aNum[$i1]) Next WEnd Return $iNum EndFunc
    • wimhek
      By wimhek
      LS
      Is it possible to open file(s) in scite in read only mode ?
      If so, How ?
       
      Thnx
       
    • Hoth2001
      By Hoth2001
      I installed AutoIt to my computer 3 days ago...and have invested the last 3 days learning how to use it.
      As learned in the tutorials, whenever opening I new file in Scite editor I'd immediatley save the file
      I left the Scite Editor open for the past 3 consecutive days on my laptop
       
      No problem
       
      Today I closed Autoit for the first time, restarted my computer, and opened up the Scite Editor
      Now whenever I try to save a file I am prevented from doing so because I apparently don't have permission!?  
      And whenever I try to run any of the programs I've created over the past 3 days now I keep getting annoying popup notifications before I run them
       
      Problem
       
      To go around the issue, I copied a program originally saved in the AUtoIt folder to another folder (since I was barred from saving it in it's original AutoIt location)
      NOw when I run the code the mouse coordiantes are all off
      and I still get that pesky notification whenever I try to run a program
       
      Big Problem!!!
      Anyone have any clue why I'm going through this BS?
       
      1. I checked my User settings and YES I am the administrator on this cpu
      2. I tried to de-select the "read only" attribute for the AutoIt folder (everytime after doing this successfully the folder immediately and automatically reverts back to "read only")
       
      Any help would be MOST appreciated. I've attached screen shots of the annoying bus I keep getting
       
       


    • algiuxas
      By algiuxas
      Hello everybody!
      I get these weird errors in SciTE console:
      [0801/210405:ERROR:tcp_socket_win.cc(335)] bind() returned an error: Only one usage of each socket address (protocol/network address/port) is normally permitted. (0x2740) [0801/210405:ERROR:devtools_http_handler.cc(229)] Cannot start http server for devtools. Stop devtools. [0801/210405:ERROR:browser_gpu_channel_host_factory.cc(119)] Failed to launch GPU process. [0801/210405:ERROR:browser_gpu_channel_host_factory.cc(119)] Failed to launch GPU process. My script:
      #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <Misc.au3> #NoTrayIcon $title = "Hello" $txt = "..." ; TODO: Make 4 of them ;~ #Region ### START Koda GUI section ### Form= ;~ $1_GUI = GUICreate($title, 370, 120, -1, -1) ;~ GUISetBkColor(0xFFFFFF) ;~ $1_B1 = GUICtrlCreateButton("B1", 136, 80, 107, 25) ;~ GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") ;~ $1_B2 = GUICtrlCreateButton("B2", 248, 80, 107, 25) ;~ GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") ;~ GUICtrlCreateLabel($txt, 16, 24, 338, 52) ;~ GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif") ;~ GUICtrlSetColor(-1, 0x000000) ;~ GUISetState(@SW_SHOW) ;~ #EndRegion ### END Koda GUI section ### #Region ### START Koda GUI section ### Form= $2_GUI = GUICreate($title, 370, 0?"Hi :)":120, -1, -1) GUISetBkColor(0xFFFFFF) $2_B1 = GUICtrlCreateButton("B1", 136, 80, 107, 25) GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") $2_B2 = GUICtrlCreateButton(0?":D":"B2", 248, 80, 107, 25) GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif") GUICtrlCreateLabel($txt, 16, 24, 338, 52) GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif") GUICtrlSetColor(-1, 0x000000) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### $u32dll = DllOpen("user32.dll") ;~ Opt("GUIOnEventMode", 1) ;~ GUICtrlSetOnEvent(-3, "_Exit") ; TODO: Fix, doesn't work with 2 GUI at the same time ;~ GUICtrlSetOnEvent($B11, "_Exit") ;~ GUICtrlSetOnEvent($B21, "_Exit") ;~ GUICtrlSetOnEvent($B12, "_Exit") ;~ GUICtrlSetOnEvent($B22, "_Exit") ;~ $pos1 = WinGetPos($GUI1) ;~ $pos2 = WinGetPos($GUI1) While 1 ;~ $pos1 = WinGetPos($GUI1) ;~ $pos2 = WinGetPos($GUI1) ;~ $x = $pos1[0] - 370 ;~ $y = $pos1[1] ;~ WinMove($GUI2, "", $x, $y, $pos1[2], $pos1[3], 1) ; Press middle mouse button to close (it's gonna be a non malicious prank for my friend) If _IsPressed(4, $u32dll) Then Exit $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE _Exit() ;~ Case $1_B1 ;~ _Exit() ;~ Case $1_B2 ;~ _Exit() Case $2_B1 _Exit() Case $2_B2 _Exit() EndSwitch WEnd Func _Exit() ; TODO: ... ;~ GUIDelete($1_GUI) GUIDelete($2_GUI) Exit EndFunc ;==>_Exit How to get rid of these errors?