Jump to content

Logic help


caramen
 Share

Recommended Posts

3 minutes ago, Jos said:

So you need to rethink what you really want here. ;) 

I don't know how to do what I want to do.

This Is why I'm requesting help.

My video tutorials : ( In construction )  || My Discord : https://discord.gg/S9AnwHw

How to Ask Help ||  UIAutomation From Junkew || WebDriver From Danp2 || And Water's UDFs in the Quote

Spoiler

 Water's UDFs:
Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Link to comment
Share on other sites

I also tried to concatenate but I don't know how to concatenate $nMsg without an infinit loop. 

And yeah I know the behavior is logic with the code. I'm trying to get a proper logic for that.

Edited by caramen

My video tutorials : ( In construction )  || My Discord : https://discord.gg/S9AnwHw

How to Ask Help ||  UIAutomation From Junkew || WebDriver From Danp2 || And Water's UDFs in the Quote

Spoiler

 Water's UDFs:
Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Link to comment
Share on other sites

  • Developers

Well ... it is not about how, but more about the what as you are currently constantly updating the tooltip with the 2 different cases, which is impossible.
So what exactly do you want that is possible!

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

  • Developers

Ok... here is a possible solution to your requirements:

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.14.2
 Author:         myName

 Script Function:
    Template AutoIt script.

#ce ----------------------------------------------------------------------------

; Script Start - Add your code below here


#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <MsgBoxConstants.au3>
#include <AutoItConstants.au3>
#include <StringConstants.au3>
#include <TrayConstants.au3>
#include <Array.au3>
#include <ColorConstants.au3>

#include <GuiRichEdit.au3>
#include <GUIConstants.au3>

