Danke euch ![]()
Konnte damit mein Problem lösen ![]()
Beiträge von Yjuq
-
-
Hallo Community!
Ich möchte gerne folgenden Text (gekürzte Version) bearbeiten!
Dabei sollen folgende (rot markierte) Stellen verschwinden:ZitatAbs ( expression ) Calculates the absolute value of a number.
ACos ( expression ) Calculates the arcCosine of a number.
AdlibRegister ( "function" [, time] ) Registers an Adlib function.
_WordPropertyGet (ByRef $o_object, $s_property) Returns a select property of the Word Application. (Requires: #include <Word.au3> )
_WordPropertySet (ByRef $o_object, $s_property, $v_newvalue) Set a select property of the Word Application. (Requires: #include <Word.au3> )Mein Ansatz war bisher so:
[autoit]$Get = ClipGet()
[/autoit]
$Text = StringRegExpReplace($Get, '[\w]* (.*?)\r\n', '')
ClipPut($Text)Aber als Ausgabe sieht es so aus:
Code_WordPropertySet (ByRef $o_object, $s_property, $v_newvalue) Set a select property of the Word Application. (Requires: #include <Word.au3> )Die hälfte von dem was übrig bleiben sollte ist nun weg und ich habe keine Ahnung warum

>> Mein pattern sieht für mich logisch korrekt aus, aber da ist ja offentsichtlich was falsch.
|> Hat da jemand eine Idee oder kann mir sagen wo mein Denkfehler liegt? -
Willkommen

Hast bestimmt viel Spaß mit dem Chaotischen Haufen hier
-
Hey

Ich habe hier auch zwei Entwürfe die ich gerne zeigen würde.
Habe extra darauf geachtet dass Links und Rechts beide Seiten gleich sind! :d
Allerdings verwende ich GIMP 2.8 und nicht Paint.NET. Dementsprechend habe ich auch keine *.pdn Dateien.
(Die *.png finden sich im Datei Anhang. Im Spoiler eine direkte Vorschau.)Bild 1:
Spoiler anzeigen
[Blockierte Grafik: http://www10.pic-upload.de/28.12.12/hyldn2ir13dx.png]
Bild 2:Spoiler anzeigen
[Blockierte Grafik: http://www10.pic-upload.de/28.12.12/mmvdq984sjav.png]
-
Ich hoffe BugFix verjagt mich jetzt nicht :o
Ich habs dir eben schnell gemacht:
(Die blaue Hintergrundfarbe ist natürlich weg, nur die Halbtransparenten Ellipsen sind übrig...) -
Zu Problem Nummer 1:
Die MsgBox erwartet 3 Parameter. Demnach dann so:
MsgBox(0, "Titel", "Text")Der erste Parameter steht für den Flag-Wert. Diese sind bitte in der Hilfe nachzuschauen.
Zu Problem Nummer 2:
Die Funktion muss so aufgebaut werden, dass sie eine Pause erzeugt. Z.B. Mit einer weiteren While-Schleife oder einer If-Abfrage in der Hauptschleife.Zu Nummer 3:
Du kannst Texteinrückungen vornehmen, sodass das ganze besser zu lesen ist. Zudem solltest du alle Scripte in autoit bb codes packen. -
Gibts dazu eigentlich schon ein Tutorial speziell auf die UDF bezogen?
>> Per Google habe ich [noch] nichts gefunden. -
Das liegt dann daran das du das Verzeichnis nicht auf deinen Rechner hast x.x Dann veränder doch einfach mal in Zeile 2 den 1. parameter der Funktion. Dann siehst du auch das Ergebnis

-
Hö oO Warum das denn?
Die sind auch nicht mehr ganz dicht
-
[autoit]Zeile 44:$table = GUICtrlCreateListView("Artikel# |Beschreibung |Lagerstand |Preis",10,10,400,500)
[/autoit]Hier wird ein ListView Control erstellt. Diese können nicht mit GUICtrlRead ausgelesen werden (Zeile 71)! Demnach kannst du dies schonmal verwerfen.
Du kannst allerdings die einzelnen Elemente mit GUICtrlRead auslesen. Dazu müsstest du allerdings die ID jedes Elementes speichern.Zudem sollte in Zeile 71 beachtet werden, dass keine 2 GUICtrlRead Funktionen verschachtelt werden. Es wird jeweils eine ID erwartet und ein String zurück gegeben.€dit: Sorry, hatte den Sourcecode nur in der schnelle angeschaut.
-
Hi
[autoit]
Das selbe Problem hatte ich auch einmal. Eine Möglichkeit wäre es über StringFormat zu lösen:$sString = 'Beispiel'
[/autoit]
MsgBox(0, '', StringFormat('Das ist ein "%s" -Text.', $sString))Eine weitere Möglichkeit wäre diese:
[autoit]$sString = 'Beispiel'
[/autoit]
MsgBox(0, '', 'Das ist ein "' & $sString & '" -Text') -
Wieso sollte das nicht gut sein? Z.B. besteht die Hilfe aus einer exe und 3 .chm Dateien.
Du kannst z.B. HTML-Seiten erstellen und diese mit AutoIt anzeigen lassen.Sowas ist durchaus eine gute wahl, weil du dir dein Fenster selber gestalten kannt (und es bestimmt einfacher hast als mit Frames in HTML).
Ich finde, dass du das durchsetzen solltest.
-
Jap, ich freue mich auch schon drauf :O
>> Mach weiter so
Ich finde das Weltklasse was du da machst 
-
@CyRoX:
Nene
Die Sache ist die, diese will ich ja (nachdem ich fertig bin) wieder entfernen 
Immer neu zu Installieren möchte ich nicht. Es ist viel einfacher (wenns fertig ist :D) und schneller wenn man einfach nur die Registry Einträge anpasst.
AutoIt an sich hab ich ja schon auf den Stick :OIst ja nur das ich es bequemer habe

Ansonsten, danke für den Hinweis

-
Micha_he:
Danke
Das wird mir schonmal weiterhelfen 
>> Allerdings denke ich, dass ich das ganze noch erweitern werde.
(Für die aktuelle Beta usw...)x0r:
Ja, ich könnte es mir auch einfach auf dem USB-Stick ziehen. Allerdings geht es mir auch gleichzeitig um die bequemlichkeit die mit den Regisry einträgen erzeugt werden.
(Mit Rechtsklick direkt kompilieren usw...)Okey, in Micha_he's Script sind nicht alle Registry Einträge vermerkt. (Wenn ich mich nicht verguckt habe :O)
>> Wenn jemand noch so eine Liste hat, würde ich mich sehr freue
-
Hey

Ich suche eine Liste die alle Registry Einträge beinhaltet, die AutoIt bei der Installation erstellt.
Im Internet habe ich nicht so eine Liste gefunden :xBitte verweißt mich nicht in die Hilfe
Dort sind nämlich nicht alle Einträge dokumentiert!>> Ich möchte mir AUtoIt für den USB Stick zurecht wurschteln

>> Z.B. In der Schule oder sonst so
>> Aber ich möchte auch die Registry Einträge dazu haben. (Um mit Rechtsklick auf den entsprechenden Rechner agieren zu können)
>> Diese müssen sich ja schliesslich auch auf den Laufwerksbuchstabe meines Sticks beziehen.Ich bedanke mich schonmal

(Bin ernsthaft zu Faul um per Hand jeden Registry eintrag von AutoIt heraus zu schreiben...) -
Hey,
[autoit]
bei GUICtrlSetOnEvent muss eine Funktion verwendet werden, die keine Parameter enthält.Func StartButton() ;~ Parameter entfernt!
[/autoit]
;~ GUICtrlCreateInput gibt nur die ID zurück.
;~ -> So wird der Inhalt ausgelesen:
MsgBox(0, "Nachricht", GUICtrlRead($host))
EndFunc ;==>StartButton€dit:
chesstiger : Was verwendet wird ist irrelevant.Zitat[...] etwas ist für den Anfang leichter [...]
An sich geschmackssache. Aber "leichter" ist es auch nicht.Ich persönlich finde es aufwendiger und unübersichtlicher. Da packe ich lieber alles seperat in Funktionen!
So hat man kleine eigene Codes für sich die dann schneller (und einfacher) zu lesen sind.Das ist zmd. Meine Meinung dazu

Was ich aber damit sagen will:
>> Es bleibt sich (beinahe) gleich.@peddy: Ich würde dir den OnEvent-Modus empfehlen

-
Ah okey
Dann erkläre ich dir einfach erst einmal, was mein Script eigentlich macht 
Sicherlich hast du verständnis Probleme bei den Funktionen:
_HotKeys()
pause()Spoiler anzeigen
[autoit]Global $bPause ;~ Diese Variable (weil nichts zugewiesen wird) hat den Wert 0 oder '' oder False (Bool'sche Wert)
[/autoit] [autoit][/autoit] [autoit]
;~ Was daraus gelesen wird, ist von der zu verwendeten Funktion oder Gleichung abhängig!HotKeySet("q", "pause")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
HotKeySet("{ESC}", "ende")
_HotKeys(1)While Sleep(1000)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
WEndFunc _HotKeys($bState = False) ;~ Funktion + Parameter | Siehe mein Tutorial: http://www.autoit.de/index.php?page=Thread&threadID=32467
[/autoit] [autoit][/autoit] [autoit]
If $bState Then ;~ Ist $bState wahr (Hat einen Inhalt der nicht 0 oder False ist) dann den Code ausführen:
HotKeySet("k", "kanal")
HotKeySet("s", "bogen")
HotKeySet("d", "verbinder")
HotKeySet("w", "rohr")
Else ;~ Ansonsten diesen Code ausführen:
;~ Hier werden die belegten Tasten wieder freigegeben!
HotKeySet("k")
HotKeySet("s")
HotKeySet("d")
HotKeySet("w")
EndIf
EndFunc ;==>_HotKeysFunc pause() ;~ Funktion
[/autoit] [autoit][/autoit] [autoit]
If Not $bPause Then ;~ Ist $bPause NICHT wahr (also False, 0 oder einen Leerstring '') dann den Code ausführen:
_HotKeys() ;~ Alle Hotkeys werden freigegeben.
Else ;~ Ansonsten diesen Code ausführen:
_HotKeys(1) ;~ Alle freigegebenen Hotkeys werden wieder besetzt.
EndIf
$bPause = Not $bPause ;~ $bPause = Gegenteil von vorrigen Inhalt! (Aus True wird False und aus False wird True! - Immer bezogen auf Bool'sche Werte!)
EndFunc ;==>pauseFunc ende()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc kanal()
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("k")
Send("!u")
;send ("r")
;send ("{right}")
Send("k")
Send("{ENTER}")
HotKeySet("k", "kanal")
EndFunc ;==>kanalFunc bogen()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Send("!u")
Send("b")
Send("b")
Send("{ENTER}")
EndFunc ;==>bogenFunc verbinder()
[/autoit] [autoit][/autoit] [autoit]
Send("!u")
Send("v")
Send("v")
Send("v")
Send("{ENTER}")
EndFunc ;==>verbinderFunc rohr()
[/autoit]
Send("!u")
Send("r")
Send("r")
Send("r")
Send("r")
Send("r")
Send("{ENTER}")
EndFunc ;==>rohrautoBert's Script überspringe ich, da es dich nur unnötig (als Anfänger) verwirrt

Christoph54's Script
Spoiler anzeigen
[autoit]Global $bHotkeys, $aHotkeys[3][2] = [["{ESC}","_ESCBenutzt"],["1","_Eins"],["7","_Sieben"]] ;~ Verkürzte Schreibweise
[/autoit] [autoit][/autoit] [autoit]
;~ Hier wird einmal $bHotkeys ohne Inhalt definiert. Das bedeutet das diese False, 0 oder auch einen Leerstring '' beinhaltet.
[/autoit] [autoit][/autoit] [autoit]
;~ -> Dies ist abhängig von den Funktionen oder Gleichungen!;~ Zudem wird ein Array (Das kannst du dir wie eine Tabelle vorstellen) definiert mit folgenden Inhalten:
[/autoit] [autoit][/autoit] [autoit]
;~ -> ACHTUNG! Arrays sind 0 basierend! 0, 1, 2, 3, usw...
;~ -> Siehe dazu BugFix's Tutorial: http://www.bug-fix.info/array_tut.htm;~ $aHotkeys[0][0] = "{ESC}" $aHotkeys[0][1] = "_ESCBenutzt"
[/autoit] [autoit][/autoit] [autoit]
;~ $aHotkeys[1][0] = "1" $aHotkeys[1][1] = "_Eins"
;~ $aHotkeys[2][0] = "7" $aHotkeys[2][2] = "_Sieben"HotKeySet("{UP}","_ToogleHotkeys") ;~ Drückt man die Pfeiltaste (oben), so werden die Hotkeys ein/aus geschaltet!
[/autoit] [autoit][/autoit] [autoit]While Sleep(500)
[/autoit] [autoit][/autoit] [autoit]
WEndFunc _ToogleHotkeys()
[/autoit] [autoit][/autoit] [autoit]
Local $sKey = "" ;~ Keine Ahnung wieso diese Variable deklaiert wurde! Diese ist unnötig :o
For $i = 0 To UBound($aHotkeys,1)-1 ;~ UBound fragt nach der größe (die oben in Zeile 1 festgelegte) des Array ab.
;~ Weil ein Array aber 0-Basierend ist, muss die Ausgabe um 1 verringert werden.
;~ Nun durchläuft die Schleife genau 0 bis 2 mal. Also insgesammt 3 mal.
;~ Die Anzahl der Schleifendurchläufe wird in der Variable $i gespeichert.
If $bHotkeys Then ;~ Ist $bHotkeys = True dann Code ausführen:
HotKeySet($aHotkeys[$i][0])
;~ Hier werden die Inhalte des Array ausgelesen.
;~ Je nach Schleifendruchlauf, ist dies unterschiedlich!
;~ Weil hier kein 2ter Parameter angegeben ist, werden die Hotkeys freigegeben.
Else ;~ Ansonsten diesen Code ausführen:
HotKeySet($aHotkeys[$i][0],$aHotkeys[$i][1])
;~ Und hier werden die Hotkeys gesetzt!
EndIf
Next
$bHotkeys = Not $bHotkeys ;~ $bHotkeys = Gegenteil vom vorrigen Inhalt.
EndFuncFunc _EScBenutzt()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0,"Dummy","_ESCBenutzt")
EndFuncFunc _Eins()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0,"Dummy","_Eins")
EndFuncFunc _Sieben()
[/autoit]
MsgBox(0,"Dummy","_Sieben")
EndFunc -
Okey, die würde ich noch zwischen
- Switch und Select
und
- Alle Funktionen zur " Mathematik "setzen.
Jo, danke für den Hinweis 
-