Wir hatten es schon mehrfach erwähnt, dieses ist ein Skript-Forum. Sinn und Zweck: Wir teilen hier unsere Werke und zeigen somit Lösungswege auf.
Insofern wäre es schon sinnvoll, wenn du hier keinen Link zu deiner Seite, sondern deine Skripte selbst einstellst.
Beiträge von BugFix
-
-
Kann denn keiner zu Frage 1 antworten?
Das Problem dabei:
- StandardControls geben beim Erstellen eine ID zurück. Mit dieser ID kann man per GuiCtrlSetState($ID, $GUI_HIDE) das Control ausblenden.
- Das RichEdit Control gibt ein Handle zurück. Mit dem Handle funktioniert dieses aber nicht.Mir fällt im Moment dazu keine Lösung ein.
-
In Zeile 72: $msg = GUIGetMsg()
Wozu? Das wird a) nicht gebraucht und b) stört es dein Skript da du im OnEvent-Modus arbeitest. Eines geht nur. -
Danke!
Ich hatte mich zusehr in der UDF BugFix festgefahren und du hast mir nen kleinen Denkanstoß gegeben
Werde damit jetzt mal ein bissel rumprobieren...
Von der UDF ist für dich nur wichtig das Einlesen und anschließende "Zerhackstückeln" in gleich große Pakete. In meinem Bsp. ist die Größe der Pakete gebunden an die max. Zeichenlänge je Codezeile. Du mußt die Paketgröße wählen, die du auch auf der Empfängerseite in TCPRecv festlegst. -
Schau dir einfach die Hilfe zu ProcessList an.
Dort siehst du die Rückgabe als Array und im Beispiel, wie du dadurch iterieren kannst. -
1.Wozu brauch man StringRegExp/StringRegExpReplace?
2.Wie verwendet man StringRegExp?
3.Wo kann man es gebrauchen?
1. Um Texte nach bestimmten Mustern zu durchsuchen und diese ggf. zu ersetzen.
2. Das ist sehr komplex. Es gibt niemals nur einen Lösungsweg. Lies meines und andere Tutorial und probiere dich aus.
3. Gebrauchen kann man es überall dort, wo Textbestandteile, die einem bestimmten Muster entsprechen gesucht und/oder ersetzt werden sollen.Das war die Kurzform, weiteres kannst du in der Hilfe nachlesen.
-
Das ist der betreffende Thread: Fremddateien "includen" (ohne FileInstall)
Da ist ein Funktion um die Datei in einen Binärstring und zurück zu wandeln. -
- Unnötige einzeilige If-Blöcke zusammenfassen:
Gilt das noch oder hast du das evtl. geändert?
Ich glaube, wir hatten mal in einem Wettbewerb festgestellt, dass einzeilige If-Statements deutlich langsamer sind als If-Then-EndIf. Somit wäre das kontraproduktiv. -
2. genau wie im Bsp.:
Spoiler anzeigen
[autoit]#include <Misc.au3>
[/autoit] [autoit][/autoit] [autoit]
#include "GuiRichEdit.au3"
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <SendMessage.au3>
#include <WindowsConstants.au3>
Opt("MustDeclareVars", 1)Global $h_RichEdit
[/autoit] [autoit][/autoit] [autoit]
_Main()Func _Main()
[/autoit] [autoit][/autoit] [autoit]
Local $msg, $hgui, $button
Local $mnuOptions, $mnuBKColor, $mnuResetBKColor
Local $bkcolor, $bkcolor_save = 16777215, $lResult$hgui = GUICreate("Rich Edit Example", 500, 550, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_SIZEBOX))
[/autoit] [autoit][/autoit] [autoit]
$mnuOptions = GUICtrlCreateMenu("Options")
$mnuBKColor = GUICtrlCreateMenuItem("Set Back Color of Control", $mnuOptions)
$mnuResetBKColor = GUICtrlCreateMenuItem("Reset Back Color of Control", $mnuOptions)$h_RichEdit = _GUICtrlRichEditCreate ($hgui, 10, 10, 480, 420, BitOR($ES_WANTRETURN, $WS_HSCROLL, $ES_SUNKEN, $ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing($h_RichEdit, $GUI_DOCKAUTO)
$lResult = _SendMessage($h_RichEdit, $EM_SETEVENTMASK, 0, BitOR($ENM_REQUESTRESIZE, $ENM_LINK, $ENM_DROPFILES, $ENM_KEYEVENTS, $ENM_MOUSEEVENTS))
_DebugPrint ("$h_RichEdit handle: " & $h_RichEdit)
$lResult = _SendMessage($h_RichEdit, $EM_AUTOURLDETECT, True)
_GUICtrlRichEditInsertText ($h_RichEdit, 'Testing' & @CRLF)
$button = GUICtrlCreateButton("Exit", 100, 460, 100, 25)
GUISetState(@SW_SHOW)
Sleep(1000)
_GUICtrlRichEditSetText ($h_RichEdit, "This is a test" & @CRLF)
Sleep(1000)
_GUICtrlRichEditAppendText ($h_RichEdit, 'http://www.autoitscript.com/forum' & @CRLF)
Sleep(1000)
_GUICtrlRichEditSetSel ($h_RichEdit, 0, 15)
Sleep(1000)
_GUICtrlRichEditInsertText ($h_RichEdit, "Welcome to AutoIt" & @CRLF)
Sleep(1000)
_GUICtrlRichEditAppendText ($h_RichEdit, 'mailto:yourmail@your.com' & @CRLF)
_GUICtrlRichEditSetSel($h_RichEdit, 0, 17)
Local $a_Result = _GUICtrlRichEditGetSel($h_RichEdit)
;Register WM_NOTIFY events
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY_Events")
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE Or $msg = $button
Exit
Case $msg = $GUI_EVENT_RESIZED
_SendMessage($h_RichEdit, $EM_REQUESTRESIZE)
Case $msg = $mnuBKColor
$bkcolor = _ChooseColor(0, 16777215)
If Not @error Then
$bkcolor_save = _SendMessage($h_RichEdit, $EM_SETBKGNDCOLOR, 0, $bkcolor)
EndIf
Case $msg = $mnuResetBKColor
_SendMessage($h_RichEdit, $EM_SETBKGNDCOLOR, 1, $bkcolor_save)
EndSelect
WEnd
EndFunc ;==>_MainFunc WM_NOTIFY_Events($hWndGUI, $MsgID, $wParam, $lParam)
[/autoit]
#forceref $hWndGUI, $MsgID
Local $identifier, $nmhdr, $hwndFrom, $idFrom, $code
$nmhdr = DllStructCreate($NMHDR_fmt, $lParam)
$hwndFrom = DllStructGetData($nmhdr, 1)
$idFrom = DllStructGetData($nmhdr, 2)
$code = DllStructGetData($nmhdr, 3)
Switch $hwndFrom
Case $h_RichEdit
Switch $code
Case $EN_LINK
Local $EN_LINK_struct = DllStructCreate($ENLINK_fmt, $lParam)
$hwndFrom = DllStructGetData($EN_LINK_struct, 1)
$idFrom = DllStructGetData($EN_LINK_struct, 2)
$code = DllStructGetData($EN_LINK_struct, 3)
Local $en_link_msg = DllStructGetData($EN_LINK_struct, 4)
Local $en_link_wParam = DllStructGetData($EN_LINK_struct, 5)
Local $en_link_lParam = DllStructGetData($EN_LINK_struct, 6)
Local $cpMin = DllStructGetData($EN_LINK_struct, 7)
Local $cpMax = DllStructGetData($EN_LINK_struct,
If BitAND($en_link_msg, $WM_LBUTTONDOWN) = $WM_LBUTTONDOWN Then
Local $link_clicked = _GUICtrlRichEditGetText ($hwndFrom, $cpMin, $cpMax) ; doesn't seem to work on zoomed text
If $link_clicked <> "" Then Run(@ComSpec & ' /c START "" "' & $link_clicked & '"', @SystemDir, @SW_HIDE)
EndIf
Case $EN_MSGFILTER
Local $EN_MSGFILTER_struct = DllStructCreate($msgfilter_fmt, $lParam)
$hwndFrom = DllStructGetData($EN_MSGFILTER_struct, 1)
$idFrom = DllStructGetData($EN_MSGFILTER_struct, 2)
$code = DllStructGetData($EN_MSGFILTER_struct, 3)
Local $en_msgfilter_msg = DllStructGetData($EN_MSGFILTER_struct, 4)
Local $en_msgfilter_wParam = DllStructGetData($EN_MSGFILTER_struct, 5)
Local $en_msgfilter_lParam = DllStructGetData($EN_MSGFILTER_struct, 6)
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY_EventsLäßt sich noch weiter kürzen - aber $EN_LINK ist der Schlüssel.
-
Das ist sehr wichtig, weil schon ein Unterschied von ca 1Sekunde den Sieg gefährden kann.
Somit ist eindeutig: Du willst dir (euch) gegenüber anderen, die selbst aufs Knöpfchen drücken müssen, einen Vorteil verschaffen.
Das ist ein Verstoß gegen unsere Forenregeln und sicher auch ein Verstoß gegenüber den AGB des Spielebetreibers.
==> Topic Closed! -
Das Ziel ist es, das 3 Personen Syncron die Taste 1 Klicken.
Zum Einen gibt es keine echte Synchronität im Netz, da je nach Verbindungsweg unterschiedlich lange Laufzeiten auftreten. Zum Anderen sagst du nur, was in diesem einen Schritt passieren soll ohne Bezug zu nehmen auf dein tatsächliches Vorhaben.
Da erscheint dein Tun doch recht seltsam.
-
Steht doch in der Funktionsbeschreibung
ZitatUse _GUICtrlListView_FindInText if you want to search for the text in subitems.
-
Als komplexe Funktion habe ich es bisher nicht gesehen.
Wenn ich es völlig individuell möchte, verwende ich die GUI im WS_POPUP-Style und verwende eigene Images als Button (mit entsprechendem Klick-Effekt). Auch Menüleisten lassen sich auf diese Weise farbig gestalten und sind flexibler. -
Habt ihr euch mal diesen Chat angeschaut?
Finde ich sehr gelungen, da fällt einem eigentlich kein Grund ein, das Rad nochmal zu erfinden.
-
Bei Google muß ich immer irgendwie an den Rattenfänger von Hameln denken.
Mit tollen (bzw. toll erscheinenden) technischen Rafinessen werden die Kindlein angelockt und vergessen alle Vorsichtsmaßnahmen.
z.B. GoogleStreetView
- massenhafte Verletzung des Datenschutzes
- Eingriff in die Privatsphäre
Der Google-Browser wurde auch erst nach massiven Protesten von einem Spionagetool gesäubert.Wenn Monopolstellungen entstehen, hat der normale User nix mehr zu lachen. Aus meiner Sicht auch ein blankes Horrorszenario.
-
Schau dir mal µit - Juli an. Da war das die Aufgabenstellung.

-
Die Buchstabenhäufigkeit kannst du (ohne große Skriptänderung) etwas komfortabler ermitteln:
[autoit]Local $text = 'Dein Text'
[/autoit]
Local $sLetter = ' abcdefghijklmnopqrsßtuvwxyzäöüABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ'
Local $aLetter = StringSplit($sLetter, '', 2)
Local $aOut[UBound($aLetter)][2]
For $i = 0 To UBound($aLetter) -1
StringReplace($text, $aLetter[$i], '', Default, 1)
$aOut[$i][0] = $aLetter[$i] ; Buchstabe
$aOut[$i][1] = @extended ; Häufigkeit in $text
Next
_ArrayDisplay($aOut) -
Zwei- oder mehrmals Case zu einer ID geht auch - mit ContinueCase.
[autoit]
Macht zwar wenig Sinn, da es einfacher ist beide Befehle nacheinander in einem Case abzuarbeiten.GUICreate('test')
[/autoit][autoit][/autoit][autoit]
$b1 = GUICtrlCreateButton('B1', 10,10,100,20)
$b2 = GUICtrlCreateButton('ENDE', 200,10,80,20)
GUISetState()While 1
[/autoit]
$m = GUIGetMsg()
Switch $m
Case $b1
MsgBox(0, '', 'B1 - die Erste!')
ContinueCase
Case $b1
MsgBox(0, '', 'B1 - die Zweite!')
Case -3, $b2
Exit
EndSwitch
WEnd -
?? Ich sehe keine Formel/Gleichung, die berechnet wird.
Wenn du nur eine Variable in einer Gleichung hast, brauchst du doch auch nichts probieren - dann kannst du doch direkt rechnen.
Irgendwie ist mir nicht klar, was du möchtest. -
Was folgt danach?

Wenn du deinenAr...Hintern bewegen würdest und die Hilfe dazu lesen würdest, wüßtest du es.