HotKeySet("{F4}", "_Exit")
Global $GUI3
Global $Tooltiptext = ""
$GUI3 = GUICreate("Masque symptome", 900, 500)
Global $hGuiLabelDrag = GUICtrlCreateLabel("", 50, 0, 650, 30, $SS_CENTER + $SS_CENTERIMAGE, $GUI_WS_EX_PARENTDRAG)
GUICtrlSetColor(-1, 0xb8b8b8)
GUICtrlSetFont(-1, 14)
;===========================================================================
Global $Color_1 = 0xb2b4dc
Global $Color_2 = 0xb1b8be
Global $hSymptLabel01 = GUICtrlCreateLabel("OS du poste : ", 50, 100)
Global $hRadio01 = GUICtrlCreateRadio("W7", 150, 95)
Global $hRadio02 = GUICtrlCreateRadio("W10", 200, 95)
Global $hRadio03 = GUICtrlCreateRadio("T.L. HP", 250, 95)
Global $hRadio04 = GUICtrlCreateRadio("T.L. Wase", 310, 95)
Global $hSymptLabel02 = GUICtrlCreateLabel("Nom du poste : ", 50, 140)
Global $hInput01 = GUICtrlCreateInput("PP", 130, 135)
Global $hSymptLabel03 = GUICtrlCreateLabel("Téléphone utilisateur : ", 250, 140)
Global $hInput02 = GUICtrlCreateInput("0", 360, 135)
Global $hRish = _GUICtrlRichEdit_Create($GUI3, "Symptôme(s) : " & @CRLF, _
        50, 180, 710, 240, BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
Global $OKGO = GUICtrlCreateButton("Go", 50, 450)
WinSetOnTop($GUI3, "", 1)
GUISetState(@SW_SHOW, $GUI3)
;~          GUISetState(@SW_HIDE, $GUI3)  ;Unused state for this reproducer

Func1000()

Func Func1000()
;~  _CleanAndWait ()                        ;Unused fonction for this reproducer
    GUISetState(@SW_SHOW, $GUI3)
    While 1
        Sleep(10)
        $hTexte = _GUICtrlRichEdit_GetText($hRish)
        _ReadString($hTexte, "big ip", "vpn", "allo")
        Local $hNMsg = GUIGetMsg($GUI3)
        Switch $hNMsg
            Case $OKGO
                WinSetOnTop($GUI3, "", 0)
                GUISetState(@SW_HIDE, $GUI3)
;~                  ClipPut($hTexte)
;~                  _SendAvSaPrPa ($hTexte) ;Unused fonction for this reproducer
;~                  _RestorePP ()           ;Unused fonction for this reproducer
                ExitLoop
            Case $GUI_EVENT_CLOSE
                GUISetState(@SW_HIDE, $GUI3)
                ExitLoop
        EndSwitch
    WEnd
EndFunc   ;==>Func1000

Func OpenLink()
    ;Nothing for now
    ConsoleWrite("+1" & @CRLF)
EndFunc   ;==>OpenLink

Func _ReadString($TexteStringToCheck = "", $String1 = Null, $String2 = Null, $String3 = Null, $String4 = Null, $String5 = Null, $String6 = Null, $String7 = Null)
    local $sMsg, $sp1, $sp2, $sp3,$sp4,$sp5,$sp6,$sp7
    if $String1 <> Null then $sp1 = StringInStr($TexteStringToCheck, $String1)
    if $String2 <> Null then $sp2 = StringInStr($TexteStringToCheck, $String2)
    if $String3 <> Null then $sp3 = StringInStr($TexteStringToCheck, $String3)
    If $sp1 Then $sMsg &= "BIG IP"
    If $sp2 Then $sMsg &= " -Keywords2"
    If $sp3 Then $sMsg &= " -Keywords3"
    _CreateThread1_ToolTip($sMsg)
EndFunc   ;==>_ReadString

Func _CreateThread1_ToolTip($sMsg)
    if $Tooltiptext <> $sMsg then
        ToolTip($sMsg, 1, 1)
        ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $sMsg = ' & $sMsg & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
        $Tooltiptext = $sMsg
    EndIf
EndFunc   ;==>_CreateThread1_ToolTip

Func _Exit()
    WinSetOnTop($GUI3, "", 0)
    Local $cExitYesNo = MsgBox($MB_YESNO, "Quitter?", "Voulez-vous quitter ?")
    If $cExitYesNo = "6" Then
        Exit
    Else
        WinSetOnTop($GUI3, "", 1)
    EndIf
EndFunc   ;==>_Exit

Study that and see how you can adapt it to your needs.

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

I'm "Google trad : pissed off" because when I see what happen today with this code I feel so far from a good level. 

It's like so easy for you. 😡

Each time I see @Jos answer to my threads...  I'm like.. aww, I will pass a bad quarter of hour. Because each one of your answer are like a bullet shoot in my head ^^.  Fair any way I learn a lot with you @Jos So thanks again like always. 

I will work on this so it can fit to my needs. 

@Jos Thanks.... 💗

My video tutorials : ( In construction )  || My Discord : https://discord.gg/S9AnwHw

How to Ask Help ||  UIAutomation From Junkew || WebDriver From Danp2 || And Water's UDFs in the Quote

Spoiler

 Water's UDFs:
Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Link to comment
Share on other sites

  • Developers
1 minute ago, caramen said:

Each time I see @Jos answer to my threads...  I'm like.. aww, I will pass a bad quarter of hour. Because each one of your answer are like a bullet shoot in my head ^^. 

It really as a case of learning how to trouble shoot and draw conclusions from that to make it better.  Just add the debug consolewrite statements with SciTE's Alt+d at strategic places and you exactly see what is happening. That allows you to draw the right conclusions in stead of your try and error approach. ;) 

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

I always do. This is a basic rule.

But even with your debugging, or I could say without it too.

I knew that was the problem. But I was remaining unable to do it. 

If $sp1 Then $sMsg &= "BIG IP"

I'm not familiar with this syntax. 

I will have to code with that kind of syntax a bit more to make this natural in my codding approach. 

 

This one I mean

 

If $sp1 Then
Edited by caramen

My video tutorials : ( In construction )  || My Discord : https://discord.gg/S9AnwHw

How to Ask Help ||  UIAutomation From Junkew || WebDriver From Danp2 || And Water's UDFs in the Quote

Spoiler

 Water's UDFs:
Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Link to comment
Share on other sites

  • Developers
17 minutes ago, caramen said:

I always do. This is a basic rule.

mmm... ok so next time you show you did when posting the replicator script. In this case you would/should have known then that you were firing the ToolTip() update many times within a second which obviously is a "NoNo"! 

16 minutes ago, caramen said:

I'm not familiar with this syntax. 

Not sure what is so special about that statement and should be pretty easy for you to figure out. ;) 

