Na ganz einfach, du packst _HTMLbauen() und _DBAfragen() in den If-Zweig mit If _InputAuslesen() = 1.
Beiträge von alpines
-
-
Also du willst doch überprüfen ob die Suche erfolgreich ist und je nach Suchergebnis eine andere GUI anzeigen bzw. die GUI resetten und zum Anfangszustand zurückkehren - sofern ich das richtig verstanden habe.
Du packst die Abfragen ob die Suche erfolgreich ist in die _InputAuslesen-Funktion und dessen Rückgabewert kannst du verwenden um zu entscheiden ob du die GUI wechseln willst oder nicht.
In meinem Beispielscript ist die _InputAuslesen-Funktion die _Suchen-Funktion. Sollte in _Suchen() vorkommen das hier als Beispiel im Textfeld "Dokument" steht, so gibt die Funktion eine 1 zurück und eine 0 wenn nicht.In dem Switch-Case vom Button wird überprüft ob der Rückgabewert 1 oder 0 ist und je nach dem eine Funktion ausgeführt bzw. die GUI resettet.
AutoIt
Alles anzeigen#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 210, 114, 192, 124) $Checkbox1 = GUICtrlCreateCheckbox("Option 1", 8, 8, 65, 17) $Checkbox2 = GUICtrlCreateCheckbox("Option 2", 8, 24, 65, 17) $Button1 = GUICtrlCreateButton("Suchen", 8, 72, 193, 33) $Input1 = GUICtrlCreateInput("Input1", 80, 16, 121, 21) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 If _Suchen() = 1 Then MsgBox(0,0, "Suche erfolgreich.") ;Andere GUIs zeigen oder Sachen erledigen Else MsgBox(0,0, "Suche nicht erfolgreich.") _GuiReset() EndIf EndSwitch WEnd Func _GuiReset() GUICtrlSetState($Checkbox1, 4) GUICtrlSetState($Checkbox2, 4) GUICtrlSetData($Input1, "") EndFunc Func _Suchen() If GUICtrlRead($Input1) = "Dokument" Then Return 1 ;Erfolgreich Else Return 0 ;Falsch EndIf EndFunc -
Schön das es geklappt hat, ich hab mal den grünen Haken für gelöst/erledigt gesetzt damit andere Nutzer direkt die Lösung finden.
Das kannst du auch machen indem du den 1. Beitrag des Threads bearbeitest. -
Ich werf mal ganz platt die Frage in den Raum: Liegt die Datei auch im selben Ordner? Bei Run() hast du den Pfad angegeben, bei RunAs() nämlich nicht.
-
Dann habe ich das wohl richtig verstanden, war nur ziemlich irritiert, weil es doch eigentlich nicht so schwierig ist oder?
-
Ein Mail-Body ist ein TEXT-Feld. Dabei soll es bleiben. Für alles andere gibt es Anhänge.
Wird heutzutage fast nur noch verwendet, aber klappt nicht immer gut.
Das es nicht immer funktioniert sieht man daran, dass neben jedem Imagebutton oder anchor folgender Text steht:
Sollte der Klick auf das Bild nicht funktionieren, kopieren sie bitte diesen Link in Ihre Adresszeile.
-
Du kannst Mails aber als HTML-Code abschicken. Jeder Mailanbieter sollte das auch erkennen und den HTML-Text parsen.
Also probier es mal wie water es vorgeschlagen hat mit den entsprechenden HTML-Tags, sollte das nicht klappen musst du ggf. noch die <html><body> Tags drum setzen. -
Hat das etwas mit diesen Arrays zu tun, wenn ja erklärt mir das mal bitte, sodass ich meine einfache Zahl bekomme

Du kriegst bei einem Fund ein Array zurück das du mit [index] indexieren kannst. Mit UBound() kannst du dir die Größe des Arrays angeben.
StringBetween gibt dir ein Array zurück, weil es alle Funde auflistet, wenn UBound() von StringBetween >= 1 ist, dann kannst du in $steps[0] $steps[1] sehen was drinne steht.Für eine genauere Erklärung musst dir die Basics richtig aneignen und mal Tutorials zum Thema durcharbeiten. Das sind die grundlegensten Grundlagen.
-
Was ich noch benötige ist die Abfrage und daran scheiterte ich bislang.
Verstehe ich deine Frage falsch oder bin ich einfach zu blöd um es zu begreifen?

