_mk_
Das ist auch bekannt und im Wesentlichen bereits in UDF umgesetzt. ![]()
Es geht darum, grundsätzlich .NET-Klassen nutzen zu können.
Beiträge von BugFix
-
-
Zumindest ist das mein bisheriger Wissensstand. Ich hab allerdings auch noch nicht mit existierenden Klassen probiert.
-
autobert, ich habe die anderen Beiträge gelöscht vondaher kann ich hier nach hilfe fragen
Wenn du das nochmals tust, trete ich dir (wenn auch nur symbolisch) in den Allerwertesten! Dir steht der Edit-Mode zur Verfügung, somit kannst du jederzeit deine Posts ergänzen. Löschen ist höchst unhöflich, da somit die anderen Post sinnfrei in der Luft hängen. -
Der Internet Explorer ist mittlerweile ein fester Bestandteil von Windows, weswegen die Deinstallation ein paar... Fehler mit sich bringen kann.
Da liegst du falsch. Laut Gerichtsurteil wurde M$ dazu verpflichtet, den IE optional zu machen. Deshalb erscheint bei einer Neuinstallation auch jetzt ein Auswahlmenü für eine Browserinstallation.
Wobei ich bei bereits vorhandenem IE keinen Bock zur Deinstallation habe und deshalb in der Registry nur die Verweise stilllege. -
...und auch dieses Tut gibt es bereits.
AutoIt Wiki - Eigene FunktionenIch möchte keine Aktivitäten begrenzen, aber werft doch bitte einen Blick auf bestehende Tuts. Das Fahrrad immer wieder zu erfinden macht keinen Sinn.
-
Mit deinem Wunsch stehst du vermutlich ziemlich allein, da der IE, nunja "nicht sehr beliebt" ist.