Jos

 

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

3 hours ago, caramen said:

I will have to check about 25 000 Keys words

I can't wait to see what this function

Func _ReadString($TexteStringToCheck = "", $String1 = Null, $String2 = Null, $String3 = Null, $String4 = Null, $String5 = Null, $String6 = Null, $String7 = Null)

will look like (and how it will work) using 25,000 parameters  :hyper:

Link to comment
Share on other sites

I think I will do one function for each statement that can contain around 1 to 10 check.

 

If you have a better way @mikell :) 

I thought about cases or even an array to check with it too... But it's not easy

Edited by caramen

My video tutorials : ( In construction )  || My Discord : https://discord.gg/S9AnwHw

How to Ask Help ||  UIAutomation From Junkew || WebDriver From Danp2 || And Water's UDFs in the Quote

Spoiler

 Water's UDFs:
Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Link to comment
Share on other sites

  • Developers
14 minutes ago, caramen said:

I think I will do one function for each statement that can contain around 1 to 10 check.

That really doesn't make de design any better and doable! 
You are talking about 25000 word checks right? 
Why one earth would anybody want to do this at all? 

Either way: You have a go but don't come back crying for help when it doesn't perform! ;) 

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

43 minutes ago, caramen said:

If you have a better way

OK...
The best way I can think of would be to use a Scintilla control which is powerful and fast

But you are on a Richedit... I tried a way to check 25,000 keywords (crazy...) , so here it is (raw)
To test : type in the edit a word in the format "keyX" where X is a number between 1 and 25,000, followed by a space

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <MsgBoxConstants.au3>
#include <AutoItConstants.au3>
#include <StringConstants.au3>
#include <TrayConstants.au3>
#include <Array.au3>
#include <ColorConstants.au3>

#include <GuiRichEdit.au3>
#include <GUIConstants.au3>

HotKeySet("{F4}", "_Exit")

SplashTextOn ("", "Loading ..." & @crlf & "  ", 500, 55, -1, 400, 49, "", 10)

Global $sdk = ObjCreate("Scripting.Dictionary")
For $i = 1 to 25000
  $sdk.Add ("key" & $i, "link" & $i)  
Next

SplashOff()


#cs ; check
$a = _list($sdk)
_ArrayDisplay($a)

Func _list($dico)
    Local $keys = $dico.Keys
    Local $items = $dico.Items
    Local $count = $dico.Count
    Local $ret[$count+1][2] 
    $ret[0][0] = $count
    For $i = 1 To $count
        $ret[$i][0] = $keys[$i-1]
        $ret[$i][1] = $items[$i-1]
    Next
    Return $ret
EndFunc
#ce


