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. Lanealine

Beiträge von Lanealine

  • Autoit.exe viel langsamer als au3

    • Lanealine
    • 19. Juli 2016 um 16:00

    hmm... kann sein, aber warum läuft das dann auch langsam wenn es geöffnet ist ?
    für die schritte die das .au3 programm in 1sek macht, braucht die exe 5-10 sek...

  • Autoit.exe viel langsamer als au3

    • Lanealine
    • 19. Juli 2016 um 15:27

    hey,
    ich habe ein problem mit einem autoit programm, wenn ich das programm über autoit und "GO"(F5) starte, startet das programm direkt und läuft flüssig.
    wenn ich allerdings eine .exe von dem programm erstelle (F7) und diese exe starte, dauert es 20sek. bis das programm überhaupt erstmal gestartet ist und dazu ist das programm viel langsamer als das was mit .au3 gestartet wurde.

    habt ihr ideen woran das liegen könnte ? muss ich bevor ich F7 drücke noch irgendwo was umstellen ?

    mfg

  • Button per Function "drücken"

    • Lanealine
    • 16. Juli 2016 um 14:05

    durch das drücken von button werden auch noch unterschiedliche zahlen generiert für spätere funktionen, dadurch kann ich nicht einfach alles aus dem Case $button1 kopieren.

    habe es glaube ich hinbekommen mit einer For schleife. ich teste es noch ein bisschen, wenn keine fehler auftreten mach ich das thema zu.

    vielen dank für eure mühe :)

  • Button per Function "drücken"

    • Lanealine
    • 16. Juli 2016 um 13:23

    genau das ist der plan autobert ;)

    hast du eine idee, wie man das machen kann, dass autoit nachdem ich einen button geklickt habe, automatisch einen andere button "drückt" ?

    kann man nicht einfach sagen "Click $Button1" ?

  • Button per Function "drücken"

    • Lanealine
    • 16. Juli 2016 um 03:25

    Hey,
    ist es möglich einen Button durch eine Function zu "drücken" ?

    z.b.
    es gibt 5 Button ( benannt in array - $aTestButton[1, 2, 3...])
    ich generiere eine randomzahl 1-5

    Func
    For $i = 1 to 5
    If $randomzahl = $i Then (Press) $aTestButton[$i]
    next
    Endfunc

    mfg

  • FileWrite funktioniert nicht so wie es soll

    • Lanealine
    • 9. Juli 2016 um 14:16

    habe mir notepad++ mal installaliert. hast recht, da sieht man mehr als mit word xD vielen dank für den tipp

  • FileWrite funktioniert nicht so wie es soll

    • Lanealine
    • 8. Juli 2016 um 14:33

    das mit den nicht druckbaren zeichen habe ich bei word schon nachgeschaut. aus irgendeinem grund macht autoit da ein "doppelenter" obwohl ich nur 1x @crlf eingestellt habe. (automatisch macht filewrite keine enter hinter jeden eintrag, oder ?)

  • FileWrite funktioniert nicht so wie es soll

    • Lanealine
    • 7. Juli 2016 um 14:22

    @Raupi vielen dank für die mühe. das mit dem FileReadLine habe ich auch getestet, allerdings hat das nicht so richtig geklappt, weil zwischen den zeilen leer zeilen waren(obwohl man diese im editor nicht sehen konnte). Das wäre jetzt aufjedenfall der nächste schritt, den ich versucht hätte zu benutzen :thumbup:

    @Kanashius vielen lieben dank! deine code läuft bei mir perfekt! :thumbup:

    Andy: tut mir leid wenn du einen schlechten arbeitstag hattest, aber die anderen hier haben mein problem direkt erkannt... ich bin leider noch nicht so richtig drin im autoitbusiness, daher weiß ich auch nicht was für infos man alle benötigt, um bestimmte probleme zu lösen. :theke:

  • FileWrite funktioniert nicht so wie es soll

    • Lanealine
    • 6. Juli 2016 um 18:00

    code hinzugefügt.

  • FileWrite funktioniert nicht so wie es soll

    • Lanealine
    • 6. Juli 2016 um 17:43

    hey, ich lasse aus einem array eine mehrzeilige txt schreiben und bekomme merkwürdige fehler.

    Code
    For $i = 0 To 9
    	FileWrite($txtDir, $aTest[$i] & @CRLF)
    	Next

    das array enthält 10 verschiedene zahlen, die untereinander in eine .txt geschrieben werden sollen.

    das ganze funktioniert auch. wenn ich die .txt öffne, sieht das ganze so aus:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    wenn ich jetzt aber die zahlen mit FileReadLine der reihe nach auslesen möchte, funktioniert es nicht.
    das problem liegt darin, wenn ich die zahlen aus der von autoit geschriebenen .txt rauskopiere, sieht das ganze so aus:
    1

    2

    3

    4

    5

    6

    7

    8

    9

    10


    warum sind da leere zeilen zwischen, obwohl diese in der .txt nicht angezeigt werden ? kann man das irgendwie ausstellen, dass autoit das so schreibt oder liegt es garnicht an autoit ?

    mfg

    Edit:

    Code zum auslesen:

    C
    #include <FileConstants.au3>
    #include <MsgBoxConstants.au3>
    #include <WinAPIFiles.au3>
    
    
    
    
    $Dir = "E:\Test.txt"
    
    
    
    
    For $i = 0 To 9
    		MsgBox(0, "",  FileReadLine($Dir, $i + 1))
    Next
    MsgBox(0, "", "fertig")
    Alles anzeigen


    alle 2 zeilen ist die msgbox leer, weil angeblich die zeile leer ist.

  • buttonbeschrfitung über 2 zeilen

    • Lanealine
    • 19. Juni 2016 um 05:53

    manchmal kanns so einfach sein :)
    vielen dank !

  • buttonbeschrfitung über 2 zeilen

    • Lanealine
    • 18. Juni 2016 um 23:36

    hey, ich würde gerne einen button so beschriften, dass die beschriftung über 2 zeilen geht.

    so gehts leider nicht:( :D )
    GUICtrlCreateButton("1.zeile" & @CRLF & "2.zeile", 10, 10, 136, 40)

    habt ihr eine idee, wie man das machen kann ?

  • Wert aus Array bekommen

    • Lanealine
    • 17. Juni 2016 um 14:27

    vielen dank für eure mühe, es lag an der 2. ich dachte das die $variable immer [$i][min. 2] groß ist. aber genau in dem beispiel, als ich es getestet habe, war das array nur [5][1] groß..
    jetzt funktioniert es :)
    wollt ihr das script trotzdem nochmal sehen ?

  • Wert aus Array bekommen

    • Lanealine
    • 14. Juni 2016 um 05:43

    hallo,
    ich habe ein array $aTest[$i][2]
    mit dem displayarray kann ich dieses array auslesen und sehen, dass alle werte in dem array vorhanden und richtig sind.
    wie aber kann ich jetzt einen bestimmten wert, z.b. wert $aTest[5][2] auslesen und diesen als variable speichern? bei mir kommt da immer nur "0" raus...

    warum funktioniert das nicht ? :
    $variable = $aTest[5][2]

    danke :)

  • arrayproblem mit zufallszahl

    • Lanealine
    • 3. Juni 2016 um 01:53

    hallöchen, ich habe ein array, dass zwischen 3 und 12 werten groß ist.
    diese werte ergeben immer 100 (array mit 4 werten z.b. [0]= 15, [1]=50, [2]=30, [3]=5)

    bevor das array ausgelesen wird, wird eine zufallszahl erstellt 1.100.
    dannach soll das array aufgeteilt werden, dass jeder wert des arrays ein teil von 100 einnimt.
    wenn ich jetzt eine zufallszahl z.b. 12 bekomme. sagt mir die funktion, dass [0],[1],[2] mit der zufallszahl übereinstimmen.

    nagut, dass stimmt nunmal aber, es soll jedoch erreicht werden, dass z.b. bei der 12 NUR [0] als "übereinstimmender" wert des arrays ausgespuckt wird.

    ich habe mir ein paar gedanken gemacht und bin auf die lösung gekommen:
    [0]= 15, [1]=50, [2]=30, [3]=5
    $i = zufallszahl

    0-15 = $i kleiner als [0] dann [0]
    15-65 = $i zwischen [0] und [0]+[1] dann [1]
    65-95 = $i zwischen [0]+[1] und [0]+[1]+[2] dann [2]
    95-100 = $i größer als [2] dann [3]

    naja, schön und gut, so kann man es meiner meinung nach schreiben, allerdings wird es kompliziert und es schleichen sich schnell fehler ein bei einem array mit 12 werten.

    kennt ihr eine lösung, dieses problem in einer schleife zu lösen? habt ihr vielleicht eine komplett andere lösung für das problem ?

    vielen dank

  • Stringregexp

    • Lanealine
    • 1. Juni 2016 um 18:49

    vielen dank euch beiden, funktioniert perfekt :thumbup:

  • Stringregexp

    • Lanealine
    • 30. Mai 2016 um 16:06

    Hallo,
    ich habe ein array mit mehreren einträgen die alle in diesem format stehen: 2zeichen, buchstaben, zahlen (z.b. B1,CC,C6,KK)

    diese gebe ich in inputboxen aus.
    ich möchte erreichen, dass ich mit stringregexp(ist glaube ich der richtige befehl) NUR das erste zeichen(zahl/buchstabe) auslese.

    z.b.
    array = B1
    stringreexp ausgabe : B

    ich hoffe ihr könnt mir helfen :)

  • Clipboard auslesen und durchsuchen

    • Lanealine
    • 5. Mai 2016 um 15:08

    sry, ich probier es nochma genauer zu schreiben

    die zahlen sollen zusammen 100 ergeben(prozent).(war mir bis eben noch nicht bewusst)
    z.b. "Lw,20,50,30"
    $note1 = "sehr gut"
    $note2 = "gut"
    $note3 = "befriedigend"
    $note4 = "ausreeichend"
    $note5 = "mangelhaft"
    $note6 = "ungenügend"

    da soll er dann
    $ergebsnis (des schüler z.b. : 55%)
    $var1 = 20
    $var2 = 50
    $var3 = 30
    $var2ges = $var1+$var2

    dannach soll dann angezeigt werden:
    wenn $ergebnis = 0 bis $var1 dann $note3
    wenn $ergebnis = kleiner als $var2ges (aber größer als $var1) dann $note2
    wenn $ergebnis = $var2ges bis 100 dann $note1
    AUSGABE: "gut"

    nochn beispiel mit 6 schritten
    z.b. "Ol,7,10,25,20,20,18"
    $ergebnis (des schülers z.b. 66%)
    $var1 = 7
    $var2 = 10
    $var3 = 25
    $var4 = 20
    $var5 = 20
    $var6 = 18
    $var2ges = $var1+$var2
    $var3ges = $var1+$var2+$var3
    $var4ges = $var1+$var2+$var3+$var4
    $var5ges = $var1+$var2+$var3+$var4+$var5


    wenn $ergebnis = <=$var1 dann $note6

    wenn $ergebnis = <=$var2ges (aber größer als $var1) dann $note5
    wenn $ergebnis = <=$var3ges (aber größer als $var2ges) dann $note4
    wenn $ergebnis = <=$var4ges (aber größer als $var3ges) dann $note3
    wenn $ergebnis = <=$var5ges (aber größer als $var4ges) dann $note2
    wenn $ergebnis = >$var5ges dann $note1
    AUSGABE: "gut"

    wie kann ich mir das dann in eine inputbox ausgeben lassen ?
    ungefährt so hast du es in dem zuletztgenannten beispiel gemacht. aber wie schreibe ich das auf ? kann ich in arrays aus variablen addieren lassen ? z.b. $aRL[0][0] = $var1+$var2
    das problem(zumindest für mich) ist, dass es je nach durchgang unterschieldich viele variablen in dem array gibt.

    ich hoffe jetzt isses anschaulicher geworden :)

  • Clipboard auslesen und durchsuchen

    • Lanealine
    • 5. Mai 2016 um 06:19

    Vielen dank :)
    wie immer, sehr gute arbeit autoBert ! :thumbup:


    ich möchte mit den ausgegebenen array werten jetzt rechnen. wie kann ich einstellen,dass es öfters unterschiedlich viele werte in dem array gibt ?
    wenn ich einfach
    $var1
    $var2
    $var3

    ich will z.b.
    wenn $var1 0-40 dann ausgabe "ausreichend"
    wenn $var2 40-60 dann ausgabe "befriedigend"
    wenn $var3 60-80 dann "gut"
    wenn $var4 80-100 dann "sehr gut"

    manchmal gibt es allerdings nur 3 variablen oder auch 5-6. wie schreibe ich das dann am besten in den script ?

    mfg

  • Clipboard auslesen und durchsuchen

    • Lanealine
    • 4. Mai 2016 um 22:28

    sry, aber ich versteh es nicht...


    ich komme so weit das ich die msgbox "fast fertig" angezeigt bekomme. wenn ich die msgbox wegklicke passiert nix mehr und er beendet die function..

    da drin muss ein fehler sein:
    If @extended Then
    $aRes = StringSplit($sFound, '|', 1 + 2)
    _ArrayDisplay($aRes, $aini)
    EndIf

    in diesem schritt soll mir eigentlich ein array erstellt werden mit den einzelnen werten aus der zeile.

    mein script sieht jetzt so aus :

    Code
    Global $aini = $Input[0] & $Input[1] ; =Lw
    	MsgBox(0, "INPUT1", $aini)
    	$sData = ClipGet() ;Daten aus Zwischenablage auslesen
    	#cs
    		$hFile=FileOpen('Pseudo.Ini',$FO_OVERWRITE)
    		FileWrite($hFile,$sData)
    		FileClose($hFile)
    	#ce
    	;$sData=FileRead('Pseudo.Ini')
    	_PseudoIniCreate($sData) ;PseudoIni als 2D-Array erzeugen
    	$sFound = _PseudoIniRead($aini)
    	MsgBox(0,"fast fertig", "fast fertig")
    	If @extended Then
    		$aRes = StringSplit($sFound, '|', 1 + 2)
    		_ArrayDisplay($aRes, $aini)
    	EndIf
    EndFunc   ;==>ClipBoardText
    
    
    Func _PseudoIniCreate($sIniText)
    	$aini = StringSplit($sIniText, @CRLF, 1 + 2) ;=> 1D Array aller kopierten Zeilen
    	_ArrayColInsert($aini, 1) ;aus 1D 2D machen
    	For $i = UBound($aini) - 1 To 0 Step -1 ;Zeilen durchgehen
    		$aini[$i][0] = StringReplace($aini[$i][0], ',', '=', 1) ;1. Komma mit Gleichzeichen ersetzen
    		$split = StringSplit($aini[$i][0], '=', 1 + 2) ;Zeile mit = trennen
    		If UBound($split) > 1 Then ;Datenwerte eintragen
    			$aini[$i][0] = $split[0]
    			$aini[$i][1] = $split[1]
    		Else
    			_ArrayDelete($aini, $i)
    		EndIf
    	Next
    	_ArrayDisplay($aini)
    EndFunc   ;==>_PseudoIniCreate
    
    
    Func _PseudoIniRead($sKey)
    	;Syntax _PseudoIniRead('DerGesuchteString')
    	;
    	;Parameter:	$sKey	enthält den zu suchenden "Key" im PseudoIni-Array
    	;
    	;Rückgabe:	bei Erfolg: einen | getrennten String = "Value" des "Keys"
    	;						@error		= 0
    	;						@extended	= Anzahl der Teilstrings
    	;
    	;			bei Fehler: @error 		=	1
    	;						@extended 	=	0
    	;gibt bei Erfolg  für $sKey zurück
    	Local $sRet, $iErr = 1, $iExt = 0
    	For $i = 0 To UBound($aini) - 1 Step 1
    		If $aini[$i][0] = $sKey Then
    			$sRet = StringReplace($aini[$i][1], ',', '|')
    			$iExt = @extended + 1
    			$iErr = 0
    			ExitLoop
    		EndIf
    	Next
    	SetError($iErr, $iExt)
    	Return $sRet
    EndFunc   ;==>_PseudoIniRead
    Alles anzeigen

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™