Jump to content

MrFlibble

Members
  • Posts

    15
  • Joined

  • Last visited

Everything posted by MrFlibble

  1. This does open the desktop so it knows the profile path. I didnt realise there were 2 so thanks but yes it is populated with %USERPROFILE%DESKTOP How does it get the info in this case? This is on an XP machine and is this for Vista and higher? I've not seen this WinAPIEx before but I'll have a look and see what I can find.
  2. Does anyone know where the macro @Desktopdir is getting the information from? When I run Msgbox(0,"",@DesktopDir) it comes back blank. I assumed it would be pulling it from the registry key HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop but that key is populated.
  3. What can I say, dude thank you very much that’s exactly what I’m after. Sorry to have led you up the garden path with the other examples. I mistakenly thought it would be easier to post a little test gui with an example...it would have been a lot easier to have got straight to the point from the outset. There are four other Gui’s, but while this one is in use no others exist so I don’t see their being a problem changing from OnEvent to GetMessage. Well I hope not anyway. Well I’m going to be biased as I’ve been banging my head trying to figure this out, but honestly I think you deserve Legend status. I really am impressed with that..thankyou.
  4. Is this what you mean? #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <Constants.au3> Opt ("TrayMenuMode", 1) #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 300, 300) GUISetState(@SW_SHOW) $restore = TrayCreateItem("Restore window") TrayCreateItem("") $exititem = TrayCreateItem("Exit") TraySetState() While 1 $Tmsg = TrayGetMsg() $GMsg = GUIGetMsg() Select Case $GMsg = $GUI_EVENT_CLOSE Exit Case $GMsg = $GUI_EVENT_MINIMIZE GUISetState(@SW_HIDE,$Form1) Case $Tmsg = 0 ContinueLoop Case $Tmsg = $TRAY_EVENT_PRIMARYDOUBLE Restore() Case $Tmsg = $exititem ExitLoop EndSelect WEnd Func Restore() GUISetState(@SW_SHOW) GUISetState(@SW_RESTORE) EndFunc
  5. First of all thanks for your help with this M23. I really appreciate it and I am trying to figure this out and not just throw examples at you. Unfortunately not. I haven’t posted the script that I’m trying to incorporate this into as it is 1800 lines long. The example scripts were purely examples by myself to work out how to exit a timed loop, but I feel that they have been more of a distraction and I have led you down the wrong path. The following is a smaller version of what I’m doing with the sleeps left in. If you run it you can see the gui is obviously totally unresponsive during the sleep. I was hoping to be able to replace the sleep with an alternative timed loop that can be interrupted if need be. Script runs line n in function “A” then enters a timed loop with variable time. If user intervenes, exit loop and do what user wants e.g. Leave function “A” and start function “B” If no user intervention, then when the timer reaches set limit, run line n+1 in function “A”. What I have found with AdLibRegister that it moves on to line n+ 1 straight away, but I need it to pause at that line. The commented out bit are where i tried to add the AdLib in. #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> Opt("GUIOnEventMode", 1) ;Not that it matters but just for clarification these are read from a file. After an answer is selected it automaticalls goes onto the next question. Global $Answer = "Thanks" Global $AnotherWord = "Diolch yn fawr" ;Alternative wrong answers again read from a file Global $s_ALternate = "England,Football,Supporter,that,is,unlucky,could,be,worse,you,could,be,a,welsh,rugby,supporter" Global $i_RealAnswer Global $i_Start Global $played2 = False Global $iBegin #Region ### START Koda GUI section ### Form= $Form1_1 = GUICreate("Form1", 626, 446, 192, 124) $Label1 = GUICtrlCreateLabel("Label1", 104, 16, 372, 81, $SS_CENTER) GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif") $Answer1 = GUICtrlCreateButton("", 80, 112, 179, 113, $WS_GROUP) GUICtrlSetOnEvent($Answer1, "_GuiCtrlEvents") $Answer2 = GUICtrlCreateButton("", 311, 113, 179, 113, $WS_GROUP) GUICtrlSetOnEvent($Answer2, "_GuiCtrlEvents") $Answer3 = GUICtrlCreateButton("", 84, 254, 179, 113, $WS_GROUP) GUICtrlSetOnEvent($Answer3, "_GuiCtrlEvents") $Answer4 = GUICtrlCreateButton("", 309, 258, 179, 113, $WS_GROUP) GUICtrlSetOnEvent($Answer4, "_GuiCtrlEvents") $Button5 = GUICtrlCreateButton("Quit", 528, 400, 75, 25, $WS_GROUP) GUICtrlSetOnEvent($Button5, "_GuiCtrlEvents") $Button6 = GUICtrlCreateButton("Button6", 432, 400, 75, 25, $WS_GROUP) GUICtrlSetOnEvent($Button6, "_GuiCtrlEvents") $Button7 = GUICtrlCreateButton("Button7", 184, 400, 75, 25, $WS_GROUP) GUICtrlSetOnEvent($Button7, "_GuiCtrlEvents") $Button8 = GUICtrlCreateButton("Start", 288, 400, 75, 25, $WS_GROUP) GUICtrlSetOnEvent($Button8, "_GuiCtrlEvents") $Input1 = GUICtrlCreateInput("", 16, 392, 41, 37) GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif") $Input2 = GUICtrlCreateInput("", 71, 395, 41, 37) GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif") GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### GUISetOnEvent($GUI_EVENT_CLOSE, "_GuiEvents") Dim $a_BtnHwnd[4] = [$Answer1, $Answer2, $Answer3, $Answer4] While 1 Sleep(10) WEnd Func _GuiEvents() Switch @GUI_CtrlId Case $GUI_EVENT_CLOSE If @GUI_WinHandle = $Form1_1 Then Exit EndSwitch EndFunc ;==>_GuiEvents Func _GuiCtrlEvents() Switch @GUI_CtrlId Case $Answer1 _CheckAnswer() Case $Answer2 _CheckAnswer() Case $Answer3 _CheckAnswer() Case $Answer4 _CheckAnswer() Case $Button5 Exit Case $Button6 ConsoleWrite("Function 3 called") Case $Button7 ConsoleWrite("Function 4 called") Case $Button8 _start() EndSwitch EndFunc ;==>_GuiCtrlEvents Func _start() $a_data = StringSplit($s_ALternate,",") Do $randomWord1 = $a_data[Random(1,$a_data[0])] Until $randomWord1 <> $Answer Do $randomWord2 = $a_data[Random(1,$a_data[0])] Until $randomWord2 <> $randomWord1 And $randomWord2 <> $Answer Do $randomWord3 = $a_data[Random(1,$a_data[0])] Until $randomWord3 <> $randomWord1 And $randomWord3 <> $randomWord2 And $randomWord3 <> $Answer $i_BtnId1 = Random(0,3,1) Do $i_BtnId2 = Random(0,3,1) Until $i_BtnId2 <> $i_BtnId1 Do $i_BtnId3 = Random(0,3,1) Until $i_BtnId3 <> $i_BtnId1 And $i_BtnId3 <> $i_BtnId2 Do $i_BtnId4 = Random(0,3,1) Until $i_BtnId4 <> $i_BtnId1 And $i_BtnId4 <> $i_BtnId2 And $i_BtnId4 <> $i_BtnId3 $i_RealAnswer = $a_BtnHwnd[$i_BtnId4] GUICtrlSetData($Label1,$Answer) GUICtrlSetState($Label1,$GUI_SHOW) SoundPlay(@WindowsDir & "\media\tada.wav",1) Sleep(10000);this is what i would like to replace with a timed loop that a user can interrupt. the length of timer is also variable set at an earlier time by the user GUICtrlSetData($Label1,$AnotherWord) SoundPlay(@WindowsDir & "\media\tada.wav",1) Sleep(10000);again to be replaced #comments-start $i_Start =1 _DoSomething() $iBegin = TimerInit() AdlibRegister("_Timer") Do Sleep(50) Until $played2 = True #comments-end $x = GUICtrlSetData($a_BtnHwnd[$i_BtnId1] ,$randomWord1) $x =GUICtrlSetData($a_BtnHwnd[$i_BtnId2] ,$randomWord2) $x =GUICtrlSetData($a_BtnHwnd[$i_BtnId3] ,$randomWord3) $x =GUICtrlSetData($a_BtnHwnd[$i_BtnId4] ,$Answer) EndFunc Func _CheckAnswer() If @GUI_CtrlId = $i_RealAnswer Then MsgBox(0,"","Congrats, now we automatically go to another question") Else MsgBox(0,"","unlcuky, now we automatically go to another question") EndIf EndFunc #comments-start Func _DoSomething() If $i_Start =1 Then GUICtrlSetData($Label1,$Answer) GUICtrlSetState($Label1,$GUI_SHOW) SoundPlay(@WindowsDir & "\media\tada.wav", 1) Else GUICtrlSetData($Label1,$AnotherWord) SoundPlay(@WindowsDir & "\media\tada.wav",1);here you would hear the word being said not tada $i_Start = 1 $played2 = True ConsoleWrite($played2 & @CRLF) AdlibUnRegister("_Timer") EndIf $i_Start = 2 EndFunc ;==>_DoSomething Func _Timer() ; Show timer running ConsoleWrite( Int(TimerDiff($iBegin) / 1000)&@CRLF) ; If timer reaches 10 secs If Int(TimerDiff($iBegin) / 1000) > 9 Then ConsoleWrite("Timer Ended" & @CRLF) ; Do your "every 10 sec" thing by running Func _DoSomething _DoSomething() ; Restart timer ConsoleWrite("Timer Restarting" & @CRLF) $iBegin = TimerInit() EndIf EndFunc ;==>_Timer #comments-end I dont understand why the DoSomething didn’t work in the second example. Dosomething() is being called during the loop so why doesn’t it see that the last button pressed is no longer button1 until it exits the loop? Func _DoSomething() ConsoleWrite(@GUI_CtrlId) If Int(TimerDiff($iBegin) / 1000) > 9 Then ConsoleWrite(Int(TimerDiff($iBegin) / 1000)&@CRLF) ConsoleWrite("Timer Ended") $i_ExitCounter = 1 EndIf If @GUI_CtrlId <> $hButton_1 Then ConsoleWrite(@GUI_CtrlId) $i_ExitCounter = 1 EndIf EndFunc
  6. I still cant seem to resolve this. I've tried lots of different ways of using Adlibregister but it is not recognising another button has been pressed until it has come out of the loop. Anyone got any ideas? My last effort. I feel like i'm doing something real stupid and missing the obvious but i cant figure it out. #include <GUIConstantsEx.au3> ; Declare Global variable - visible to all functions Global $i_ExitCounter = 0 Global $iBegin Opt("GUIOnEventMode", 1) $hGUI = GUICreate("Test", 500, 500) GUISetOnEvent($GUI_EVENT_CLOSE, "_GuiEvents") $hLabel = GUICtrlCreateLabel("0", 10, 10, 50, 50) GUICtrlSetFont(-1, 24) $hButton_1 = GUICtrlCreateButton("1", 10, 100, 80, 30) GUICtrlSetOnEvent($hButton_1, "_GuiCtrlEvents") $hButton_2 = GUICtrlCreateButton("2", 110, 100, 80, 30) GUICtrlSetOnEvent($hButton_2, "_GuiCtrlEvents") $hButton_3 = GUICtrlCreateButton("3", 210, 100, 80, 30) GUICtrlSetOnEvent($hButton_3, "_GuiCtrlEvents") GUISetState() While 1 Sleep(10) WEnd Func _GuiEvents() Switch @GUI_CtrlId Case $GUI_EVENT_CLOSE If @GUI_WinHandle = $hGUI Then Exit EndSwitch EndFunc Func _GuiCtrlEvents() Switch @GUI_CtrlId Case $hButton_1 ConsoleWrite(@GUI_CtrlId & @CRLF) _test() Case $hButton_2 ConsoleWrite(@GUI_CtrlId & @CRLF) Case $hButton_3 ConsoleWrite(@GUI_CtrlId & @CRLF) EndSwitch EndFunc ;==>_GuiCtrlEvents Func _Test() GUICtrlSetData($hLabel, "Test") Sleep(1000) GUICtrlSetData($hLabel, "") Sleep(1000) SoundPlay(@WindowsDir & "\media\tada.wav",1) GUICtrlSetData($hLabel, "Timer") $iBegin = TimerInit() AdlibRegister("_DoSomething") Do Sleep(50) GUICtrlSetData($hLabel, Int(TimerDiff($iBegin) / 1000)) Until $i_ExitCounter = 1 AdlibUnRegister("_DoSomething") GUICtrlSetData($hLabel, 0) SoundPlay(@WindowsDir & "\media\tada.wav",1) EndFunc Func _DoSomething() ConsoleWrite(@GUI_CtrlId) If Int(TimerDiff($iBegin) / 1000) > 9 Then ConsoleWrite(Int(TimerDiff($iBegin) / 1000)&@CRLF) ConsoleWrite("Timer Ended") $i_ExitCounter = 1 EndIf If @GUI_CtrlId <> $hButton_1 Then ConsoleWrite(@GUI_CtrlId) $i_ExitCounter = 1 EndIf EndFunc
  7. Sorry M23 it was more a case of not explaining myself properly. What I really should have said at the start, was that I want a sleep that the user can interrupt. My first example was just showing my way of how I was trying to come out a loop. I'll explain exactly what currently happens. A button is pressed which calls a function and text is displayed, then goes to sleep for a few seconds it then displays different text. The gui has several other buttons that call different functions. Obviously when the sleep is called the gui is unresponsive, which i dont want. My first post was my testing of a way of having a timed loop and coming out of it if any other button was pressed. i'll have a good play with AdlibRegister as it definitely looks like the way I should be going. Hope your enjoying the world cup, think it would be better if the goal posts were widened some teams may actually score then! Thanks for all your help and sorry for my misleading posts.
  8. Thanks M23 for the help. This might be what I need but not sure if again I'm going the wrong way about it, but $button1 will call a function, do "some stuff" then i need it to pause for a set amount of time unless another button is pressed and then carry on with the rest of the function. I amended the exmaple you kindly provided above. Not sure if i'm doing something wrong but in my example below I need it to play the tada wav, wait 10 seconds then play the next tada, unless another button is pressed. Mine is playing, Adlib is starting the counter but the tada following Adlib plays immediately, and not wating for the time to reach 10. #include <GUIConstantsEx.au3> Opt("GUIOnEventMode", 1) Global $i_Start = 1 $hGUI = GUICreate("Test", 500, 500) GUISetOnEvent($GUI_EVENT_CLOSE, "_GuiEvents") $hLabel = GUICtrlCreateLabel("0", 10, 10, 50, 50) GUICtrlSetFont(-1, 24) $hButton_1 = GUICtrlCreateButton("1", 10, 100, 80, 30) GUICtrlSetOnEvent($hButton_1, "_GuiCtrlEvents") $hButton_2 = GUICtrlCreateButton("2", 110, 100, 80, 30) GUICtrlSetOnEvent($hButton_2, "_GuiCtrlEvents") $hButton_3 = GUICtrlCreateButton("3", 210, 100, 80, 30) GUICtrlSetOnEvent($hButton_3, "_GuiCtrlEvents") GUISetState() While 1 Sleep(10) WEnd Func _GuiEvents() Switch @GUI_CtrlId Case $GUI_EVENT_CLOSE If @GUI_WinHandle = $hGUI Then Exit EndSwitch EndFunc Func _GuiCtrlEvents() Switch @GUI_CtrlId Case $hButton_1 ConsoleWrite(@GUI_CtrlId & @CRLF) DoSomething() Case $hButton_2 ConsoleWrite(@GUI_CtrlId & @CRLF) Case $hButton_3 ConsoleWrite(@GUI_CtrlId & @CRLF) EndSwitch EndFunc ;==>_GuiCtrlEvents Func DoSomething() SoundPlay(@WindowsDir & "\media\tada.wav",1) AdlibRegister("_CheckIt", 1000) SoundPlay(@WindowsDir & "\media\tada.wav",1) EndFunc Func _CheckIt() ; Increase the count $i_Start = $i_Start + 1 GUICtrlSetData($hLabel, $i_Start) ; Check if another control pressed or timer expired If @GUI_CtrlId <> $hButton_1 Or $i_Start = 10 Then ; Cancel Adlib function AdlibUnRegister("_CheckIt") ; Reset counter GUICtrlSetData($hLabel, 0) EndIf EndFunc
  9. I have a small script that has several controls. What I need is for the gui to start a timer when one control is pressed and wait until the timer reaches a certain time or another control is pressed. Any help would be appreciated as I'm completely stuck on how to exit out of the loop. Ideally it has be using GuiOnEventMode. Sample of what I need is below. #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> Opt("GUIOnEventMode", 1) #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 633, 454, 193, 115) $Label1 = GUICtrlCreateLabel("", 164, 186, 310, 99, $SS_CENTER) GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif") $Button1 = GUICtrlCreateButton("Button1", 184, 372, 75, 25, 0) $Button2 = GUICtrlCreateButton("Button2", 300, 368, 75, 25, 0) $Button3 = GUICtrlCreateButton("Button3", 420, 368, 75, 25, 0) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### GUISetOnEvent($GUI_EVENT_CLOSE, "_GuiEvents") GUICtrlSetOnEvent($Button1, "_GuiCtrlEvents") GUICtrlSetOnEvent($Button2, "_GuiCtrlEvents") GUICtrlSetOnEvent($Button3, "_GuiCtrlEvents") While 1 Sleep(100) WEnd Func _GuiEvents() Switch @GUI_CtrlId Case $GUI_EVENT_CLOSE If @GUI_WinHandle = $Form1 Then Exit EndIf EndSwitch EndFunc Func _GuiCtrlEvents() Select Case @GUI_CtrlId = $Button1 MsgBox(0,"",@GUI_CtrlId) Timer() Case @GUI_CtrlId = $Button2 MsgBox(0,"",@GUI_CtrlId) Case @GUI_CtrlId = $Button3 MsgBox(0,"",@GUI_CtrlId) EndSelect EndFunc func Timer() $begin = TimerInit() Do $dif = TimerDiff($begin) If TimerDiff($begin) > 10 * 1000 Then ExitLoop If $dif > 1000 And $dif < 2000 Then Guictrlsetdata($Label1,"1") EndIf If $dif > 2000 And $dif < 3000 Then Guictrlsetdata($Label1,"2") EndIf If $dif > 3000 And $dif < 4000 Then Guictrlsetdata($Label1,"3") EndIf If $dif > 4000 And $dif < 5000 Then Guictrlsetdata($Label1,"4") EndIf If $dif > 5000 And $dif < 6000 Then Guictrlsetdata($Label1,"5") EndIf If $dif > 6000 And $dif < 7000 Then Guictrlsetdata($Label1,"6") EndIf If $dif > 7000 And $dif < 8000 Then Guictrlsetdata($Label1,"7") EndIf If $dif > 8000 And $dif < 9000 Then Guictrlsetdata($Label1,"8") EndIf If $dif > 9000 And $dif < 10000 Then Guictrlsetdata($Label1,"9") EndIf Sleep(50) Until @GUI_CtrlId <> $Button1 EndFunc
  10. Use GUISetState instead, this worked fine for me. #include <GUIConstants.au3> $MAIN_SCREEN = GUICreate("GAMME_APP", 481, 336, 477, 432) $Menu = GUICtrlCreateMenu("&Menu") $USER_MENU = GUICtrlCreateMenu("User", $Menu) $ADD_USER = GUICtrlCreateMenuItem("Add User", $USER_MENU) GUISetState(@SW_SHOW) $ADD_USER_SCREEN = GUICreate("Add User", 370, 397, 433, 158, -1, -1, $MAIN_SCREEN) $Button1 = GUICtrlCreateButton("Button1", 168, 144, 75, 25, 0) GUISetState(@SW_HIDE) While 1 $Msg = GUIGetMsg(1) $CTRLMsg = $Msg[0] $Win = $Msg[1] Select Case $CtrlMsg = $GUI_EVENT_CLOSE AND $Win = $MAIN_SCREEN Exit Case $CtrlMsg = $GUI_EVENT_CLOSE AND $Win = $ADD_USER_SCREEN GUISetState(@SW_SHOW, $MAIN_SCREEN) GUISetState(@SW_HIDE, $ADD_USER_SCREEN) Case $CtrlMsg = $ADD_USER GUISetState(@SW_HIDE, $MAIN_SCREEN) GUISetState(@SW_SHOW, $ADD_USER_SCREEN) Case $CtrlMsg = $Button1 TEST() EndSelect WEnd Func TEST() MsgBox(0, "title", "test") EndFunc ;==>TEST
  11. Lol, fair enough. Thanks all for help and advice.
  12. Good advice, its obviously something I've never done before. Anyone know why the size of the checkbox gets so much bigger as the list goes down? the Autoit Window Info tool really does highlight this.
  13. Thanks very much :-)
  14. I have a script that reads a list of up to 40 computer numbers and displays them on the gui with corresponding checkboxes. The checkboxes are spaced 25 pixels apart going down the screen in line with the computer numbers. The labels are fine, but the checkboxes when it reaches about 15 down are only partially showing. Im assuming that the previous checkbox is partially covering the next checkbox, if you click on one of the checkboxes it shows in full and the top of the checkbox is quite a distance away from the bottom of the previous checkbox. Increasing the spacing isnt really much of an option, anybody have any ideas on either what Im doing wrong or a workaround for this? I know I havent explained very clearly so Ive included some code to show what I mean. #include <GUIConstants.au3> $gui = GUICreate("TEST",400,900) $button = GUICtrlCreateButton("Submit Username",120,7) $EditBoxUSer = GUICtrlCreateInput("Enter Username",10,10,100,20) GUISetState(@SW_SHOW) $string = "pc1,pc2,pc3,pc4,pc5,pc6,pc7,pc8,pc9,pc10,pc11,pc12,pc13,pc14,pc15,pc16,pc12,pc13,pc14,pc15,pc16, pc17,pc18,pc19,pc20,pc21,pc22,pc23,pc24,pc25" $aAllPc = StringSplit($string,",") Createcheckbox($aAllPc) ;;;;;;;;;;;;;;;;;;MAIN GUI LOOP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; While 1 $msg = GUIGetMsg(1) if $msg[0] = $GUI_EVENT_CLOSE Then Exit EndIf Wend Func Createcheckbox($aAllPc) $int = $aAllPc[0] + 1 Dim $pclabel[$int] , $chk[$int] $add = 50 $add1 = 50 For $i = 1 to UBound($aAllPc) - 1 $pclabel[$i] = GUICtrlCreateLabel($aAllPc[$i],5, $add1) $chk[$i] = GUICtrlCreateCheckbox("",100, $add) $add = $add + 25 $add1 = $add1 + 26 Next EndFunc
  15. What is a bot? A program that follows a set of instructions What's the difference between a bot and a script? I believe they are the same What is AI? an ability to learn from ones experiences in whatever form they may be What is "intelligence", after all I know some scripts that can search the web, or a Help file, for keywords while some people can't even find the Search button on a website or Help file toolbar. This is down to the laziness of people not intelligence What's the difference between a script running only commands in the script verses a script asking for user input? Nothing as they are both following a set of commands." When a script runs through a conditional statement, isn't that a form of AI? In my opinion NO as above So if a script can read a file and checks for data and update that same file and check it later for new data, is this "artificial intelligence"? No unless it is able to realise the benefits of the new data. Is it possible to do these things and more with AutoIt3?? Man had free will, the computer does not, AI has to be programmed. In my my opinion Intelligence is defined by the ability to learn from previous experience/mistakes whether they be your own or not. I have been looking at AI and so far I have found the best way(for me) is to store the results in a database, each option is then given marks as to how efficient each option maybe( marks are given when the program is run, generaly by the user as to whether it was sucsseful). The computer then works out the percentages along this way and makes the decision based upon possible result. Whether this is classed as AI I dont know as it is still programmed, but it does make a decision based upon taking the best option at the time amongst many variables. It may seem very simplistic, but to me this is how we work. We analayze the situation, think about what we have done before and then work out which way resolved the situation the best/quickest and act accordingly. WOW I feel all spiritual now
×
×
  • Create New...