Global $GUI3
Global $Tooltiptext = ""
$GUI3 = GUICreate("Masque symptome", 900, 500)
Global $hGuiLabelDrag = GUICtrlCreateLabel("", 50, 0, 650, 30, $SS_CENTER + $SS_CENTERIMAGE, $GUI_WS_EX_PARENTDRAG)
GUICtrlSetColor(-1, 0xb8b8b8)
GUICtrlSetFont(-1, 14)
;===========================================================================
Global $Color_1 = 0xb2b4dc
Global $Color_2 = 0xb1b8be
Global $hSymptLabel01 = GUICtrlCreateLabel("OS du poste : ", 50, 100)
Global $hRadio01 = GUICtrlCreateRadio("W7", 150, 95)
Global $hRadio02 = GUICtrlCreateRadio("W10", 200, 95)
Global $hRadio03 = GUICtrlCreateRadio("T.L. HP", 250, 95)
Global $hRadio04 = GUICtrlCreateRadio("T.L. Wase", 310, 95)
Global $hSymptLabel02 = GUICtrlCreateLabel("Nom du poste : ", 50, 140)
Global $hInput01 = GUICtrlCreateInput("PP", 130, 135)
Global $hSymptLabel03 = GUICtrlCreateLabel("Téléphone utilisateur : ", 250, 140)
Global $hInput02 = GUICtrlCreateInput("0", 360, 135)
Global $hRish = _GUICtrlRichEdit_Create($GUI3, "Symptôme(s) : " & @CRLF, _
        50, 180, 710, 240, BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
Global $OKGO = GUICtrlCreateButton("Go", 50, 450)
WinSetOnTop($GUI3, "", 1)
GUISetState(@SW_SHOW, $GUI3)
;~          GUISetState(@SW_HIDE, $GUI3)  ;Unused state for this reproducer

Func1000()

Func Func1000()
;~  _CleanAndWait ()                        ;Unused fonction for this reproducer
 ;   GUISetState(@SW_SHOW, $GUI3)

    While 1
        Local $hNMsg = GUIGetMsg($GUI3)
        Switch $hNMsg
            Case $OKGO
                WinSetOnTop($GUI3, "", 0)
                GUISetState(@SW_HIDE, $GUI3)
;~                  ClipPut($hTexte)
;~                  _SendAvSaPrPa ($hTexte) ;Unused fonction for this reproducer
;~                  _RestorePP ()           ;Unused fonction for this reproducer
                ExitLoop
            Case $GUI_EVENT_CLOSE
                GUISetState(@SW_HIDE, $GUI3)
                ExitLoop
        EndSwitch

        $hTexte = _GUICtrlRichEdit_GetText($hRish)
        _ReadString($hTexte, $sdk)

        Sleep(10)
    WEnd
EndFunc   ;==>Func1000

Func OpenLink()
    ;Nothing for now
    ConsoleWrite("+1" & @CRLF)
EndFunc   ;==>OpenLink



Func _ReadString($TexteStringToCheck, $sd)

    local $sMsg
For $kw In $sd
  If StringRegExp($TexteStringToCheck, '\b' & $kw & ' ') Then $sMsg &= $kw & " "
Next
    _CreateThread1_ToolTip($sMsg)
EndFunc

Func _CreateThread1_ToolTip($sMsg)
    if $Tooltiptext <> $sMsg then
        ToolTip($sMsg, 1, 1)
        ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $sMsg = ' & $sMsg & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
        $Tooltiptext = $sMsg
    EndIf
EndFunc   ;==>_CreateThread1_ToolTip

Func _Exit()
    WinSetOnTop($GUI3, "", 0)
    Local $cExitYesNo = MsgBox($MB_YESNO, "Quitter?", "Voulez-vous quitter ?")
    If $cExitYesNo = "6" Then
        Exit
    Else
        WinSetOnTop($GUI3, "", 1)
    EndIf
EndFunc   ;==>_Exit

 

Link to comment
Share on other sites

1 hour ago, mikell said:

But you are on a Richedit...

And the cat hit again... lol. You too. 

The rishedit is here just in case of future needs. I made a snipet to hightlight anything in a rishedit and it would be nice to use it here too. 

But Actually... I don't "need" it. 

I'm trying your exemple... I will try to understand it after 😛  

 

ok damn Nice. That logic would economize 500 hours of work :D

Is it possible to use the same logic filling the array with keyword I want ?

And displaying the link instead of the keyword ? 

 

More I think about this logic/code more I'm impressed.

Edited by caramen

My video tutorials : ( In construction )  || My Discord : https://discord.gg/S9AnwHw

How to Ask Help ||  UIAutomation From Junkew || WebDriver From Danp2 || And Water's UDFs in the Quote

Spoiler

 Water's UDFs:
Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Link to comment
Share on other sites

2 hours ago, Jos said:

That really doesn't make de design any better and doable! 
You are talking about 25000 word checks right? 
Why one earth would anybody want to do this at all? 

Either way: You have a go but don't come back crying for help when it doesn't perform! ;) 

Point me in the right direction so ! Please 🙇‍♂️

You know that I'm gonna work what you tell me. 

  

2 hours ago, Jos said:

You are talking about 25000 word checks right? 
Why one earth would anybody want to do this at all? 

I will have access to the base of this documentation soon. I will be able to have the exact number. Actually I only know some files are linked like that

"49030" or "23138"

I think there is a lot of holes into that. But I'm sure of nothing.

Why ? Each item is a document to say to peoples what to do in one specific case. It's not only IT. So... a lot of items will remain unused. 

