Ich sichere zumeist (habe das Wort gestern erklärt bekommen und finde es guuuuut) alle Script, aber ich gewöhne mich nun lieber einmal da ran, das auch für Scripte zu machen, wo ich versuche zu helfen. Nur wie die dann immer wieder finden? Am besten alle in einer Ordner "Hilfe der letzten sechs Wochen" und ältere Dateien dann ggf. mal durch gehen und löschen?
Beiträge von Alina
-
-
Hallo Ingo.
Sehe dir mal die "String" Sachen in der Hilfe durch. Evtl. findest Du noch was, das dir danach noch weiter hilft. Die SuFu & Hilfe sid auch so gut mal durchzuschauen, man lernt daraus auch viel.
-
Moin Moin zusammen.
Ich hatte diese Nacht um ca. 2:00 Uhr MEZ einen Beitrag gepostet, aber gerade als ich schaune wollte, ob er geholfen hat, habe ich bemerkt, das der Beitrag gar nicht mehr gepostet war.
Darf ich mal fragen, wie das kommt und ob es anderen auch so schon ergangen ist? Odr kann es sein, das gerade dann die Server irgend etwas "Neu" starten bzw. Backup machen odr so?Ich war froh, das ich den Beitrag noch gespeichert hatte, bzw. das Script.
-
Ich weiß nicht, wo mein Beitrag von ca. 2:00 Uhr MEZ geblieben ist, aber dann hier mein neuer Beitrag und gleich mit drei Lösungsansätzen.
Alle vier Lösungsansätze sind sehr gut in der Hilfe erklärt.
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <String.au3>; String wird für alle Beispiel angewendet
[/autoit] [autoit][/autoit] [autoit]
$Text = "223-223-9993-9980-229 Ein sehr langer Text mit vielen Zeichen und vielen Worten der nicht so richtig passen will! .....Hier noch ein weiterer Text der auch etwas länger sein kann Aber soll hier rein am besten auf die zweite Zeile!";Bsp.-1
[/autoit] [autoit][/autoit] [autoit]
Local $result = StringLeft($Text, 22) ; Text von links
Local $result2 = StringRight($Text, 208) ; Text von rechts
MsgBox(0, "StringLeft / Zahlekombi: ", $result)
MsgBox(0, "StringRight / Text: ", $result2);Bsp.-2
[/autoit] [autoit][/autoit] [autoit]
Local $var = StringMid($Text, 1, 22); Text von links in Länge 22 ab Pos. 1
Local $var2 = StringMid($Text, 23, 230); Text von links in Länge 230 ab Pos. 23
MsgBox(0, "StringMid 1", $var)
MsgBox(0, "StringMid 2", $var2);Bsp.-3
[/autoit] [autoit][/autoit] [autoit]
$StEx = _StringExplode($Text, " " , "1"); String nach dem ersten Leerzeichen trennen
MsgBox(0,"mit _StringExplode","Teil 1: " & $StEx[0] & " und Teil 2: " & $StEx[1]);Bsp.-4
[/autoit]
Local $result1 = StringTrimRight($Text, 208); Text von rechts um 22 Zeichen gekürzt
Local $result2 = StringTrimLeft($Text, 22); Text von links um 22 Zeichen gekürzt
MsgBox(0, "StringTrimRight/Left" ,"Erster Teil: " & $result1 & " ,das war eine Zahlekombi und nun der Text: " & $result2)Bsp.-3 zeigt Dir auch den Ansatz, wie Du den langen Text in z. B. drei Zeilen aufteilen kannst.
Bsp.-1 und 2 arbeiten ja mit festen Längenwerten. Bei Bsp.-3 arbeitet man mit dem Delimiter/Trennzeichen
zum teilen des Textes. Nur Mußt Du da dann die Ergebnisse aneinander fügen (Bsp.: $StEx[6] & $StEx[7] & $StEx[8] & $StEx[9]).
Ob man sagen kann "aneinader fügen von $StEx[6] bis $StEx[9]", das kann ich so nicht sagen. Wird aber sichrlich noch jemand Stellung zu nehmen.Edit: so oft, weil ich Fehler nicht mag, die ich in meinen Texten erkenne. Berufskrankheit !!!
-
Tombac:
richtig ! Alternativen sind immer gut.AspirinJunkie:
Die AW paßte richtig gut.
TomBac schrieb: "... mal sehn..." und meint wohl, wenn mal Zeit ist und Du legst gleich los.
Geniale Reaktion mit der AW.Nichts leichter als das:
Zeitvergleich
[autoit]Global $N = 100000
[/autoit] [autoit][/autoit] [autoit]Global $sText = "Blah blah" & @CRLF & _
[/autoit] [autoit][/autoit] [autoit]
"SQUAD," & @CRLF & _
"NAME_RIFLE_formation)," & @CRLF & _
"blah blah"$iT = TimerInit()
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To $N
$x = StringReplace($sText, @CR, "")
$x = StringReplace($x, @LF, "")
Next
$iT = TimerDiff($iT)
ConsoleWrite(StringFormat("%30s: %7.5f ms\n", "StringReplace", $iT / $N))$iT = TimerInit()
[/autoit]
For $i = 1 To $N
$x = StringReplace(StringStripCR($sText), @LF, "",0,1)
Next
$iT = TimerDiff($iT)
ConsoleWrite(StringFormat("%30s: %7.5f ms\n", "StringStripCR + Case-Sensitive", $iT / $N)) -
Ich finde die Idee ganz gut. Ein Desktop, wo nur das nötigste drauf ist. Von allem anderen muss man so dann die FIneer weg lassen. Gerade gut für Kids, die noch nicht wissen, wie sie da raus kommen.
Ende-Button (EB) : ich würde den EB, wenn man das Script nicht einfach schli8eßen soll, mit einem PW belegen. Nur schließen, wenn PW. Du kannste es auch so machen, das Du das Script per EB nicht nur schließen kannst, sondern bei einem bestimmten PW der Rechner herunter fährt.
-
Und so doch um eine Zeile weniger:
Spoiler anzeigen
[autoit]
[/autoit]
#include <String.au3>
;IrgendeinText...
$sText = "Blah blah" & @CRLF & _
"SQUAD," & @CRLF & _
"NAME_RIFLE_formation)," & @CRLF & _
"blah blah"
$sText = StringReplace($sText, @CRLF, "") ;CR & LF out
ConsoleWrite($sText & @CRLF) -
Camulus:
Alles was hier an die "Console" gesendet wird, also beginnend mit "ConsoleWrite", kannst Du doch austauschen nach dem was DU möchtest.
Nur die 16. Zeile, die sagt, wann es dann zeitlich an der Zeit ist, es zu tun, was Du dann möchtest. Okay? -
damit sollte Agethorster rstmal weiterkommen
lg gmmg
Stimmt.
Es ging ihn, so meine ich es verstanden zu haben, das er den Hinweis benötigte, wie das mit "GUICtrlRead" funktioniert.
Jetzt kann er sich erst einmal aussuchen, wie er weiter machen möchte. -
Die Logik dahinter wann ein Pfad mit Leerzeichen, ohne ihn in Anführungszeichen zu setzen, gefunden wird und wann nicht ist mir nämlich nicht ganz klar.
Daher bist du mit den Anführungszeichen auf der sicheren Seite.Erst mal mit Ausrufezeichen und später kann man sie immer noch entfernen, sollten sie überflüssig sein und das Script danach genauso arbeitet, wie in der Ausrufezeichen-Version. Optimierung kann es vor der optischen Feinarbeit geben, wenn alles läuft !!!
-
Das mit den "KF" (in DK heißt es "forkortede form" und man nimmt FoFo statt KF) mache ich schon sehr lange so.
beim Scripten kann man so auch Scriptübergreifend nach KF's suchen und spart sich so evtl. das doppelte scripten.
Also ein Punkt für die Bequemlichkeit. -
wann, dann bitte gleich mit doppelten dropdown
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>$string = "www.autoit.de|http://www.rsh.de|80.245.152.55|80.245.152.130|http://www.shz.de"
[/autoit] [autoit][/autoit] [autoit]
$string2 =":8080|:4711|:2014"$Form1 = GUICreate("Beispiel", 449, 105, 132, 120)
[/autoit] [autoit][/autoit] [autoit]$ComboBox1 = GUICtrlCreateCombo("", 8, 8, 433, 21)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($ComboBox1, $string)$ComboBox2 = GUICtrlCreateCombo("", 8, 34, 433, 21)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($ComboBox2, $string2)$Button1 = GUICtrlCreateButton("starte Fernwartung", 8, 70, 433, 25)
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
;ShellExecute(GUICtrlRead($ComboBox1) & GUICtrlRead($ComboBox2))
MsgBox(0,"Ergebnis mit zwei Combo's", "Es würde nun folgende Kombination geöffnet werden: " & GUICtrlRead($ComboBox1) & GUICtrlRead($ComboBox2))
EndSwitch
WEnd -
@YaeroxXO:
Spoiler anzeigen
..., aber wenn du nicht so viel mit AutoIt arbeitest dass du dir merken kannst was es tut sind ein paar mehr Zeilen manchmal sinnvoll, ...Also wieso nicht die Lsg. nehmen die Dir persönlich erst einmal zusagt, aber gleichzeitig über/unter dem Scriptausschnitt, die Kurzversion
als Kommentar dazu packen?
So meine ich es:Spoiler anzeigen
[autoit]
[/autoit]
; $verz=stringupper(Stringleft(GUICtrlRead($combo1),3)); KF der nächsten IF-Anfrage
If GUICtrlRead($combo1) == "Organization" Then
$verz = "ORG"
ElseIf GUICtrlRead($combo1) = "Functions" Then
$verz = "FUN"
EndIf
Wenn das Script soweit läuft, nach KF (Kurzfassung) suchen und die Stellen bearbeiten (Scriptoptimierung?!).
Ich sage immer, lieber zuviel Erklärungen, als später nicht mehr verstehen, was man damals getan hat. Nicht
immer kann man sagen: "Ich weiß, was ich letzten SOmmer getan habe." oder so. -
Hallo BugFix.
Nachträglich alles Liebe und Gute zum Purzeltag !!!
Ich hoffe DU hast es mit Der_Doc zusammen krachen lassen !!!
-
Also meine Glaskugel hat mal "web.de smtp" gegooglet und sagt dir:"verwende mal folgende Werte" :
Spoiler anzeigen
[autoit]
[/autoit]
$SMTPPORT = "587"
$SMTPUSESSL = "995"Erklärung: siehe https://hilfe.web.de/mailprogramme/pop3.html#outlook10
-
Also evtl. hilft Dir dieses hier, wobei ich nicht weiß, ob Du die URL aus dem Browser auslesen möchtest oder so wie ich es hier gemacht habe, einfach vorgeben möchtest.
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>$Form1 = GUICreate("Beispiel", 449, 74, 192, 124)
[/autoit] [autoit][/autoit] [autoit]
$Input1 = GUICtrlCreateInput("/index.php/Board/4-Hilfe-Unterstützung/", 8, 8, 433, 21)
$Button1 = GUICtrlCreateButton("o. g. Link wird der URL http://www.autoit.de angehängt", 8, 40, 433, 25)
GUISetState(@SW_SHOW)While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsgCase $GUI_EVENT_CLOSE
[/autoit] [autoit][/autoit] [autoit]
ExitCase $Button1
[/autoit]
; mit GUICtrlRead($Input1) das Eingabefeld auslesen und der URL "anhängen"
MsgBox(0,"Ergebnis", "http://www.autoit.de" & GUICtrlRead($Input1))
ShellExecute("http://www.autoit.de" & GUICtrlRead($Input1))
EndSwitch
WEnd -
Danke allen für die Hilfe / Erklärung !!!
-
Was spricht gegen diese Lösung?
Die Zeile FileWrite($file,''&$bEncrypted&'') ist doch okay als Lösung, oder?Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <Crypt.au3>; Passwort & zu codierender Text
[/autoit] [autoit][/autoit] [autoit]
Local Const $sUserKey = "CryptPassword" ; Deklariert eine Passwort-Zeichenfolge um die Daten zu ver- und entschlüsseln.
Local $sData = "0123456789" ; Dieser Text wird verschlüsselt werden.; codieren
[/autoit] [autoit][/autoit] [autoit]
Global $bEncrypted = _Crypt_EncryptData($sData, $sUserKey, $CALG_RC4) ; Verschlüsselt den Text mit Hilfe der generischen Passwort-Zeichenfolge.MsgBox(0,"Verschlüsselter Text", $bEncrypted)
[/autoit] [autoit][/autoit] [autoit]; Daten in Textdatei schreiben und in MsgBox ausgeben
[/autoit] [autoit][/autoit] [autoit]
Local $file = FileOpen("binaere.txt",1)FileWrite($file,''&$bEncrypted&'')
[/autoit] [autoit][/autoit] [autoit]
FileClose($file)
FileClose($file)
Local $file = FileRead("binaere.txt")
MsgBox(0,"Verschlüsselter Text aus Textdatei.",$file); decodieren
[/autoit] [autoit][/autoit] [autoit]
$file = _Crypt_DecryptData($file, $sUserKey, $CALG_RC4) ; Entschlüsselt den Text mit Hilfe der generischen Passwort-Zeichenfolge. Der Rückgabewert ist ein Binärstring.
;MsgBox(0, "Entschlüsselter Text", BinaryToString($bEncrypted)) ; Konvertiert den Binärstring mit Hilfe BinaryToString um den Ausgangstext anzuzeigen, den wir verschlüsselten.;Local $file = FileRead("binaere.txt")
[/autoit]
MsgBox(0,"decodieren", BinaryToString($file)) -
Irgendwie habe ich doch da einen Gedankenfehler bei dem Testscript.
Er speicher nicht das in die Textdatei, was er bei der ersten MsgBox anzeigt
Zeilen: 13-16 scheinen fehlerhaft zu sein.Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <Crypt.au3>; Passwort & zu codierender Text
[/autoit] [autoit][/autoit] [autoit]
Local Const $sUserKey = "CryptPassword" ; Deklariert eine Passwort-Zeichenfolge um die Daten zu ver- und entschlüsseln.
Local $sData = "0123456789" ; Dieser Text wird verschlüsselt werden.; codieren
[/autoit] [autoit][/autoit] [autoit]
Local $bEncrypted = _Crypt_EncryptData($sData, $sUserKey, $CALG_RC4) ; Verschlüsselt den Text mit Hilfe der generischen Passwort-Zeichenfolge.
MsgBox(0,"Verschlüsselter Text", $bEncrypted); hier macht er was falsch !!! Oder?
[/autoit] [autoit][/autoit] [autoit]
; Daten in Textdatei schreiben und in MsgBox ausgeben
Local $file = FileOpen("binaere.txt",1)
FileWrite($file,$bEncrypted)
FileClose($file)
MsgBox(0,"Verschlüsselter Text aus Textdatei.",FileRead("binaere.txt")); decodieren
[/autoit] [autoit][/autoit] [autoit]
$bEncrypted = _Crypt_DecryptData($bEncrypted, $sUserKey, $CALG_RC4) ; Entschlüsselt den Text mit Hilfe der generischen Passwort-Zeichenfolge. Der Rückgabewert ist ein Binärstring.
;MsgBox(0, "Entschlüsselter Text", BinaryToString($bEncrypted)) ; Konvertiert den Binärstring mit Hilfe BinaryToString um den Ausgangstext anzuzeigen, den wir verschlüsselten.Local $file = FileRead("binaerer.txt")
[/autoit]
MsgBox(0,"decodieren", BinaryToString($bEncrypted)) -
Alles Liebe und Gute zum Purzeltag und ein gesundes neues Lebensjahr.