Ist auch immer mein erster Schritt bei Installationen in der Firma: IE sperren.
Aber auf den Kern deiner Frage bezogen, sehe ich auch eher ein http-Forum (oder Ähnliches) als bessere Anlaufstelle. -
Ah super danke. Kannst du mir auch sagen, warum WM_NOTIFY mein GUISetOnEvent($GUI_EVENT_PRIMARYUP... verhindert?
Ähhhm, *Glaskugel reib* ... Mist ist zu dreckig.
Ohne Code, weiss ich nicht mal ansatzweise, was du gerade meinst.

-
Das leidige Problem bei den Button ist, dass das Setzen von Farben (Text und/oder Hintergrund) alle anderen Styles zerstört.
Eine Variante wäre z.B. ein semitransparentes, eingefärbtes Child-Window über den Button zu legen. Sieht aber nicht so toll aus:
Spoiler anzeigen
[autoit]#include <WinAPI.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#Include <ButtonConstants.au3>
#Include <Constants.au3>
#Include <WindowsConstants.au3>$fChg = False
[/autoit] [autoit][/autoit] [autoit]$hGui = GUICreate('Test', 300, 300)
[/autoit] [autoit][/autoit] [autoit]
$cBtn = GUICtrlCreateButton('Eine Zeile', 20, 80, 80, 30, BitOR($BS_CENTER,$BS_VCENTER,$BS_NOTIFY,$BS_MULTILINE))
$hWndOverBtn = GUICreate('', 80, 30, 20, 80, BitOR($WS_BORDER,$WS_POPUP), $WS_EX_MDICHILD, $hGui)
GUISetBkColor(0xFF0000, $hWndOverBtn)
GUISetState(@SW_SHOW, $hWndOverBtn)
WinSetTrans($hWndOverBtn, '', 50)
_WinAPI_SetWindowLong($hWndOverBtn, $GWL_EXSTYLE, BitOR(_WinAPI_GetWindowLong($hWndOverBtn,$GWL_EXSTYLE), $WS_EX_TRANSPARENT)) ; == erlaubt das "Durchklicken" s. progandys FunktionGUISetState(@SW_SHOW, $hGui)
[/autoit] [autoit][/autoit] [autoit]While True
[/autoit]
Switch GUIGetMsg()
Case -3
Exit
Case $cBtn
$fChg = Not $fChg
If $fChg Then
GUICtrlSetData($cBtn, 'Das sind zwei Zeilen Text')
Else
GUICtrlSetData($cBtn, 'Eine Zeile')
EndIf
EndSwitch
WEnd
Bau lieber aus einem Label deinen eigenen Button. Schönen Rahmen per Style drumherum ($SS_ETCHEDFRAME oder $SS_GRAYFRAME oder $SS_BLACKFRAME, was dir gefällt) und per BitOR noch $SS_CENTER dazu (sorgt für AutoWrap und Zentrierung).
Den Klickeffekt kannst du simulieren:
- GUI_EVENT_PRIMARYDOWN ==> Ctrl verschieben x+1, y+1
- GUI_EVENT_PRIMARYUP ==> Ctrl zurück verschieben
Und Einfärben ist beim Label kein Problem. -
Das ist die Notification UDN_DELTAPOS
Zitat von MSDNSent by the operating system to the parent window of an up-down control when the position of the control is about to change. This happens when the user requests a change in the value by pressing the control's up or down arrow. The UDN_DELTAPOS message is sent in the form of a WM_NOTIFY message.
-
In begrenztem Umfang kann man da etwas basteln: Guckst du
-
$var: Hast du den Code mal probiert?

Sowas ging in irgendeiner alten AutoIt-Version. Aktuell mußt du eine Array-Rückgabe immer erst in einer Variablen auffangen, bevor du diese mit _ArrayDisplay() anzeigen kannst. -
Naja, vom Coe wird ja jedes Zeichen, also jeder Befehl einzeln verarbeitet. Oder was meinst du jetzt?
Wenn du Sztrings abspeicherst ist es z.B. sinnvoll vorher für eine bestimmte Anzahl Zeichen einen ASCII-Mittelwert zu ermitteln und diesen als Basis für De-/Inkrement zu nutzen. Verkürzt die Schleifen deutlich. -
-
wobei dann jedes Zeichen einzeln abgearbeitet wird. Das wäre vielleicht auch noch ganz schön
Wenn du tatsächlich jedes Zeichen einzeln interpretierst, kannst du kaum optimierten Code erstellen und erhältst ellenlange Codeschlangen. Es gibt ja bekanntlich kaum die Möglichkeit, dass zwei Menschen (od. verschiedene Interpreter) zu einem Ablauf denselben BF-Code generieren.
Der Reiz bei der BF-Geschichte liegt m.M. nach darin, effiziente Algorithmen zu entwickeln, die minimalen Code hervorbringen. Das ist eine Anforderung, die schon etwas von dir verlangt. Denn wer würde sonst schon freiwillig in BF programmieren.
-
-
Hi,
mir ist gerade aufgefallen:
Wenn in einem Thread in verschiedenen Posts Images eingebunden sind (als Anhang geladen und im Text eingefügt) und man öffnet das Bild eines Posts, enthält die Imageshow alle auf diese Art geposteten Images des Threads.
Hier anzuschauen: Im Post 1 habe ich das Bild meiner v0.9 eingebunden. Im Post 2 wurde ein Bild für eine fehlerhafte Darstellung gepostet.
In beiden Posts hat man Zugriff auf beide Bilder.
Ich sehe dass eigentlich als Bug, da ja nur ein Bild im Bezug zum jeweiligen Post steht.
-
Neue Version v0.9
Nun Submenü (1 Level Tiefe) möglich. Gesamte Fläche eines Eintrags wird als Control erkannt.
s. Post #1 -
Du solltest das Excel-Objekt erstellen bei Programmstart (oder, falls eine Excel-Instanz bereits läuft, mit ObjGet darauf referenzieren).
Und bei Programmende schließt du das Excel-Objekt wieder (vorher prüfen ob dein aktuelles Workbook-Objekt, auch das einzige ist --> .Count )
Dann kommst du gar nicht erst in die Situation, dass evtl. mehrere Instanzen existieren oder nicht aus dem Speicher entfernt sind. -
Guckt dir mal die Hilfe zu _StringBetween an. Was gibt diese Funktion zurück? -- Richtig: Ein Array.

-
Nun, da es bei mir funktioniert und die anderen, die es heruntergeladen haben auch nichts Gegenteiliges gemeldet haben, und du einen Beispielcode schuldig bleibst: Es funktioniert!

Vielleicht ist dir aber entgangen, dass dieses erst ab OS Vista möglich ist.
-
und das nerft mich schon
Das legst du, wenn ich mich recht erinnere, bei der Installation fest. Falls du dort x64 gewählt hast:
Was ist daran nervend, beim Kompilieren einen Mausklick zu machen... :wacko: -
v0.8
Jetzt geändert zu OwnContext UDF
Einige Veränderungen/Fixes, s. Post #1