Poste den Code doch bitte trotzdem. *<*
Beiträge von $var
-
-
Einfacher wäre es mit StringTrimRight...
[autoit]StringTrimRight (GUICtrlRead ($label1), 1)
[/autoit] -
Schau mal in der Hilfe unter "_IsPressed" nach.
€: "0x" zeigt einfach nur, dass es eine hexadezimale Zahl ist. Im Web verwendet man dafür alternativ die Raute "#".
-
Das, was du dir da vorstellst, würde wohl nur ein menschliches Gehirn effizient umsetzen können.
Trotzdem habe ich hier ein kleines Beispiel, mit etwas weniger Schreibarbeit.Spoiler anzeigen
[autoit]Local $a_Array[4][2] = [["Bring", "_Func1"], ["mich", "_Func2"], ["nach", "_Func3"], ["Berlin", "_Func4"]]
[/autoit] [autoit][/autoit] [autoit]
Local $s_String = "Bringe mich nach Berlin"For $i = 0 To UBound ($a_Array) - 1
[/autoit] [autoit][/autoit] [autoit]
If StringInStr ($s_String, $a_Array[$i][0]) Then Call ($a_Array[$i][1])
NextFunc _Func1 ()
[/autoit] [autoit][/autoit] [autoit]
MsgBox (0, "", "Func1")
EndFuncFunc _Func2 ()
[/autoit] [autoit][/autoit] [autoit]
MsgBox (0, "", "Func2")
EndFuncFunc _Func3 ()
[/autoit] [autoit][/autoit] [autoit]
MsgBox (0, "", "Func3")
EndFuncFunc _Func3 ()
[/autoit]
MsgBox (0, "", "Func3")
EndFuncAlternativ kann man auch ein eindimensionales Array und eine einzelne Funktion verwenden...
Dann muss man aber $i als Parameter an die Funktion übergeben und mit Switch auswerten. -
[autoit]
#Include<_INetSmtpMailCom.au3>
[/autoit]
MsgBox (0, "Einführung", "Ich werde jtz die UDF '_INetSmtpMailCom' kurz demonstrieren" )
MsgBox (0, "E-Mail", "Ich kann damit eine E-Mail schicken, deren Inhalt ich beliebig programmieren kann. Ich nehme jetzt eine Datei im Anhang und einen Text." )
$InData = InputBox ( "Text", "Bitte hier irgendeinen Text zum schreiben in die Datei eingeben." )
#include <File.au3>
_FileCreate(@DesktopDir & "\bsp.txt")
FileOpen ( "bsp.txt" )
FileWrite ( "bsp.txt", "" & $InData )
$InEmail = InputBox ( "2.", "Hier den Text direkt in der E-Mail eingeben." )
$Email = InputBox ( "E-Mail", "Bitte hier die E-Mail eingeben." )
$Passwort = InputBox ( "Passwort", "Hier das entsprechende Passwort eingeben." )
$Server = InputBox ( "Server", "Bitte hier den Smtp-Server eingeben." )
$Port = InputBox ( "Port", "Bitte hier den Port des E-Mail Kontos angeben." )
MsgBox (0, "Sendevorgang...", "E-Mail wird jetzt verschickt." )
_INetSmtpMailCom ($Server, "AutoIt-Script", $Email, $Email, "AutoIt-Demo",$InEmail, @DesktopDir & "\bsp.txt", "", "", "High", $Email, $Passwort, $Port)
MsgBox (0, "Fertig!", "Der Sendevorgang wurde erfolgreich abgecshlossen. Die Anwendung wird fast jetzt beendet." )
MsgBox (0, "Script", "Hier füg ich dann den funktionierenden Quellcode ein", 3)
FileDelete (@DesktopDir & "\bsp.txt")
ExitBeim Funktionsaufruf brauchst du keine Zuweisungen.

-
[autoit]
$split = StringSplit( $aFile[$i], "^,^", 1)
[/autoit]Zitat[optional] ändert wie das Teilen des Strings funktionieren soll. Es können mehrere Flags zusammen verwendet werden:
flag = 0 (Standard), es fungiert jedes in den Trennzeichen enthaltene Zeichen als Trennmarkierung
flag = 1, es wird der gesamte Trennzeichenstring als Trennmarkierung genutzt
flag = 2, deaktiviert die Rückgabe der Anzahl im ersten Element. Dadurch wird das Array 0-basierend. Man muss nun mit UBound() die Größe des Arrays feststellen. -
Wunderbar. Vielen Dank!
-
"[^A-Za-z0-9_ ]" ist genau richtig. Das passt, danke.

"\s" entfernt aber sowohl die Zeilenumbrüche, als auch die Leerzeichen. Ich will aber nur die Zeilenumbrüche entfernen.
Ich bräuchte da eher eine Kombination aus "\r" und "\n". Wie fügt man so etwas zusammen...?Tut mir Leid. Wie gesagt - ich habe leider null Erfahrung damit. Werde mich damit aber wohl in nächster Zeit beschäftigen müssen.
-
Guten Abend, liebes Forum!

