Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Deutsche Hilfe für AHK 1.1


  • Please log in to reply
55 replies to this topic
roady1969
  • Members
  • 88 posts
  • Last active: Aug 12 2015 03:04 PM
  • Joined: 19 Dec 2012

Hallo,

 

- kann es sein, dass in der aktuellen Version die Hinweis zum "Click"-Befehl nicht (mehr?) entthalten sind?

- das Updatescript klappt bei mir auch nicht. S.a. entsprechende Post im Script-Update-Thread.

 

Danke fuer die Hilfe und Deine Muehe!

Roady



SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Der Click-Befehl ist noch vorhanden, jedoch nicht im Index (ich habe diesen gestern auch gesucht).
Man kann ihn glaube ich über MouseClick erreichen (über einen Link).
 
Beim Update-Script werde ich mal schauen, ob ich eine andere Funktion zum Unzippen finde - danke für die Rückmeldung!



Ragnar
  • Members
  • 68 posts
  • Last active: Aug 26 2015 12:18 PM
  • Joined: 02 Oct 2006

kann es sein, dass in der aktuellen Version die Hinweis zum "Click"-Befehl nicht (mehr?) entthalten sind?

 

Bitte etwas genauer. Es gibt mehrere Stellen, die auf Click hinweisen. Wenn du die Seite selbst meinst: http://ragnar-f.gith...mands/Click.htm

 

das Updatescript klappt bei mir auch nicht. S.a. entsprechende Post im Script-Update-Thread.

 

http://www.autohotke...fe/#entry579052

 

Der Click-Befehl ist noch vorhanden, jedoch nicht im Index (ich habe diesen gestern auch gesucht).
Man kann ihn glaube ich über MouseClick erreichen (Link).

 

Unter "Klicken einer Maustaste" ("Click a mouse button") zu finden wink.png. Ich werde noch "Click" hinzufügen.

Allerdings findet man alle Befehle auch in der Befehlsliste.



SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Und beim Update-Script werde ich mal schauen, ob ich eine andere Funktion zum Unzippen finde - danke für die Rückmeldung!

Leider habe ich keine andere Funktion gefunden, die ohne externe .dll auskommt...

 

Und ich suche auch meistens direkt nach einem Befehl im Index, da wäre es schön, wenn auch Click gefunden wird wink.png



Ragnar
  • Members
  • 68 posts
  • Last active: Aug 26 2015 12:18 PM
  • Joined: 02 Oct 2006

Änderung in eigener Sache:

  • Hilfeleiste hinzugefügt, die je nach Status (mit oder ohne Navigationsleiste, oder CHM) folgendes beinhaltet:
    • Hilfe mit Navigationsleiste anzeigen
    • Permalink (eine schnelle Möglichkeit, den Link zur aktuellen Seite zu kopieren)
    • Link zur englischen Originalseite, die zum Übersetzen verwendet wurde/wird

Natürlich funktioniert die Hilfeleiste nur, wenn JavaScript erlaubt/aktiviert ist.



nnnik
  • Members
  • 1625 posts
  • Last active: Apr 11 2017 02:13 PM
  • Joined: 28 Jul 2012

Generell hat mich an der Hilfe zu OnMessage() das unterste Beispiel gestört.

 

; Beispiel: Sendet einen String mit beliebiger Länge von einem Script zum anderen. Das ist ein funktionierendes Beispiel.
; Um es zu verwenden, müssen beide folgende Scripts gespeichert und ausgeführt und danach Win+Leertaste gedrückt werden,
; um eine InputBox anzuzeigen, die den Benutzer auffordert, einen String einzugeben.

; Speichert das folgende Script als "Empfänger.ahk" und startet es:
#SingleInstance
OnMessage(0x4a, "WM_COPYDATA_Empfangen")  ; 0x4a ist WM_COPYDATA
Return

WM_COPYDATA_Empfangen(wParam, lParam)
{
    Stringadresse := NumGet(lParam + 2*A_PtrSize)  ; Ermittelt die Adresse vom lpData-Element in CopyDataStruct.
    Datenkopie := StrGet(Stringadresse)  ; Kopiert den String aus der Struktur.
    ; Mit ToolTip anzeigen, damit wir rechtzeitig zurückkehren können:
    ToolTip %A_ScriptName%`nFolgender String empfangen:`n%Datenkopie%
    Return true  ; Die Rückgabe von 1 (wahr) ist der traditionelle Weg, um diese Nachricht zu bestätigen.
}