Our problem is some people are not doing the work correctly. Not on purpose. The amount of document is huge and make things hard for them too. 

I want to make things easy for them. 

Edited by caramen

My video tutorials : ( In construction )  || My Discord : https://discord.gg/S9AnwHw

How to Ask Help ||  UIAutomation From Junkew || WebDriver From Danp2 || And Water's UDFs in the Quote

Spoiler

 Water's UDFs:
Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Link to comment
Share on other sites

1 hour ago, caramen said:

Is it possible to use the same logic filling the array with keyword I want ?

Sure. A scripting.dictionary object is a "key=item" list (unique keys) so you need to build first a 2D array (1st column = keywords, 2nd column = links) using the data you want , and convert it to a SD which is muuuch faster to use in your kind of script
 

1 hour ago, caramen said:

And displaying the link instead of the keyword ?

Sure :) with a little correction in the _ReadString function. And BTW to ease this elephant you absolutely need to put a "brake" in the main While loop - see the code below

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <MsgBoxConstants.au3>
#include <AutoItConstants.au3>
#include <StringConstants.au3>
#include <TrayConstants.au3>
#include <Array.au3>
#include <ColorConstants.au3>

#include <GuiRichEdit.au3>
#include <GUIConstants.au3>

HotKeySet("{F4}", "_Exit")

SplashTextOn ("", "Loading ..." & @crlf & "  ", 500, 55, -1, 400, 49, "", 10)

Global $sdk = ObjCreate("Scripting.Dictionary")
For $i = 1 to 25000
  $sdk.Add ("key" & $i, "link" & $i)  
Next

SplashOff()


#cs ; check
$a = _list($sdk)
_ArrayDisplay($a)

Func _list($dico)
    Local $keys = $dico.Keys
    Local $items = $dico.Items
    Local $count = $dico.Count
    Local $ret[$count+1][2] 
    $ret[0][0] = $count
    For $i = 1 To $count
        $ret[$i][0] = $keys[$i-1]
        $ret[$i][1] = $items[$i-1]
    Next
    Return $ret
EndFunc
#ce


