Jump to content

Unable to send the 'SOH' character


Thijs
 Share

Recommended Posts

Hello everyone,

Im trying to send the 'SOH' Character but it makes my script unable to compile.

I looked it up and came across this webpage: http://www.autoitscript.com/autoit3/docs/appendix/ascii.htm

It says: 'Start of heading, = console interrupt'.

Since this is the first day im using AutoIt i hope my question isn't too much of a noob question, but I really need to be able to send this character to the application im writing this script for.

Global $channels[2];

$channels[0] = "SOHSOH name SOHSOH"
$channels[1] = Chr(1) & Chr(1) & " name " & Chr(1) & Chr(1)

for $channel in $channels
Send($channel)
Next

The first line makes my code crash, the second line doesn't return the right character.

Thanks in advance!

Edited by Thijs
Link to comment
Share on other sites

It's not crashing, but is throwing an error in your code. You're using an Array with 2 dimensions but accessing the 3rd element, as arrays start from 0 not 1. Look in the Wiki about arrays.

Local $aArray[2] = ['SOHSOH name SOHSOH', '']
$aArray[1] = Chr(1) & Chr(1) & ' name ' & Chr(1) & Chr(1) ; I don't think you can send this chr?!
Send($aArray[1])

Note: Please use [autoit][/autoit] tags when posting AutoIt code. Thanks.

Edited by guinness

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

Thanks for your reply!

About the array, the real code looks different, you can see below how the array is built, I dont think that the problem lies here because if I modify the value of $channels[2] it does work, but when using the SOH character it throws in an error.

Global $channels[3];

$channels[0] = "SOHSOH name SOHSOH"
$channels[1] = Chr(1) & Chr(1) & " name " & Chr(1) & Chr(1)

for $channel in $channels
Send($channel)
Next

As an alternative for the SOH character (since it throws in an error), I use Chr(1), but it doesn't seem to return the right value, or my code isn't right ofcourse. o:)

It's hard to explain what I mean, but I basicly just want to send the SOH character, and since i've been struggling with it the whole day I need some help.

Edited by Thijs
Link to comment
Share on other sites

This code worked for me

#include <array.au3>
Global $aRray[1], $x
ConsoleWrite(chr(1) & @LF)
_ArrayAdd($aRray, "test")
_ArrayAdd($aRray, chr(1))
_ArrayAdd($aRray, "done")
for $x = 1 to 3
ConsoleWrite($aRray[$x] & @LF)
Next
Send($aRray[2])

p.s. The array's here and in the previous examples are single dimension arrays... A multi dimensional array would look like $aTest[1,1]

Edited by Colyn1337
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

  • Recently Browsing   0 members

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