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

Beiträge von Schnitzel

  • FileWriteFromArray() mit Arrays in Arrays

    • Schnitzel
    • 27. Februar 2010 um 20:27
    Zitat von PrideRage

    Ich habs jetzt nur so hingeschrieben, weiss net, obs klappt, oder ob das dein Problem ist :D

    ne da bekommt er ziemlich sicher nen fehler
    wer sagt denn das in der ersten dimension genausoviele indexe vorhanden sind wie in der 2ten...

  • plus oder minus als Variable?

    • Schnitzel
    • 27. Februar 2010 um 20:23

    ok dann mal alles erklärt ;)

    [autoit]

    Local $a = 4, $b = 3; erstelle 2 lokale variablen und gib ihnen die werte 4 und 3

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

    ConsoleWrite(' a + b = ' & _Calc($a, $b, 1) & @CRLF)
    ; consolewrite schreibt in den consolenteil von scite
    ; schreibe den text 'a + b =' und die rückgabe der funktion _Calc und mache einen zeilenumbruch
    ConsoleWrite(' a - b = ' & _Calc($a, $b) & @CRLF)
    ; das selbe ....

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

    Func _Calc($Val1, $Val2, $Operand=-1)
    ; Func: erstelle eine neue Funktion
    ; _Calc(): name der funktion der kann frei gewählt werden solange keine funktion doppelt existiert
    ; $Val1, $Val2: zwei parameter mit denen die funktion aufgerufen werden muss, in diesem fall zwei zahlen
    ; $Operand: ein alternativer parameter, wenn die funktion ohne diesen parameter aufgerufen wird, dann wird einfach -1 verwendet
    Return $Val1 + $Val2 * $Operand
    ; return: gib den wert zurück der hinter return steht
    ; $Val1 + $Val2 * $Operand berechne das ergebnis davon...
    EndFunc
    ; hier endet die funktion

    [/autoit]

    weitere anmerkung:
    du musst es nich so schreiben: ConsoleWrite('a - b = ' & _Calc($a, $b) & @Crlf)das ist eher die kurzform. du könntest auch schreiben:
    $ergebnis = _Calc($a, $b)dann wird das ergebnis, also dein rückgabewert der von return zurückgegeben wurde in der variable $ergebnis gespeichert

  • Zeit

    • Schnitzel
    • 27. Februar 2010 um 15:52
    Zitat von Jonathan


    eigentlich schlafe ich nur nachts, aber wenn man sagt Entweder hour größer 13, oder hour gleich 13 und min größer/Gleich 15.
    dann wäre laut script bei 13:01 oder 13:10 die bedingung auch erfüllt :D

    eben nicht! das ist genau dann erfüllt wenn es erfüllt sein soll. nämlich jede uhrzeit nach 13 uhr 15.

    13:01

    (13 > 13) --> nein
    ((13 = 13) --> ja ) und ((1 > 15) --> nein) --> nein

    Man muss auch einsehen können dass man sich täuscht ^^

  • HKCU remote lesen speichern und anschliessen importieren..

    • Schnitzel
    • 26. Februar 2010 um 14:35

    hast du auf den geräten auf die du zugreifen willst sämtliche berechtigungen die du brauchst?

  • HKCU remote lesen speichern und anschliessen importieren..

    • Schnitzel
    • 26. Februar 2010 um 12:46

    ähm der thread steht auf gelöst...

    ist das absicht?

  • Array vergleichen

    • Schnitzel
    • 26. Februar 2010 um 12:45

    wenn ich mich nicht irre ist das wenn man ein array mit z.B. $array[-1] oder so abfragen will

    das könnte bei dir auch der fall sein, weil _Arraysearch() -1 zurückgeben kann (falls ein fehler stattfindet)

    wenn ich richtig liege dann wäre das ganze mit einer if abfrage leicht gelöst ;)

  • Facebook addon

    • Schnitzel
    • 26. Februar 2010 um 09:13

    hier wurde erst ein schülerVZ client gepostet.
    ich hab zwar keine ahnung was der alles kann aber vllt hilfts dir ja weiter wenn du ihn dir mal ansiehst ;)

    SchülerVz Client für den Buschfunk

  • _ArraySort sortiert "komisch"

    • Schnitzel
    • 26. Februar 2010 um 08:04

    bin nochmal kurz drübergegangen. isses so jetzt das was du suchst oscar?

    Spalte 0 hat in jeden index den gleichen wert. nach ihr muss also nicht sortiert werden.
    also wird nach spalte 2 sortiert.

    beim zweiten durchlauf muss in spalte 1 nichts getauscht werden da alle gleich und in spalte 2 wird nichts getauscht weil die ja schon sortiert sind.
    also wird nach spalte 3 sortiert

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    Dim $array[100][4]
    For $i = 0 To 99
    For $j = 1 To 3
    $array[$i][$j] = Random(0, 10, 1)
    Next
    Next; Array mit Zufallsinhalt erzeugen

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

    For $i = 0 To 99
    $array[$i][0] = 0
    Next
    _ArrayDisplay($array)

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

    _Array2D_Sort($array, 0)
    _ArrayDisplay($array)

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

    _Array2D_Sort($array, 0)
    _ArrayDisplay($array)

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

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _Array2D_Sort
    ; Description ...: Sorts a 2D Array by Index
    ; Syntax.........: _Array2D_Sort($avArray[, $iIndex = 0])
    ; Parameters ....: $avArray - Array to display
    ; $iIndex - [optional] Sort Array by this Index
    ; Return values .: Success - Sorted Array
    ; Failure - 0, sets @error:
    ; |1 - $avArray is not an Array
    ; |2 - $avArray is not an 2D-Array
    ; |3 - $iIndex is out of
    ; Author ........: Schnitzel
    ; Modified.......:
    ; Link ..........: https://autoit.de/index.php?page=Thread&threadID=18117
    ; Example .......: Yes
    ; ===============================================================================================================================

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

    Func _Array2D_Sort(ByRef $avArray, $iIndex = 0)
    If Not IsArray($avArray) Then Return SetError(1, 0, 0)
    If Not UBound($avArray, 0) = 2 Then Return SetError(2, 0, 0)
    If UBound($avArray, 2) <= $iIndex Then Return SetError(3, 0, 0)
    Local $bTausch, $sTmp, $i = 0, $iRuns = UBound($avArray) - 2
    Do
    $bTausch = False
    For $j = 0 To $iRuns - $i
    If $avArray[$j][$iIndex] > $avArray[$j + 1][$iIndex] Then
    For $k = 0 To UBound($avArray, 2) - 1
    $sTmp = $avArray[$j + 1][$k]
    $avArray[$j + 1][$k] = $avArray[$j][$k]
    $avArray[$j][$k] = $sTmp
    Next
    $bTausch = True
    EndIf
    Next
    $i += 1
    Until ($bTausch = False) Or ($i = $iRuns)
    If ($bTausch = False) And ($i = 1) Then _Array2D_Sort($avArray, $iIndex + 1)
    EndFunc ;==>_Array2D_Sort

    [/autoit]
  • Warten auf Informationen

    • Schnitzel
    • 25. Februar 2010 um 20:47

    da würde ich eher über den zwischenspeicher gehn^^

    hatte da noch intressante thread's archiviert
    [ offen ] Wie sollen AutoIt Scripte unterinender kommunizieren?
    http://www.autoitscript.com/forum/index.php?showtopic=22598&hl=

  • FileReadLine bei .ini

    • Schnitzel
    • 25. Februar 2010 um 20:41
    Zitat von nuts

    Ohne das jetzt ausprobiert zu haben würde ich da mal widersprechen

    dann probiers mal aus ;)


    Zitat

    Ich glaub er meint Textdateien ;)

    im vergleich zu dateien die mit Fileread ausgelesen werden. sry hab mich da bisschen blöd ausgedrückt


    iniread und iniwrite sind schneller als die filewrite und fileread und ähnliches

  • _ArraySort sortiert "komisch"

    • Schnitzel
    • 25. Februar 2010 um 20:38
    Zitat

    Wenn jetzt die Werte im ersten Element gleich sind, dann sollen die gleichen nach dem Wert des zweiten Elements sortiert werden. Das ist bei Deiner Funktion nicht der Fall.

    joa ok das kann man ja noch anpassen ;)

  • Array2D Sortieren

    • Schnitzel
    • 25. Februar 2010 um 20:36
    Zitat von name22

    Funktioniert wenn es das tun soll was es macht^^. Ich versteh leider immer noch nicht wo da der Unterschied zur offiziellen Funktion liegt.

    Lol stimmt. die kann ja genau das gleich :D
    da hab ich wohl im thread was falsch verstanden und vorschnell gehandelt
    Was für n Müll thread :rofl:

    Zitat

    P.s. Ich kann das unter deinem Avatar nicht lesen.

    ja hab ich leider bemerkt. das wird zu klein...
    "Der Support sagt, das Problem befindet sich irgendwo zwischen der Tastatur und meinem Stuhl"

    das steht da ;)

    funktionsupdate:

    [autoit]

    Func _Array2D_Sort(ByRef $avArray, $1 = 0, $2 = 0, $3 = 0, $4 = 0 )
    Return _ArraySort(ByRef $avArray, $1, $2, $3, $4)
    EndFunc

    [/autoit]

    :rofl:

  • FileReadLine bei .ini

    • Schnitzel
    • 25. Februar 2010 um 20:16
    Zitat

    FileReadLine bei einem bestimmten .ini Bereich?

    ini's gibt es doch damit man eben kein fileread und ähnliches braucht.
    dann kannste gleich ne .txt oder ne .xyz nehmen. inis sind aber viel schneller (bei großen dateien) und sie sind weniger fehleranfällig

    Zitat von Slyfex

    Ich hab immer Probleme mit dem Enter (für 1 Leerzeile muss ich 2 schreiben)

    ja eine ist für den zeilenumbruch in die nächste zeile und einer ist dann der zeilenumbruch in der leeren zeile

    leere zeilen in ini's sind aber nie gut...

  • _ArraySort sortiert "komisch"

    • Schnitzel
    • 25. Februar 2010 um 20:06

    joa das is ne variante, wenn ich alles richtig gemacht hab isses n QuickSort.

    der Fall das zwei Werte gleich sind wird nicht berücksichtigt, aber das braucht man ja auch nicht.
    man muss doch nur tauschen wenn der nächste größer ist ansonsten bleiben die beiden ja eh nebeneinander ;)

  • Zeit

    • Schnitzel
    • 25. Februar 2010 um 19:43
    Zitat

    Ist auch falchs... weil dann laut Script auch 12:40 später als 13:15 wäre

    entweder du hast mich jetz total doof im kopf gemacht oder du täuscht dich gerade

    Schuld an allem bist auf jeden fall du :rofl:

  • _ArraySort sortiert "komisch"

    • Schnitzel
    • 25. Februar 2010 um 19:35

    Ich hoffe mal das kannste gebrauchen Oscar:

    https://autoit.de/index.php?page=Thread&amp;threadID=18117

    ;)

  • Array2D Sortieren

    • Schnitzel
    • 25. Februar 2010 um 19:32

    hallo leute. aufgrund Oscar's Thread ( https://autoit.de/index.php?page…8088&amp;%20%20 ) und meiner langeweile hab ich mich hingesetzt und ne simple Funktion zum Sortieren eines 2D-Arrays gebastelt.

    Und da ich oft was im Hilfebereich bastle und noch nie was unter Scripte gepostet hab dachte ich mir dass es jetzt mal zeit wird. Vllt kanns ja jemand gebrauchen.

    Freue mich über jedes Feedback, gefundene Fehler oder Verbesserungsvorschläge.


    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    Dim $array[100][4]
    For $i = 0 To 99
    For $j = 0 to 3
    $array[$i][$j] = Random(0, 100000, 1)
    Next
    Next; Array mit Zufallsinhalt erzeugen

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

    $var = _Array2D_Sort($array, 0)
    _ArrayDisplay($var)
    $var = _Array2D_Sort($array, 1)
    _ArrayDisplay($var)
    $var = _Array2D_Sort($array, 2)
    _ArrayDisplay($var)
    $var = _Array2D_Sort($array, 3)
    _ArrayDisplay($var)
    $var = _Array2D_Sort($array, 4)
    MsgBox(0,"",@error)

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

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _Array2D_Sort
    ; Description ...: Sorts a 2D Array by Index
    ; Syntax.........: _Array2D_Sort($avArray[, $iIndex = 0])
    ; Parameters ....: $avArray - Array to display
    ; $iIndex - [optional] Sort Array by this Index
    ; Return values .: Success - Sorted Array
    ; Failure - 0, sets @error:
    ; |1 - $avArray is not an Array
    ; |2 - $avArray is not an 2D-Array
    ; |3 - $iIndex is out of
    ; Author ........: Schnitzel
    ; Modified.......:
    ; Link ..........: https://autoit.de/index.php?page=Thread&threadID=18117
    ; Example .......: Yes
    ; ===============================================================================================================================

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

    Func _Array2D_Sort($avArray, $iIndex = 0)
    If Not IsArray($avArray) Then Return SetError(1, 0, 0)
    If Not UBound($avArray, 0) = 2 Then Return SetError(2, 0, 0)
    If UBound($avArray, 2) <= $iIndex Then Return SetError(3, 0, 0)
    Local $bTausch, $sTmp, $i = 0, $iRuns = UBound($avArray)-2
    Do
    $bTausch = False
    For $j = 0 To $iRuns - $i
    If $avArray[$j][$iIndex] > $avArray[$j+1][$iIndex] Then
    For $k = 0 To UBound($avArray, 2) - 1
    $sTmp = $avArray[$j+1][$k]
    $avArray[$j+1][$k] = $avArray[$j][$k]
    $avArray[$j][$k] = $sTmp
    Next
    $bTausch = True
    EndIf
    Next
    $i += 1
    Until ($bTausch = False) Or ($i = $iRuns)
    Return $avArray
    EndFunc

    [/autoit]
  • Zeit

    • Schnitzel
    • 25. Februar 2010 um 16:29
    Zitat von Helveticus

    If @Hour > 13 and @min > 15 wäre für mich logischer.

    wer auch immer diesen doofen vorschlag gemacht hat hat gerade nicht ganz logisch gedacht, vermutlich weil er zwischen php, mysql und perl mal ins autoit forum geschaut hat ^^


    mein vorschlag ist doof weil er um 14 Uhr 10 z.B. nicht das gewünschte ergebnis liefert, weil 10<15

    wenndann würds so gehn:

    if (@hour > 13) or (@hour = 13 and @min >= 15) then...
    da ist aber die andere lösung leichter ^^

  • TCP Client - lesen und schreiben

    • Schnitzel
    • 25. Februar 2010 um 15:35

    Herzlich willkommen im Forum keyhole,

    bitte poste doch dein gesamtes script das du bis jetzt hast dann können wir dir am leichtesten helfen ;)

  • GUIGetMsg aktion bei unbekannt möglich?

    • Schnitzel
    • 25. Februar 2010 um 14:57

    blicke irgendwie nichtmehr ganz durch.

    isses gelöst? brauchst du noch wo hilfe?

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™