1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Yjuq

Beiträge von Yjuq

  • txt in edit

    • Yjuq
    • 28. April 2013 um 13:43
    Spoiler anzeigen

    Wie minx bereits sagte, liegt es an den Zeilenumbrüchen selber...
    Es wird vermutlich LF bzw. CR verwendet.

    Das kannst du mit StringRegExpReplace beispielsweise lösen:

    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    $GUI = GUICreate("Gui-test", 404, 181, 142, 171)
    $Edit1 = GUICtrlCreateEdit("", 8, 8, 249, 153, BitOR($GUI_SS_DEFAULT_EDIT,$ES_READONLY))

    [/autoit] [autoit][/autoit] [autoit]

    $fileo = FileOpen(@ScriptDir&"/dataxxx.txt", 2)
    FileWrite($fileo, "TextA" & @CR & "TextB" & @LF & "TextC")
    FileClose($fileo)

    [/autoit] [autoit][/autoit] [autoit]

    $fileo = FileOpen(@ScriptDir&"/dataxxx.txt")
    $Filer = StringRegExpReplace(Fileread($fileo), '\n|\r', @CRLF)
    GUICtrlSetData($Edit1,$Filer)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(40)
    WEnd

    [/autoit]

    €dit:
    Hey, man löscht nicht einfach seine eigenen Beiträge als Threadsteller...
    Besonders nicht wenn es dabei um die Problemstellung geht!
    Was ist wenn andere das Problem haben?

    Bitte beachte das demnächst ja?

  • Kampffunktion

    • Yjuq
    • 28. April 2013 um 13:07

    Zu deinem Programmierstil will ich schonmal gar nichts sagen o.o


    Aber erst mal was mir konkret auffällt:

    [autoit]

    If $Klasse = 1 or $Klasse= "Krieger" or $Klasse="krieger" Then ; Zeile 22
    ElseIf $Klasse = 2 or $Klasse = "Magier" or $Klasse = "magier" Then ; Zeile 29
    ElseIf $Klasse = 3 or $Klasse = "Tank" or $Klasse = "tank" Then ; Zeile 36

    [/autoit]

    Wenn du einen String mit einen Gleicheitszeichen "=" vergleichst, so wird generell die groß und kleinschreibung ignoriert. Das bedeutet deine If-Abfragen lassen sich folgendermaßen kürzen:

    [autoit]

    If $Klasse = 1 or $Klasse= "krieger" Then ; Zeile 22
    ElseIf $Klasse = 2 or $Klasse = "magier" Then ; Zeile 29
    ElseIf $Klasse = 3 or $Klasse = "tank" ; Zeile 36

    [/autoit]

    Wenn du zwischen groß und kleinschreibung unterscheiden möchtest, sind zwei Gleichheitszeichen "==" zu verwenden. ;)


    Zudem würde ich dir wirklich dringend empfehlen, dieses Tutorial wenigstens einmal durchzulesen: [Tutorial] Sauber Programmieren
    Spätestens dann, wenn das Skript komplizierter wird wirst DU und andere die dir eventuell helfen sollen keinen überblick mehr haben.
    Ich meine es ja nur gut. ;)


    Und jetzt zu deinem Problem:
    Die Funktion funktioniert auch dann, wenn du die Random's die ich auskommentiert habe verwendest. Du hast nur (in den jetzigen Skript) eine Chanze von 25%, dass etwas in das Editfeld geschrieben wird. Führe das Skript einfach ein paar mal aus und überzeuge dich selber.

    Kleiner Tipp: Setze einfach vor jedes Random ein SRandom ein. Und zwar so wie du es gerade brauchst. Dies setzt den Anfangswert für den Zufallsalgorithmus. Damit kannst du einfach deine Randoms ein wenig beeinflussen und im späteren fertigen Skript brauchst du sie nur noch zu löschen bzw. Auszukommentieren.

    Ich wünsche viel Glück mit deinem Vorhaben! :)

  • Bit-Anzeiger

    • Yjuq
    • 27. April 2013 um 20:30

    Gefällt mir ^^
    Jetzt nur noch ein Bit für das Vorzeichen reservieren und ... (Naja, mir fällt nichts ein ^^)

  • Kampffunktion

    • Yjuq
    • 27. April 2013 um 20:11

    Dann würde ich dir vorschlagen einmal das ganze Skript hochzuladen.
    Spontan würde ich jetzt sagen, dass du gerade nur kein glück hattest bei der ausführung des Skriptes.

    Versuche vorab kurz einmal das hier:

    [autoit]

    Func Kampf()
    $Kampf = 4 ; Random(1, 4, 1)

    [/autoit][autoit][/autoit][autoit]

    If $Kampf = 4 Then
    $Monster = 0 ; Random(0, $Monsterzahl, 1)

    [/autoit][autoit][/autoit][autoit]

    If $Monster = 0 Then
    GUICtrlSetData($edtText, "")
    Send("Ein Kampf mit einem Keiler beginnt.")
    ElseIf $Monster = 1 Then
    ElseIf $Monster = 2 Then
    EndIf
    EndIf
    EndFunc

    [/autoit]

    Wenn nichts in den Editfeld geschrieben wird, hast du irgendwo anders im Skript einen Fehler.
    Aber wie gesagt, ich denke du hattest einfach kein glück beim ausführen des Skriptes.
    Es wird ja schließlich zufällig bestimmt ob was ins Editfeld geschrieben wird.

  • Kampffunktion

    • Yjuq
    • 27. April 2013 um 19:53

    Das Problem ist, dass du eine Zahl mit Nachkommastellen bekommst...
    Du musst bei Random den dritten Parameter auf "1" setzen.
    Sonst wird dieser Vergleich "If $Kampf = 4" oder dieser "If $Monster = 0" nur in einem ganz seltenen Fall eintreten.

    [autoit]

    Func Kampf()
    $Kampf = Random(1, 4, 1)

    [/autoit][autoit][/autoit][autoit]

    If $Kampf = 4 Then
    $Monster = Random(0, $Monsterzahl, 1)

    [/autoit][autoit][/autoit][autoit]

    If $Monster = 0 Then
    GUICtrlSetData($edtText, "")
    Send("Ein Kampf mit einem Keiler beginnt.")
    ElseIf $Monster = 1 Then
    ElseIf $Monster = 2 Then
    EndIf
    EndIf
    EndFunc

    [/autoit]

    LG Make ;)

  • Mit StringRegExp Umlaute in HTML Code finden

    • Yjuq
    • 23. April 2013 um 14:35

    Du musst nun noch die Umlaute ersetzen, welche dort ausgegeben werden...

    &uuml; = ü
    &Uuml; = Ü
    &auml; = ä
    &Auml; = Ä
    &ouml; = ö
    &Ouml; = Ö
    &szlig; = ß

    So werden Umlaute in HTML angegeben...
    Aber es gibt auch die Möglichkeit sie als "ä, ö, ü oder ß" anzugeben.
    --> Will ich aber nicht weiter drauf eingehen.

    Sie werden nun korrekt ausgegeben (wie im Quelltext niedergeschrieben).
    Nun kannst du damit arbeiten! :)

  • Mit StringRegExp Umlaute in HTML Code finden

    • Yjuq
    • 23. April 2013 um 13:32

    Ich kann dein Problem nicht nachvollziehen...
    Folgendes Skript gibt mir die gewünschte Ausgabe:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $sSource = '<dd class="heads-of-sales">Anhänger</dd><dt>'
    Global $asResult

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $asResult = StringRegExp($sSource, '<dd class="heads-of-sales">(.*?)</dd><dt>', 1)
    _ArrayDisplay($asResult)

    [/autoit]
  • _IsPressed() | 1. Parameter Problem

    • Yjuq
    • 21. April 2013 um 18:42

    Mein Fehler lag in der If-Abfrage:

    [autoit]

    If _IsPressed(Hex($iCount, 2), $hDLL) And Not $iCount = 233 Then

    [/autoit]


    Es wird ja erst Not $iCount durchgeführt und dann verglichen :whistling:

    [autoit]

    If _IsPressed(Hex($iCount, 2), $hDLL) And Not ($iCount = 233) Then

    [/autoit]

    Danke an alle ^^

  • _IsPressed() | 1. Parameter Problem

    • Yjuq
    • 21. April 2013 um 17:55

    WTF oO
    Ich hätte niemals gedacht dass einer von euch denkt ich wollte ein Keylogger basteln oO

    Wenn ich einen Keylogger basteln wollte, würde ich da garantiert nicht AutoIt nehmen. :D


    Und zwar bastel ich gerade an einem Konsolensnake und ich wollte die Möglichkeit in betracht ziehen, nicht einzelne Tasten abzufragen sondern zu überprüfen welche Tasten gedrückt sind. Da hatte ich dieses obere Skript geschrieben und merke gerade, dass dies nicht so funktionieren will wie ich das will. ^^

    Aber habt ja recht,... Das ganze sieht wirklich verdammt nach einem Keylogger aus.
    Aufgrund der Tatsache dass sich dies in der Konsole abspielt, würde es auch gut tun wenn ich den Puffer irgendwie auslesen könnte?

    (AutoIt Skript wurde als Konsolen Anwendung kompiliert)

    James >> Hab es schon ohne String() versucht,... Das funktioniert so aber auch nicht.

  • _IsPressed() | 1. Parameter Problem

    • Yjuq
    • 21. April 2013 um 17:02

    Hallo Community!
    In Zeile 21 im nachfolgenden Skript wird mein Tastendruck nicht erkannt.
    Hat jemand eine Idee woran das liegen könnte?

    Spoiler anzeigen
    [autoit]

    #include <Misc.au3>
    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $array = _GetKey()
    If UBound($array) > 1 Then
    _ArrayDisplay($array)
    Exit
    EndIf
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _GetKey()
    Local $aKey[1], $iCount
    Local $hDLL = DllOpen('User32.dll')

    [/autoit] [autoit][/autoit] [autoit]

    For $iCount = 0x00 To 0xff
    If _IsPressed(String(Hex($iCount, 2)), $hDLL) And Not $iCount = 233 Then
    ReDim $aKey[UBound($aKey) + 1]
    $aKey[UBound($aKey)] = $iCount
    $aKey[0] += 1
    EndIf
    Next

    [/autoit] [autoit][/autoit] [autoit]

    DllClose($hDLL)
    Return $aKey
    EndFunc

    [/autoit]
  • Scanner ansprechen

    • Yjuq
    • 18. April 2013 um 15:27

    Okey danke :)
    Konnte dann jetzt mein Scanner Problem lösen ^^

  • Scanner ansprechen

    • Yjuq
    • 16. April 2013 um 19:16

    Hallo AutoIt Community!
    Ich brauche wieder mal eure Hilfe und hoffe dass ich euch nicht inzwischen ausgelastet habe.
    Und zwar möchte ich gerne meinen Scanner (EPSON Stylus DX4400 Series) ansprechen.
    Das Ganze soll später in einen Programm integriert werden, um ein Dokument einzuscannen und auszuwerten.


    Folgende Ziele möchte ich erreichen:
    - Scannen starten anhand eines Buttons in meiner GUI
    - Drucken auf Knopfdruck eines Dokuments

    Das war’s auch schon! :D
    Ich habe Google schon den ganzen Tag ausgelastet aber wirklich weiter gekommen bin ich nicht.
    Ich finde einfach keine Möglichkeit meinen Scanner anzusprechen.

    Windows kann ja auch von Haus an den Scanner ansprechen!
    Also wird das doch auch in einem AutoIt Skript funktionieren!?

    Vielleicht lässt sich damit was machen: http://msdn.microsoft.com/de-de/library/5ekk3hse.aspx
    Ich konnte dies aber nicht mit ObjCreate() ansprechen...

    Ich bin für jede Hilfe (wie immer) dankbar!


    LG. Make :)

  • Bild mit 256 Farben erstellen

    • Yjuq
    • 13. April 2013 um 20:56

    Da liegst du leider daneben...
    Es kommt auf das Dateiformat an und deren beinhalteten Farbtabelle...
    Das *.gif Format unterstützt maximal nur 256 Farben. Restliche Farben werden einfach zu einer Farbe in der Farbtabelle konvertiert.
    Manche Formate haben aber auch gar keine Farbtabelle wie die *.png Dateien wenn ich mich nicht irre!
    Da muss man dann selber für die konvertierung der Farben sorgen.

    Wenn du den Farbwert nach deine Idee konvertieren willst, bleiben trzd. Genau soviele Farben übrig. Nur mit dem Unterschied dass die Farbe nun ne andere Farbe ist!

  • Bild mit 256 Farben erstellen

    • Yjuq
    • 13. April 2013 um 20:24

    Wenn du 256 Farben willst, dann konvertiere das Bild in das *.gif Format!
    Das wäre auch noch ne Möglichkeit :P

  • INIReadSections, Loop, Combo - Array?

    • Yjuq
    • 13. April 2013 um 12:00

    Zeile 18 durch

    [autoit]

    If $asReadS[$iTwo][0] = 'Path' Or $asReadS[$iTwo][0] = 'Name' Then

    [/autoit]

    ersetzen!

    LG Make :)

  • _IEDocReadHTML

    • Yjuq
    • 13. April 2013 um 10:49

    Du nennst deine Lösung doch direkt in deiner Frage...

    Zitat

    Nun wie kann ich es schaffen, dass mir nun der Quellcode vom (Termine.htm) ausgegeben wird und wiederum wenn ich auf Firmen klicke
    das Skript erneut starte der Quellcode vom (MZKS.htm) angezeigt wird usw.?


    http://www.geileswetter.de/Termine.htm
    http://www.geileswetter.de/MZKS.htm

    Du brauchst nur die Seiten aufzurufen und der Quelltext springt dir ins Gesicht.

    LG Make :)

  • INIReadSections, Loop, Combo - Array?

    • Yjuq
    • 13. April 2013 um 10:34

    Wie meinst du das o.o?
    Er verwendet doch IniReadSectionNames?

  • QR-Code Creator

    • Yjuq
    • 13. April 2013 um 10:34

    Ah okey :)
    (Hab kenen QR Scanner... Deswegen konnte ich das jetzt nicht nachprüfen ^^)

  • QR-Code Creator

    • Yjuq
    • 13. April 2013 um 09:13

    Hubs :D
    Habe wohl einen Link zu meiner Browser Cache in [ img ] BB Codes gesetzt...
    http://1.2.3.11/bmi/upload.wik…8/87/QRCode.png

    Auf der verlinkten Wikipedia Seite (Post #14) oben Rechts der QR-Code :D
    Dieses Bild wollte ich dort oben zeigen ^^

  • QR-Code Creator

    • Yjuq
    • 13. April 2013 um 08:54

    Hey,... Ich glaube dein QR Code Creator kodiert das Falsch ^^

    Laut Wikipedia gibt die Zeichenkette "QR Code" folgendes aus:[Blockierte Grafik: http://1.2.3.11/bmi/upload.wik…8/87/QRCode.png]

    Allerdings gibt dein Skript folgendes aus:[Blockierte Grafik: http://www7.pic-upload.de/13.04.13/gihfipepi5py.png]

    Ich wollte jetzt nicht den Sinn deines Skriptes zerstören, aber ich finde du solltest das mal nachprüfen ob das wirklich so richtig ist oder ob es falsch auf Wikipedia steht! ^^
    (Quelle: http://de.wikipedia.org/wiki/QR-Code)

    LG. Make :D

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™