Hilfe lesen hilft. ![]()
ZitatSuccess: A 0 based $array[0] contains the first found string.
Also:
[autoit]Msgbox(0,"",$between[0])
[/autoit]Hilfe lesen hilft. ![]()
ZitatSuccess: A 0 based $array[0] contains the first found string.
Also:
[autoit]Msgbox(0,"",$between[0])
[/autoit]Oder so:
[autoit]Do
$input = InputBox('Input', 'Eingabe', '')
StringRegExpReplace($input, '[\w\s]', '')
Until @extended > 2
ConsoleWrite($input & @CRLF)
Na dann sei uns Willkommen.
Ich wünsche dir Viel Freude und eine wirkungsvolle Horizonterweiterung. ![]()
If $rechte AND $ausgelesen Then
Das bedeutet ja nur, dass irgendein Wert > 0 in diesen Variablen ist. Du mußt aber schon prüfen, ob der richtige Wert enthalten ist.
"If BitAND($rechte, $ausgelesen) Then"
Ob das geht, kann ich nicht sagen. Ich weiß ja nicht, wie die Rechtefestlegung codiert ist. Wenn $ausgelesen als Bitwert in $rechte mit BitOr verknüpft wurde, kann man das so auch abprüfen.
![]()
Da war ich jetzt auf dem falschen Dampfer. Wenn der Vergleichswert kein Dualwert ist, ergibt sich als Ergebnis der Dualwert, der sowohl in Summe als auch Vergleichswert enthalten ist. In diesem Fall 8 - und somit hast du recht.
Ich war etwas daneben, da ich als Vergleichswerte ausschließlich eigenständige Dualwerte verwende, sonst ist ja die Boolsche Abfrage nicht eindeutig. Denn BitAND(10,9) und auch BitAND(10,2) liefern True.
Bsp.
[autoit]Func _MeineFunktion($Parameter, ....)
; Code
; Code
Return $Rueckgabewert ; falls die Func einen Wert liefern soll
EndFunc
; Aufruf
$Rueckgabewert = _MeineFunktion() ; falls Parameter nötig, natürlich übergeben.
Steh ziemlich auf dem Schlauch, weil ich nicht vertsehe warum ausgerechnet in einer If-Abfrage das BitAnd einen booleanwert zurückgeben sollte....
Der Booleanwert ist nicht wirklich da. ![]()
Wenn die Abfrage ohne Ergebnis ist, wird 0 zurückgegeben und das wird in AutoIt ebenso wie False interpretiert. Jeder Wert größer Null ist in der Interpretation True.
Somit kann man Abfragen, bei denen der Rückgabewert vordergründig nicht weiter genutzt wird, zur besseren Übersicht einfach als Boolean nutzen.
BitAnd(10,9) <== Hier gilt doch, dass 9 als Bitwert nicht in 10 enthalten ist - also falsch.
Oops, ich sollte selber öfter mein Tut lesen, da war ich daneben. ![]()
Kann ich nicht nachvollziehen.
Schau mal in Zeile 120 des Includes, dort erfolgt die Deklaration. (Include öffnen: Mit Cursor in die Include-Zeile, dann Alt+i)
Global $__IEAU3V1Compatibility
Du hast hier zwei Sachen:
Einmal werden zwei einzelne Variablen auf Inhalt geprüft und wenn bei beiden der Inhalt stimmt ist die If-Abfrage wahr:
If Var1=Wert1 AND Var2=Wert2 Then
Das AND verknüpft nur die Bedingungen.
Ein anderes mal hat man eine Variable, die mehrere Bitwerte trägt. Mit BitAND wird geprüft, ob ein Vergleichswert enthalten ist:
If BitAND(Var, Vergleichswert) Then
PS: Schau mal in meine Signatur - Bit-Tut
Edit:
Hier mal für dein Bsp.:
Local $recht = 0x00100001 ;Daten lesen-Recht
Local $ausgelesen = 0x001F01FF ; -> Bsp: User hat Vollzugriff
Local $sumRechte = BitOR($recht,$ausgelesen)
[/autoit][autoit][/autoit][autoit]If BitAND($sumRechte, $recht) Then ; Daten Lesen
If BitAND($sumRechte, $ausgelesen) Then ; Vollzugriff
denn wenn in der log-Datei nichts passiert, braucht man auch keine Schleife ständig "im Kreis herum rennen" zu lassen
Eine Schleife mußt du in jedem Fall 'rennen' lassen. ![]()
Du kannst natürlich mal prüfen ob dein Programm die Logdaten unter einer festen Speicheradresse parkt. Dann könntest du dort abfragen.
Aber ich halte das Lesen der LogDatei für einfacher. Du brauchst doch nur deine Anzeige aktualisieren, wenn sich in der Logdatei was geändert hat. (z.B. Zeilenzahl als Referenzwert speichern und vergleichen)
@Gummibaer
OK, aus deinem Zitat wird zumindest deutlich, dass sich Beschränkungen ausschließlich auf die ICQ-Software beziehen.
Bei Nutzung anderer Messenger gelten deren Bedingungen.
autoBert
Die Nutzungsbestimmungen sind m.E. schon seltsam.
1. nicht wirklich eindeutig
2. Freigabe des OSCAR-Protokolls und dadurch
3. Zugriffsermächtigung für alle Multi-Messenger und
4. Selbstprogrammierer
Ich habe zum Bsp. noch nie ICQ auf meinem PC installiert gehabt und in den Nutzungsbestimmungen der Multimessenger hab ich meines Wissens keine derartigen (ICQ-spezifischen) Hinweise gefunden. ![]()
BTT:
Da kann ich leider nicht wirklich helfen, da ich wie eben geschrieben, ICQ nicht installiert habe.
Style: $WS_POPUP ![]()
Ich habe keine Doku zum Objekt WMPlayer gefunden.
Bist du dir sicher, dass es die Methode .open mit Parameter Datei gibt ?
Ist es nicht evtl. eine Zuweisung? $oWMP.File = 'Deine_Datei'
Du hast mehr Chancen auf Antworten, wenn du dein Skript postest (nicht anhängen).
Dann kann man schnell mal einen Blick draufwerfen ohne es erst runterladen zu müssen. Ich bin viel zu faul zum Downloaden. ![]()
Das hab ich garnicht gewußt
Ich hab das nur mal zufällig gemerkt, als ein DllCall über @error keinen Fehler brachte, $ret[0] aber 0 lieferte. Seitdem prüfe ich auf Rückgabewert.
Nun hab ich das Problem, dass Dircopy die Gui solange blockiert, bis der Ordner kopiert ist.
Ich weiß ja nicht, was du sonst noch vorhast - aber den nächsten Kopiervorgang kannst du eh erst ausführen, wenn der aktuelle durch ist. Zum Thema kopieren schau dir mal Oscars _MultiFileCopy an.
Jetzt Flackert es bei mir so wild, was fehlt den noch?
Es fehlt nichts, es ist zu viel. ![]()
Du mußt beim Auswerten von GUIGetMsg() die Checkbox als Case eintragen.
Switch GUIGetMsg()
Case $Checkbox
If BitAnd(GUICtrlRead($Checkbox), $GUI_CHECKED) Then ...
Und verwende bitte AutoIt-Tags und Spoiler!
[autoit]Wie frage ich richtig ab?
If BitAnd(GUICtrlRead($CheckBox), $GUI_CHECKED) Then ; ist markiert
[/autoit]Brauchst doch nur die Arrays in geschachtelten Loops auslesen und dann wegschreiben.