Webseiten und AHK Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

User avatar
glnklein
Posts: 90
Joined: 23 Oct 2020, 04:26

Webseiten und AHK

Post by glnklein » 26 Apr 2021, 14:42

Hallo ,ich versuche mal wieder etwas neues umzusetzen nur leider finde ich nicht die richtige Funktion , hoffe das jemand etwas kennt was man verwenden könnte .

ich möchte in einem GUI eine PHP Seite aus dem Internet aufrufen und wenn man auf z.B. einen Buttonklick soll eine variable übernommen werden ,gibt es so etwas in ahk ?

Bisher bin ich nur auf Neutron.ahk-1.0.0 gekommen aber leider funktioniert das nur lokal und nicht übers netz .
:D verwende AutoHotkey104805 :D ------------------------UPDATE auf ..1.1.33.02 erfolgreich , jetzt kommen neue Probleme :lolno:

User avatar
glnklein
Posts: 90
Joined: 23 Oct 2020, 04:26

Re: Webseiten und AHK

Post by glnklein » 27 Apr 2021, 02:50

gefunden habe ich nun das :

Code: Select all

#NoEnv
#SingleInstance Force
SetBatchLines, -1

Gui, Add, ActiveX, w900 h400 vwb, Shell.Explorer
Gui, Add, ListView, wp r20 Grid, #|Event Name|Event Params

Gui, Show ,
WB.Silent := True
for col, width in [37, 142, 676]
	LV_ModifyCol(col, width)

ComObjConnect(wb, new wbEvent)
wb.navigate("https://www.autohotkey.com/")
return

class wbEvent
{
	__Call(Name, Params*) {
		Loop, % Params.MaxIndex() - 1 {
			sParams .= (A_Index>1 ? "," : "") . Params[A_Index]
		}
		RowNumber := LV_Add("", 0, Name, sParams)
		LV_Modify(RowNumber, "Vis Col1", RowNumber)
		
		if name = NavigateComplete2
		{
		msgbox, %sParams% ; aus dem sParams kann man sich das raus holen was man braucht 
		}
		
	}
}

eventuell gibt es eine bessere Lösung aber so erhält man weichsten mit jedem Seitenwechsel eine variable und mit einer GET variablen in PHP könnte man auch befehle an AHK übergeben


Ich lasse das Thema noch als ungelöst auch wenn ich mit diesem Code arbeiten kann , eventuell kennt jemand einen besseren weg
:D verwende AutoHotkey104805 :D ------------------------UPDATE auf ..1.1.33.02 erfolgreich , jetzt kommen neue Probleme :lolno:

effel
Posts: 544
Joined: 16 Jan 2018, 13:34

Re: Webseiten und AHK

Post by effel » 01 May 2021, 12:22

wo hast du das gefunden?

BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Webseiten und AHK

Post by BoBo » 01 May 2021, 14:07

effel wrote:
01 May 2021, 12:22
wo hast du das gefunden?
Ich würde mal :arrow: hier vermuten :shh:
Hättest du aber auch selbst gefunden! :thumbup:

User avatar
glnklein
Posts: 90
Joined: 23 Oct 2020, 04:26

Re: Webseiten und AHK

Post by glnklein » 02 May 2021, 09:03

richtig dort habe ich es gefunden .


ich stehe etwas auf dem schlauch ,ich kante mal die Lösung finde sie aber nicht , wie bekomme ich aus der klasse eine variable in das normal Skript , wenn ich mit gosub etwas aufrufe was außerhalb der classe ist kommt der wert der variablen nicht an .








Code: Select all

#NoEnv
#SingleInstance Force
SetBatchLines, -1

Gui, Add, ActiveX, w900 h400 vwb, Shell.Explorer
Gui, Add, ListView, wp r20 Grid, #|Event Name|Event Params

Gui, Show ,
WB.Silent := True
for col, width in [37, 142, 676]
	LV_ModifyCol(col, width)

ComObjConnect(wb, new wbEvent)
wb.navigate("https://www.autohotkey.com/")
return

class wbEvent
{
	__Call(Name, Params*) {
		Loop, % Params.MaxIndex() - 1 {
			sParams .= (A_Index>1 ? "," : "") . Params[A_Index]
		}
		RowNumber := LV_Add("", 0, Name, sParams)
		LV_Modify(RowNumber, "Vis Col1", RowNumber)
		
		if name = NavigateComplete2
		{
		neuerVar := sParams
		gosub,ausgabe
		}
		
	}
}



ausgabe:
msgbox, %neuerVar% ; aus dem sParams kann man sich das raus holen was man braucht 
return