; Speichert das folgende Script als "Sender.ahk" und startet es:  Drückt danach den Hotkey Win+Leertaste.
Empfängertitel = Empfänger.ahk ahk_class AutoHotkey

#space::  ; Hotkey: Win+Leertaste Drücken, um eine InputBox für die Eingabe eines String anzuzeigen.
InputBox, StringSenden, Text mit WM_COPYDATA senden, Beliebigen Text eingeben:
If ErrorLevel  ; Benutzer hat die Abbrechen-Schaltfläche gedrückt.
    Return
Ergebnis := WM_COPYDATA_Senden(StringSenden, Empfängertitel)
If Ergebnis = FAIL
    MsgBox SendMessage fehlgeschlagen. Existiert der folgende Fenstertitel?:`n%Empfängertitel%
Else If Ergebnis = 0
    MsgBox Nachricht gesendet, aber das Zielfenster hat mit 0 geantwortet (es ignoriert die Nachricht).
Return

WM_COPYDATA_Senden(ByRef StringSenden, ByRef Empfängertitel)  ; ByRef spart in diesem Fall ein wenig Speicherplatz.
; Diese Funktion sendet den angegebenen String an das angegebene Fenster und gibt eine Anwort zurück.
; Die Antwort ist 1, wenn das Zielfenster die Nachricht verarbeitet hat oder 0, wenn die Nachricht ignoriert wurde.
{
    VarSetCapacity(CopyDataStruct, 3*A_PtrSize, 0)  ; Bestimmt den Speicherbereich der Struktur.
    ; Zuerst wird das cbData-Element der Struktur auf die Größe des Strings gesetzt, einschließlich dem Null-Terminator.
    GrößeInBytes := (StrLen(StringSenden) + 1) * (A_IsUnicode ? 2 : 1)
    NumPut(GrößeInBytes, CopyDataStruct, A_PtrSize)  ; OS setzt voraus, dass das getan werden muss.
    NumPut(&StringSenden, CopyDataStruct, 2)  ; lpData zeigt auf dem String selbst.
    DetectHiddenWindows_Vorher := A_DetectHiddenWindows
    TitleMatchMode_Vorher := A_TitleMatchMode
    DetectHiddenWindows On
    SetTitleMatchMode 2
    SendMessage, 0x4a, 0, &CopyDataStruct,, %Empfängertitel%  ; 0x4a ist WM_COPYDATA. Verwendet Send, nicht Post.
    DetectHiddenWindows %DetectHiddenWindows_Vorher%  ; Stellt die ursprüngliche Einstellung wieder her.
    SetTitleMatchMode %TitleMatchMode_Vorher%         ; Das Gleiche.
    Return ErrorLevel  ; Die Antwort von SendMessage zurückgeben.
}

 

Dort braucht man sehr viel Code um einen String an ein anderes Skript zu senden.

Dabei geht das doch jetzt einfacher.

Dazu steht in Send und Post Message:

 

Die Parameter Nachricht, wParam und lParam sollten Integer zwischen -2147483648 und 4294967295 (0xFFFFFFFF) sein. Wie bei allen Integer-Werten in AutoHotkey kennzeichnet das 0x-Präfix einen Hex-Wert. Zum Beispiel ist 0xFF das gleiche wie 255.

Ein String kann über wParam oder lParam gesendet werden, wenn die Adresse einer Variable angegeben wird. Im folgenden Beispiel wird dafür der Adressoperator (&) verwendet:

SendMessage, 0xC, 0, &EigeneVar, ClassNN, Fenstertitel ; 0XC ist WM_SETTEXTSeit v1.0.43.06 wird ein String, der vom Empfänger in EigeneVar eingefügt wurde, wahrscheinlich erkannt, ohne dass zusätzliche Schritte nötig sind. Das funktioniert allerdings nur, wenn das erste Zeichen im Parameter ein Und-Zeichen (&) ist. Zum Beispiel würde 5+&EigeneVar nicht funktionieren, aber &EigeneVar oder &EigeneVar+5 würde funktionieren.

Ein direkter/in Anführungszeichen gesetzter String kann auch wie folgt gesendet werden (in diesem Fall sollte der &-Operator weggelassen werden):

Run Notepad
WinWaitActive Unbenannt - Editor
SendMessage, 0xC, 0, "Neuer Editor-Titel" ; 0XC ist WM_SETTEXT

 

Wäre nett wenn du das ändern könntest.


Visit the new forum ahkscript.org.

http://ahkscript.org


Ragnar
  • Members
  • 68 posts
  • Last active: Aug 26 2015 12:18 PM
  • Joined: 02 Oct 2006

Das Beispiel war/ist in der engl. Hilfe von AutoHotkey Basic noch viel länger: http://www.autohotke...s/OnMessage.htm.

 

Da das Beispiel inzwischen anders aussieht, kann man daraus schlussfolgern, dass es schon mehrmals von erfahrenen Programmierern (einschließlich Lexikos) überblickt und angepasst worden ist, ohne dass sie jemals den Drang hatten, dieses Beispiel entfernen zu wollen.

 

Außerdem müsste so eine "schwerwiegende" Änderung erst in der englischen Doku durchgeführt werden, bevor das in der deutschen Doku passieren wird.

 

Du kannst dein Vorschlag gerne im englischen Forum unter "Suggestions" unterbreiten.



SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Änderung in eigener Sache:

  • Hilfeleiste hinzugefügt, die je nach Status (mit oder ohne Navigationsleiste, oder CHM) folgendes beinhaltet:
    • Hilfe mit Navigationsleiste anzeigen
    • Permalink (eine schnelle Möglichkeit, den Link zur aktuellen Seite zu kopieren)
    • Link zur englischen Originalseite, die zum Übersetzen verwendet wurde/wird

Natürlich funktioniert die Hilfeleiste nur, wenn JavaScript erlaubt/aktiviert ist.

Daumen hoch, dafür ist bei mir immer viel Zeit draugegangen...



SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Die github-Pages sind jetzt anscheinend unter github.io erreichbar, solltest du also bei den Dauerlinks ändern.

 

https://github.com/b...omain-github-io



Ragnar
  • Members
  • 68 posts
  • Last active: Aug 26 2015 12:18 PM
  • Joined: 02 Oct 2006

Danke für die Info, wurde geändert.

 

Nur um muss Missverständnisse vorzubeugen: ragnar-f.github.com kann weiterhin aufgerufen werden. Es erfolgt automatisch eine Weiterleitung zu ragnar-f.github.io.



SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Könntest du die Seite vielleicht mal bei den Google Webmastertools anmelden? Wäre schön, wenn man auch die deutsche AHK-Hilfe per Google-Suche finden kann, und würde sicher auch vielen helfen.



Ragnar
  • Members
  • 68 posts
  • Last active: Aug 26 2015 12:18 PM
  • Joined: 02 Oct 2006

Sie ist bereits seit 6 Monaten dort angemeldet, allerdings unter "ragnar-f.github.com" (jetzt unter github.io). Siehe Github-Commit. Außerdem war die Seite schon immer in Google auffindbar.



Ragnar
  • Members
  • 68 posts
  • Last active: Aug 26 2015 12:18 PM
  • Joined: 02 Oct 2006

Dokumentation an v1.1.10.00 angepasst:

  • Fehlende Inline-Codes hinzugefügt
  • Fehlende Links hinzugefügt
  • Bisher undokumentierten SendMessage-Parameter "Zeitüberschreitung" hinzugefügt (seit AHK_L 42 verfügbar)

Mehr Details auf GitHub



Ragnar
  • Members
  • 68 posts
  • Last active: Aug 26 2015 12:18 PM
  • Joined: 02 Oct 2006

Dokumentation an v1.1.10.01 angepasst:

  • Informationen über die Unterstützung von RegRead/RegWrite-Werten größer als 64 KB geändert.

Mehr Details auf GitHub



SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Hey, habe einen kleinen Bug gefunden, vielleicht kannst du den fixen:

 

Wenn man z.B. erst Round() und dann Ceil() anschaut (also zwei Funktionen auf einer Seite, beide durch den Index ausgewählt), bleibt oben beim Permalink immer noch der Anker (#Round) von der ersten Funktion (in dem Fall Round()) stehen.

Wäre schön, wenn du das fixen kannst.

Ich kann auch mal in github drüberschauen.