Möchtest du sowas, nur auf dein Script angepasst? Du siehst ja wo die Abfrage ist, wo der korrekte Fall ist und wo der falsche Fall ist, da kannst du deine Sachen reinpacken oder das Script hier unten um deins packen. -
Schau mal hier:
[Blockierte Grafik: http://i.imgur.com/FhHZqAA.png][Blockierte Grafik: http://i.imgur.com/jFobiXW.png]
Damit kannst du schon mal schauen ob du die Nachricht erfolgreich verschlüsselt und entschlüsselt hast.
AutoIt
Alles anzeigen#include <Crypt.au3> $sEncryptKey = InputBox("RC4 Schlüssel eingeben", "RC4 Schlüssel eingeben") ConsoleWrite("RC4 Encrypt Key: "& @TAB & $sEncryptKey & @CRLF) $sString = InputBox("Verschlüsselnden String eingeben", "Verschlüsselnden String eingeben") ConsoleWrite("Encrypt Message: " & @TAB & $sString & @CRLF) _Crypt_Startup() $sDecryptKey = InputBox("RC4 Schlüssel eingeben (zum decrypten)", "RC4 Schlüssel eingeben (zum decrypten)") ConsoleWrite("RC4 Decrypt Key:" & @TAB & $sDecryptKey & @CRLF) $sEncryptedMessage = _Crypt_EncryptData("<CHECK-STRING>" & $sString, $sEncryptKey, $CALG_RC4) $sDecryptedMessage = BinaryToString(_Crypt_DecryptData($sEncryptedMessage, $sDecryptKey, $CALG_RC4)) MsgBox(0,0, "RC4 Encrypt Key: " & @TAB & $sEncryptKey & @CRLF & _ "Encrypt Message: " & @TAB & $sString & @CRLF & _ @CRLF & _ "RC4 Decrypt Key: " & @TAB & $sDecryptKey & @CRLF & _ "Decrypted Message: " & @TAB & $sDecryptedMessage & @CRLF & _ "Correctly Decrypted? " & (StringLeft($sDecryptedMessage, 14) = "<CHECK-STRING>" ? "Yes" : "No")) _Crypt_Shutdown()
Die Logik ob ein falsches Passwort eingegeben wurde ist wirklich leicht. Du erstellst einfach eine Variable die die Anzahl der Versuche hochzählt und das dem User mitteilt.
Erreicht die Variable in der Schleife irgendwann den Wert X springst du raus und beendest das Programm. -
Ziel soll also sein: Wurde ein falsches Passwort zum entschlüsseln verwendet, soll erst eine Nachricht als Warnung ausgegeben werden, nach einem weiteren gescheiterten Versuch, soll das Programm beendet werden.
Verschlüsselungsalgorithmen wissen nie ob etwas korrekt entschlüsselt wurde oder nicht. Du gibst Parameter wie Algorithmus und Passwort rein und sie liefern dir das entsprechende Ergebnis wenn es mit diesem Parametern verschlüsselt wurde.
Füg am Anfang / Ende der Datei oder des Datensatzes ein Kennstring hinzu den du immer nach dem Entschlüsseln überprüfen kannst ob er vorliegt. Wenn er vorliegt so ist er mit 100%iger Wahrscheinlichkeit richtig entschlüsselt (es kommt praktisch nie vor das andere Parameter zum selben Ergebnis führen) und sollte er nicht vorliegen, dann nicht.
Die Logik zum Abfragen und abschalten kriegst du sicherlich selber hin, ist ja nicht schwierig.
$StringAn = StringLeft("An",2)
$StringAus = StringLeft("Aus",3)Was soll das eigentlich bedeuten? Da kommt doch nur folgendes raus $StringAn = "An" und $StringAus = "Aus", warum das StringLeft?
-
Bist du auf die FF.au3 angewiesen? Javascript-Befehle kannst du auch mit der IE.au3 UDF senden.
-
Ich verstehe nicht warum du als Parameter jetz " 2" einsetzt, das ist ein String und keine Zahl. Die Variable $RUN_LOGON_NETWORK hat eigentlich den Wert 2, wenn du also eine 2 dort eintragen willst, dann musst du auch eine 2 eintragen und kein String der " 2" lautet.
-
Wenn man den Dateimanager offen hat und per AutoIt eine ca. 1 Gig große Datei per FileRead() einzulesen versucht, kann man sehen, dass AutoIt irgendwann bei ca. 2.8 Gig "Speicherverbrauch" abstürzt.
Kann es sein das du das bei einer alten Verison getestet hast?
Bei mir kommt AutoIt bei einer 1.2 GB Datei max. auf 1.7GB bis der Verbrauch dann wieder abfällt wenn die Variable nicht mehr genutzt wird. -
"$RUN_LOGON_NETWORK (2)"
Was soll das denn sein? Wenn du den Parameter auf $RUN_LOGON_NETWORK setzen willst, dann darfst du doch nicht sowas schreiben.
Du musst erstmal die Inlcudes mit reinnehmen wo die Variable definiert ist oder du schreibst einfach nur eine 2 rein ohne die String-Literale."Benutzer", "Domäne", und "Passwort" darfst du auch nicht einfach so stehen lassen, das ist schlicht und einfach falsch.
-
die dirmove Funktion ebenfalls einen Parameter für Überschreiben besitzt
Dafür ist doch hinten die ,1 gedacht. Das setzt den Flag für $FC_OVERWRITE. Trotz Adminrechte ersetzt er die Dateien dennoch nicht.
-
Das liegt vermutlich daran, dass du auf der selben Ebene zwei Ordner hättest mit dem selben Namen.
Windows selbst verschiebt ja nicht direkt sondern fragt dich erst was du machen möchtest, also müsstest du die Dateien auflisten und rüberschieben. -
Kann es sein das du das _FFConnect() vergessen hast? In jedem anderen Script sehe ich das nämlich, bei mir aber nicht. (Kenne mich mit der FF.au3 nicht aus!)
-
Ist dein MozRepl-Addon eventuell outdated? Was gibt dir die Cmd-Funktion zurück und was steht in @error drinne?
-
Dann nimm doch das Return Keyword in der _InputAuslesen-Funktion. Sollte der Fall eintreten wo du zurück zur GUI möchtest, dann returnst du eine -1.
Sollte der Fall eintreten wo du weitermachen möchtest, returnst du eine 1.Den Rückgabewert von _InputAuslesen fängst du dann in dem Switch-Case von dem Button ab und verarbeitest ihn, wie erwähnt: 1 = weitere Funktionene ausführen
-1 = GUI resetten