Global $GUI3
Global $Tooltiptext = ""
$GUI3 = GUICreate("Masque symptome", 900, 500)
Global $hGuiLabelDrag = GUICtrlCreateLabel("", 50, 0, 650, 30, $SS_CENTER + $SS_CENTERIMAGE, $GUI_WS_EX_PARENTDRAG)
GUICtrlSetColor(-1, 0xb8b8b8)
GUICtrlSetFont(-1, 14)
;===========================================================================
Global $Color_1 = 0xb2b4dc
Global $Color_2 = 0xb1b8be
Global $hSymptLabel01 = GUICtrlCreateLabel("OS du poste : ", 50, 100)
Global $hRadio01 = GUICtrlCreateRadio("W7", 150, 95)
Global $hRadio02 = GUICtrlCreateRadio("W10", 200, 95)
Global $hRadio03 = GUICtrlCreateRadio("T.L. HP", 250, 95)
Global $hRadio04 = GUICtrlCreateRadio("T.L. Wase", 310, 95)
Global $hSymptLabel02 = GUICtrlCreateLabel("Nom du poste : ", 50, 140)
Global $hInput01 = GUICtrlCreateInput("PP", 130, 135)
Global $hSymptLabel03 = GUICtrlCreateLabel("Téléphone utilisateur : ", 250, 140)
Global $hInput02 = GUICtrlCreateInput("0", 360, 135)
Global $hRish = _GUICtrlRichEdit_Create($GUI3, "Symptôme(s) : " & @CRLF, _
        50, 180, 710, 240, BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
Global $OKGO = GUICtrlCreateButton("Go", 50, 450)
WinSetOnTop($GUI3, "", 1)
GUISetState(@SW_SHOW, $GUI3)
;~          GUISetState(@SW_HIDE, $GUI3)  ;Unused state for this reproducer

Func1000()

Func Func1000()
;~  _CleanAndWait ()                        ;Unused fonction for this reproducer
 ;   GUISetState(@SW_SHOW, $GUI3)

    While 1
        Local $hNMsg = GUIGetMsg($GUI3)
        Switch $hNMsg
            Case $OKGO
                WinSetOnTop($GUI3, "", 0)
                GUISetState(@SW_HIDE, $GUI3)
;~                  ClipPut($hTexte)
;~                  _SendAvSaPrPa ($hTexte) ;Unused fonction for this reproducer
;~                  _RestorePP ()           ;Unused fonction for this reproducer
                ExitLoop
            Case $GUI_EVENT_CLOSE
                GUISetState(@SW_HIDE, $GUI3)
                ExitLoop
        EndSwitch

; IMPORTANT !! =============================<<
    If _GUICtrlRichEdit_IsModified($hRish) Then
            $hTexte = _GUICtrlRichEdit_GetText($hRish)
            _ReadString($hTexte, $sdk)
        _GUICtrlRichEdit_SetModified($hRish, false)
    EndIf

    Sleep(10)
    WEnd
EndFunc   ;==>Func1000


Func OpenLink()
    ;Nothing for now
    ConsoleWrite("+1" & @CRLF)
EndFunc   ;==>OpenLink



Func _ReadString($TexteStringToCheck, $sd)
    local $sMsg
    For $kw In $sd
    ;  If StringRegExp($TexteStringToCheck, '\b' & $kw & ' ') Then $sMsg &= $kw & " "
      If StringRegExp($TexteStringToCheck, '\b' & $kw & ' ') Then $sMsg &= $sd.item($kw) & " "
    Next
    _CreateThread1_ToolTip($sMsg)
EndFunc

Func _CreateThread1_ToolTip($sMsg)
    if $Tooltiptext <> $sMsg then
        ToolTip($sMsg, 1, 1)
        ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $sMsg = ' & $sMsg & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
        $Tooltiptext = $sMsg
    EndIf
EndFunc   ;==>_CreateThread1_ToolTip

Func _Exit()
    WinSetOnTop($GUI3, "", 0)
    Local $cExitYesNo = MsgBox($MB_YESNO, "Quitter?", "Voulez-vous quitter ?")
    If $cExitYesNo = "6" Then
        Exit
    Else
        WinSetOnTop($GUI3, "", 1)
    EndIf
EndFunc   ;==>_Exit

 

Link to comment
Share on other sites

Thanks to all actually. You guys have made something better of this code. As I show you in precedent post some number are

"49030"

Then I raised the dictionary key=item to 50k, and it's like the script it already over....:

image.thumb.png.478095ba1346d4873f0c14e44679e4e9.png

I just need to rework how I will post process the data. I rethought the way to display them :

Since tool tip is not the best way to manage the data after if I will get multiple result I choose this way to display the data

image.thumb.png.5e5afadaa439821053fdfeb9c8faac4d.png

It will be much better and easy to use. And easier to manipulate to post-process any data. I'm using WebDrivers to open any link with double-click on list view items. I will be able to manage the code to  my needs. It's already the case for the precedent logic. But since @mikell show me a 50x better logic. I will try to work with his logic. And begin the learning of object in AutoIT. 

@mikell Thanks for that lesson. May I repost here to ask a help to rework this. But it should be OK.

My video tutorials : ( In construction )  || My Discord : https://discord.gg/S9AnwHw

How to Ask Help ||  UIAutomation From Junkew || WebDriver From Danp2 || And Water's UDFs in the Quote

Spoiler

 Water's UDFs:
Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Link to comment
Share on other sites

It's done. 

Wow... so powerful... Thanks again. This part of the tool is over. And work as expected in all case. 

Happy new year everyone. 

@mikell @Jos @FrancescoDiMuro @Nine @GokAy

I added a string check in the listview. So each item is displayed only one time. And I modified the pattern of mikell only to make it case-insensitive. 

To answer to @GokAy I will "check" predict misspelling by adding predicted misspelling on non-used link in my documentation base to put predicted misspelling instead and add a condition or for the listview add. And here it is. 

 

ty.

Edited by caramen

My video tutorials : ( In construction )  || My Discord : https://discord.gg/S9AnwHw

How to Ask Help ||  UIAutomation From Junkew || WebDriver From Danp2 || And Water's UDFs in the Quote

Spoiler

 Water's UDFs:
Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

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...