danke
:D verwende AutoHotkey104805 :D ------------------------UPDATE auf ..1.1.33.02 erfolgreich , jetzt kommen neue Probleme :lolno:

effel
Posts: 544
Joined: 16 Jan 2018, 13:34

Re: Webseiten und AHK

Post by effel » 02 May 2021, 09:30

BoBo wrote:
01 May 2021, 14:07
Hättest du aber auch selbst gefunden! :thumbup:
Danke Bobo
normal finde ich sowas schon, aber dieses mal war deine Hilfe nötig :P

effel
Posts: 544
Joined: 16 Jan 2018, 13:34

Re: Webseiten und AHK

Post by effel » 02 May 2021, 10:08

glnklein wrote:
02 May 2021, 09:03
ich stehe etwas auf dem schlauch
meinst du vielleicht etwas in dieser Richtung?

Code: Select all

Gui, Add, ActiveX, w900 h400 vwb, Shell.Explorer
Gui, Add, ListView, wp r20 Grid, #|Event Name|Event Params

Gui, Show ,
WB.Silent := True
for col, width in [37, 142, 676]
	LV_ModifyCol(col, width)

ComObjConnect(wb, new wbEvent)
wb.navigate("https://www.autohotkey.com/")
return

class wbEvent
{
	__Call(Name, Params*) {
		Loop, % Params.MaxIndex() - 1 {
			sParams .= (A_Index>1 ? "," : "") . Params[A_Index]
		}
		RowNumber := LV_Add("", 0, Name, sParams)
		LV_Modify(RowNumber, "Vis Col1", RowNumber)
		
		if name = NavigateComplete2
		{
;		msgbox, %sParams% ; aus dem sParams kann man sich das raus holen was man braucht 
                MyMsgBoxFunc(sParams)
		}
		
	}
}

MyMsgBoxFunc(sParams) {
MsgBox,,,% sParams,2
}

User avatar
glnklein
Posts: 90
Joined: 23 Oct 2020, 04:26

Re: Webseiten und AHK

Post by glnklein » 02 May 2021, 10:52

effel ,so in etwa allerdings wollte ich die variable nicht in eine neue Funktion packen sondern die variable außerhalb der Funktion weiter erhalten als einfache variable
:D verwende AutoHotkey104805 :D ------------------------UPDATE auf ..1.1.33.02 erfolgreich , jetzt kommen neue Probleme :lolno:

just me
Posts: 9453
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Webseiten und AHK

Post by just me » 02 May 2021, 11:01

Moin,

um den Inhalt einer methodeninternen Variablen per MsgBox auszugeben, braucht man weder eine 'globale' Variable und ein Gosub noch eine MyMsgBoxFunc() Funktion. Was also willst Du denn wirklich mit dem Wert aus sParams machen?

User avatar
glnklein
Posts: 90
Joined: 23 Oct 2020, 04:26

Re: Webseiten und AHK

Post by glnklein » 02 May 2021, 11:08

ich möchte ihn später als variable an eine Gui übergeben ,ein Gui innerhalb einer classe auf zu rufen geht aber nicht , also muss ich aus der klasse raus und brauche dann die variable
.
ob man sie als msgbox oder parameter verwendet ändert leider nichts daran das ich das Gui inerhalb der klasse nicht erstellt bekomme .

mein einzige Lösung sieht bisher so aus das ich innerhalb der klasse die variable in eine txt speichere und sie außerhalb wieder einlese , ist aber keine schöne Lösung wie ich finde
:D verwende AutoHotkey104805 :D ------------------------UPDATE auf ..1.1.33.02 erfolgreich , jetzt kommen neue Probleme :lolno:

User avatar
glnklein
Posts: 90
Joined: 23 Oct 2020, 04:26

Re: Webseiten und AHK

Post by glnklein » 02 May 2021, 12:23

Ich habe nun mal einen Code gemacht der funktioniert ....ABER schön ist das nicht und ich hoffe das jemand eine Lösung hat .

Code: Select all

#NoEnv
#SingleInstance Force
SetBatchLines, -1

Gui, Add, ActiveX, w900 h400 vwb, Shell.Explorer
Gui, Add, ListView, wp r20 Grid, #|Event Name|Event Params

Gui, Show ,
WB.Silent := True
for col, width in [37, 142, 676]
	LV_ModifyCol(col, width)

ComObjConnect(wb, new wbEvent)
wb.navigate("https://www.autohotkey.com/")
return