Ich habe zwei kleine Fragen, bezüglich der StringRegExpReplace-Pattern.
Und zwar brauche ich folgende:Eins, das alle @CR, @LF und @CRLF aus einem String entfernt.
Und eins, das alle nicht-alphanumerischen Zeichen entfernt. (!, @, #, $ usw.)Ich habe kein Beispielscript, da ich selbst absolut keine Ahnung davon habe.
Da es aber sehr dringend ist, hoffe ich, dass mir jemand bei der Erstellung dieser beiden Pattern helfen kann.
Ich wäre wirklich sehr dankbar.LG
-
[autoit]
If GUICtrlRead ($edit7) <> "" Then
[/autoit][autoit][/autoit][autoit]; Oder aber auch...
[/autoit][autoit][/autoit][autoit]If Not GUICtrlRead ($edit7) = "" Then
[/autoit] -
Nice.

Schau dir mal diese UDF von Großvater an.
Damit könntest du gleich ein Bild des Smartphones als Hintergrund verwenden (mit runden Ecken). -
-
Ich verstehe zwar nicht, was der Code da ergeben soll, aber so kann man einen hover-Effekt erzeugen:
[autoit]Global $sCheckboxOff = "C:\Users\Administrator\Documents\norm.bmp", $sCheckboxOn = "C:\Users\Administrator\Documents\hover.bmp", $bHover = False
[/autoit][autoit][/autoit][autoit]
$hGUI = GUICreate ("", 183, 165, 192, 124)
$hPic = GUICtrlCreatePic ($sCheckboxOff, 10, 10, 50, 50)
GUISetState (@SW_SHOW, $hGUI)While True
[/autoit]
$nMsg = GUIGetMsg ()
$aPos = GUIGetCursorInfo ()
Select
Case $nMsg = -3
Exit
Case ($aPos[0] >= 10 And $aPos[0] <= 60) And ($aPos[1] >= 10 And $aPos[1] <= 60)
If $bHover = False Then
GUICtrlSetImage ($hPic, $sCheckboxOn)
$bHover = True
EndIf
Case Else
If $bHover = True Then
GUICtrlSetImage ($hPic, $sCheckboxOff)
$bHover = False
EndIf
EndSelect
WEnd -
Du musst die GUI danach wieder neu zeichnen (_redraw).

-
Falls du wirklich Switch und nicht Select benutzen willst, dann benutze "1" als expression...
[autoit]Switch 1
[/autoit]
Case _IsPressed ("01")
MsgBox (64, "", "Linke Maustaste")
Case _IsPressed ("02")
MsgBox (64, "", "Rechte Maustaste")
Case ; Das mal nur als Beispiel...
EndSwitch -
-
[autoit]
$sPath = FileSaveDialog("", @DesktopDir, "(*.*)", 16, "", $Account_Manager)
[/autoit]
FileWrite ($sPath, inhalt) -
Die ImageSearchDLL.dll muss in den Ordner C:\Windows\SysWOW64 abgelegt werden.
Außerdem musst du, wenn du das Script aus dem Ordner ausführst, es per Rechtsklick -> Run Script (x86) starten. -
Alles anzeigen
So könnte es gehen
[autoit]$searchString = "asdf"
[/autoit] [autoit][/autoit] [autoit]
$inhaltEditBox = GuiCtrlRead($editbox)
$posString = StringInStr( $inhaltEditBox ,$searchString)
If(@error) Then Exit
$vordererTeil= StringLeft ( $inhaltEditBox , $posString )
$hinterTeil = StringRight( $inhaltEditBox, StringLen ( $inhaltEditBox )-StringLen($searchString)-StringLen($vordererTeil) )GuiCtrlSetData($editbox, $vordererTeil&$hintererTeil)
[/autoit]
(vll fehlt noch wo nen -1)Vll einfacher noch mit StringSplit ( "string", "delimiters" [, flag] )
und als delimiters dann dein $searchString
Sehr simpel...

Probier mal das hier...
[autoit]$sString = "Das ist ein String zum testen."
[/autoit]
$sSearchstring = "String"
If StringInStr ($sString, $sSearchstring) <> 0 Then
$sString = StringReplace ($sString, $sSearchstring, "")
MsgBox (64, "String", $sString)
;~ GUICtrlSetData (controlID, $sString)
EndIf -
ja an eine for schleife habe ich auch schon gedacht, aber ich denke das wird dann "sehr lange dauern" bis man ein namenergebnis hat
in der liste sind nämlich über 7500 namen
aber trotzdem danke
ich werde dein vorschlag mal ausprobieren 
Das würde gar nicht lange dauern...
Ich selbst habe ebenfalls eine Art "Suchfunktion" für ein Prog geschrieben, die etwa 4500 Einträge durchsucht. Das dauert etwa 19ms.
Ein Mensch merkt so was nicht mal wirklich. Kannst dich also ruhig daran probieren.