class wbEvent
{
	__Call(Name, Params*) {
		Loop, % Params.MaxIndex() - 1 {
			sParams .= (A_Index>1 ? "," : "") . Params[A_Index]
		}
		RowNumber := LV_Add("", 0, Name, sParams)
		LV_Modify(RowNumber, "Vis Col1", RowNumber)
		
		if name = NavigateComplete2
		{
		neuerVar := sParams
		IniWrite , %sParams% , %A_ScriptDir%\test.ini , testvar , neuerVar
		gosub,ausgabe
		}
		
	}
}



ausgabe:

IniRead , neuerVar , %A_ScriptDir%\test.ini , testvar , neuerVar
msgbox, msgbox ausserhalb der classe %neuerVar%


return
:D verwende AutoHotkey104805 :D ------------------------UPDATE auf ..1.1.33.02 erfolgreich , jetzt kommen neue Probleme :lolno:

just me
Posts: 9453
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Webseiten und AHK  Topic is solved

Post by just me » 03 May 2021, 03:33

glnklein wrote:Ich habe nun mal einen Code gemacht der funktioniert ....
.... und wieder haben wir die MsgBox.

Du kannst innerhalb der Klasse jederzeit eine globale Variable erstellen, wenn Du sie innerhalb der Klasse als global oder außerhalb der Klasse als super-global definierst, z.B.

Code: Select all

class wbEvent
{
	__Call(Name, Params*) {
		Global GlobalParams
		...
		if name = NavigateComplete2
		{
			GlobalParams:= sParams
			gosub,ausgabe
		}
		...
	}
}

ausgabe:
	msgbox, msgbox ausserhalb der classe %GlobalParams%
return
Den Inhalt der Variablen hast Du allerdings gerade innerhalb der Klassenmethode als letzte Zeile an das ListView angehängt. Du kannst ihn deshalb auch ohne Mühe von dort auslesen:

Code: Select all

Ausgabe:
LetzteZeile := LV_GetCount()
LV_GetText(NeueParams, LetzteZeile, 3)
msgbox, msgbox ausserhalb der classe %NeueParams%
Return

User avatar
glnklein
Posts: 90
Joined: 23 Oct 2020, 04:26

Re: Webseiten und AHK

Post by glnklein » 03 May 2021, 03:54

just me wrote:
03 May 2021, 03:33
glnklein wrote:Ich habe nun mal einen Code gemacht der funktioniert ....
.... und wieder haben wir die MsgBox.

Du kannst innerhalb der Klasse jederzeit eine globale Variable erstellen, wenn Du sie innerhalb der Klasse als global oder außerhalb der Klasse als super-global definierst, z.B.

Code: Select all

class wbEvent
{
	__Call(Name, Params*) {
		Global GlobalParams
		...
		if name = NavigateComplete2
		{
			GlobalParams:= sParams
			gosub,ausgabe
		}
		...
	}
}

ausgabe:
	msgbox, msgbox ausserhalb der classe %GlobalParams%
return
Den Inhalt der Variablen hast Du allerdings gerade innerhalb der Klassenmethode als letzte Zeile an das ListView angehängt. Du kannst ihn deshalb auch ohne Mühe von dort auslesen:

Code: Select all

Ausgabe:
LetzteZeile := LV_GetCount()
LV_GetText(NeueParams, LetzteZeile, 3)
msgbox, msgbox ausserhalb der classe %NeueParams%
Return








:superhappy: :bravo: :bravo:

GENAU DAS WAR ES "globale Variable"....booohh bin ich blöd .

DANKE

habe nun den code genauso wie ich ihn brauche ,weil möchte ja nicht immer das ListView sehen . !

Code: Select all

#NoEnv
#SingleInstance Force
SetBatchLines, -1

Gui, Add, ActiveX, w900 h400 vwb, Shell.Explorer

Gui, Show ,
WB.Silent := True

ComObjConnect(wb, new wbEvent)
wb.navigate("https://www.autohotkey.com/")
return

class wbEvent
{
	__Call(Name, Params*) {
		Global GlobalParams
		Loop, % Params.MaxIndex() - 1 {
			sParams .= (A_Index>1 ? "," : "") . Params[A_Index]
		}
			
		if name = NavigateComplete2
		{
		GlobalParams:= sParams
		gosub,ausgabe
		
		}
		
	}
}



ausgabe:
msgbox, globale ausgabe %GlobalParams%

Return
:D verwende AutoHotkey104805 :D ------------------------UPDATE auf ..1.1.33.02 erfolgreich , jetzt kommen neue Probleme :lolno:

Post Reply

Return to “Ich brauche Hilfe”