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

Beiträge von Oscar

  • Problem beim Vergleichen von 2 Arrays

    • Oscar
    • 1. Mai 2009 um 12:04

    Offenbar versteht keiner den Zusammenhang. :rolleyes:

    Du sollst doch kein Beispielscript liefern, sondern nur ein Beispiel, was in Array1 steht, was in Array2 steht und was dann hinterher in Array2 stehen soll.

  • Nochmal StringRegExp()-Spezialisten gefragt...

    • Oscar
    • 1. Mai 2009 um 11:58

    So müsste es gehen:

    [autoit]


    ;~ $string = '1231234567567' ; 4 kommt nur einmal vor
    $string = '83211234756567' ; 8 und 4 kommen jeweils nur einmal vor
    MsgBox(0,0, StringRegExpReplace($string, '(\d+)(.*)\1', '\3'))

    [/autoit]
  • Problem beim Vergleichen von 2 Arrays

    • Oscar
    • 1. Mai 2009 um 08:04

    Poste mal ein Beispiel. Ich verstehe das Problem nicht.

  • Problem beim Vergleichen von 2 Arrays

    • Oscar
    • 1. Mai 2009 um 07:55

    Dazu brauchst Du doch nur das 1.Array kopieren:

    [autoit]


    #include <Array.au3>
    Dim $array1[6] = [1,6,3,8,3,7]
    Dim $array2[8] = [8,3,4,6,1,9,4,5]
    $array2 = $array1
    _ArrayDisplay($array2)

    [/autoit]


    oder habe ich das falsch verstanden?

  • hallo brauche hilfe über 2 tastaturen

    • Oscar
    • 1. Mai 2009 um 07:19
    Zitat von Harun27

    na wie habens die anderen verstanden würde auch lieber alles 2 mal lesen statt 1 mal

    [Erinnerung an meine Jugend ON]
    Also, mein damaliger Deutschlehrer hat in einem ähnlichen Fall (betraf einen meiner Mitschüler) gar nicht erst angefangen das Geschriebene zu berichtigen, sondern hat das ganze Blatt rot durchgekreuzt und darunter geschrieben:
     6 (7)
    [Erinnerung an meine Jugend OFF]

    Und auch nach 5maligem durchlesen bin ich mir nicht sicher, was Du eigentlich willst. Irgendwas mit Hotkeys und 2 Tastaturen.
    Du möchtest Hilfe bekommen, zu einem (AutoIt?)-Problem. Da kann man doch als Helfender wenigstens erwarten, dass Du Dir etwas Mühe gibst und die Frage(n) halbwegs verständlich formulierst.
    Es ist ja schon schlimm genug, dass einige hier die Groß-/Kleinschreibung und Zeichensetzung ignorieren, aber Deine Ansammlung scheinbar wahllos zusammengewürfelter Wörter erreicht bei mir eine Grenze, wo ich das auch mal aussprechen muss.
    Also sorry, für dieses oberlehrerhafte Getue. Ich erwarte auch nicht perfektes Deutsch (bin selbst nicht perfekt), aber etwas mehr Mühe kannst Du Dir schon geben.

  • hallo brauche hilfe über 2 tastaturen

    • Oscar
    • 30. April 2009 um 23:34

    Verdammt! Wie habt ihr rausgekriegt, was Harun27 uns mit diesem Post sagen wollte? ;)
    Ich will auch ein Upgrade für meine Kristallkugel... :D

  • Music-Maker

    • Oscar
    • 30. April 2009 um 22:00

    Hatte gerade mal Lust dazu:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    GUICreate('Musik-Maker', 640, 240)
    GUISetBkColor(0xffffff)
    GUICtrlCreatePic('tonleiter.gif', 10, 10, 620, 110)
    Global $aNotes[8][2] = [['C', 264], ['D', 297], ['E', 330], ['F', 352], ['G', 396], ['A', 440], ['H', 495], ['C1', 528]]
    Global $ahNotes[8]
    For $i = 0 To 7
    $ahNotes[$i] = GUICtrlCreateLabel($aNotes[$i][0], 116 + $i * 64, 118, 30, 30)
    GUICtrlSetColor($ahNotes[$i], 0xffffff)
    GUICtrlSetFont(-1, 16, 800)
    Next
    $hStart = GUICtrlCreateButton('Start', 300, 200, 80, 22)
    GUISetState()
    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hStart
    GUICtrlSetState($hStart, $GUI_DISABLE)
    $aPlay = StringSplit(FileRead('notes.txt'), ' ')
    For $i = 1 To $aPlay[0]
    _Play($aPlay[$i])
    Next
    GUICtrlSetState($hStart, $GUI_ENABLE)
    EndSwitch
    WEnd

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

    Func _Play($sNote)
    Local $aPlayPar = StringSplit($sNote, ',')
    If Not IsArray($aPlayPar) Then Return
    If $aPlayPar[0] <> 2 Then Return
    For $i = 0 To 7
    If $aPlayPar[1] = $aNotes[$i][0] Then
    GUICtrlSetColor($ahNotes[$i], 0xff0000)
    Beep($aNotes[$i][1], $aPlayPar[2])
    GUICtrlSetColor($ahNotes[$i], 0xffffff)
    ExitLoop
    EndIf
    Next
    EndFunc

    [/autoit]


    Die Daten in der Notendatei "notes.txt" müssen in der folgenden Form vorliegen: Note,Länge[Leerzeichen]
    Im ZIP-Archiv gibt's auch die Grafik und eine Beispiel-Notendatei.

  • Verschlüsselung

    • Oscar
    • 30. April 2009 um 15:26

    [Hust] Äh, wenn man einen Verschlüsselungs-Algorithmus schreibt, dann sollte man auch eine Funktion zum Wiederherstellen anbieten, ansonsten ist das Ganze ziemlich sinnfrei.
    Und wenn die einzige Sicherheit im Geheimhalten des Algorithmus besteht (kein Passwort), dann ist die Funktion sowieso zum scheitern verurteilt.
    Sorry für die harte Kritik, wollte Dich nur anspornen die Verschlüsselung praxisgerechter zu gestalten. :)

  • Gehört hier zwar ganz und gar nicht hin, trotzdem ratlos

    • Oscar
    • 30. April 2009 um 15:14

    Und mit Sicherheit gehört es nicht nach "AutoIt/Hilfe & Unterstützung".
    [moved to off topic]

  • _GUICtrlTreeView_CreateDirectory (erstellt ein TreeView mit Verzeichnissen +Dateien)

    • Oscar
    • 30. April 2009 um 15:08

    Micha_he: Oh, Mist, hast recht, wenn es das Verzeichnis nicht gibt, dann wird die "Fertig."-Meldung nicht angezeigt. :whistling:
    Habe das Script berichtigt und im Post geändert.

  • _GUICtrlTreeView_CreateDirectory (erstellt ein TreeView mit Verzeichnissen +Dateien)

    • Oscar
    • 29. April 2009 um 22:41

    Dazu sind dann schon noch einige Anpassungen nötig.
    Ich hatte aber gerade Lust dazu und so habe ich daraus mal ein "CopyTool" entwickelt:

    Screenshot:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Script:

    Spoiler anzeigen
    [autoit]


    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiTreeView.au3>

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

    Global $sPath = @ScriptDir
    Global $width = 800, $height = 600
    Global $hGui = GUICreate('CopyTool', $width, $height, -1, 0)
    Global $hInput = GUICtrlCreateInput($sPath, 10, 10, $width - 160, 20, BitOR($ES_AUTOHSCROLL, $ES_READONLY))
    Global $hChoose = GUICtrlCreateButton('...', $width - 148, 9, 30, 22)
    GUICtrlSetFont(-1, 9, 600, 0, 'Verdana')
    Global $hFiles = GUICtrlCreateCheckbox('zeige Dateien', $width - 100, 14, 80, 16)
    Global $bFiles = False
    Global $hTreeView = GUICtrlCreateTreeView(10, 40, $width - 20, $height - 110, BitOR($GUI_SS_DEFAULT_TREEVIEW, $TVS_CHECKBOXES), $WS_EX_STATICEDGE)
    GUICtrlSetFont(-1, 10, 400, 0, 'Arial')
    GUICtrlSetBkColor(-1, 0xF8F8F8)
    Global $hContextMenu = GUICtrlCreateContextMenu($hTreeView)
    Global $hInfo = GUICtrlCreateMenuItem('Informationen', $hContextMenu)
    Global $hExpand = GUICtrlCreateMenuItem('alles auseinanderfalten', $hContextMenu)
    Global $hCollapse = GUICtrlCreateMenuItem('alles zusammenfalten', $hContextMenu)
    Global $hCopy = GUICtrlCreateButton('markierte Dateien/Verzeichnisse kopieren...', 10, $height - 60, 240, 25)
    Global $hStatus1 = GUICtrlCreateLabel('', 0, $height - 16, $width / 2, 16, -1, $WS_EX_STATICEDGE)
    Global $hStatus2 = GUICtrlCreateLabel('', $width / 2 + 1, $height - 16, $width / 2, 16, -1, $WS_EX_STATICEDGE)
    GUISetState()

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

    _TreeViewUpdate($hTreeView)

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

    While True
    Switch GUIGetMsg()
    Case $hChoose
    $sTmp = FileSelectFolder('Verzeichnis auswählen', '', 0, $sPath, $hGui)
    If Not @error Then
    $sPath = $sTmp
    GUICtrlSetData($hInput, $sPath)
    _TreeViewUpdate($hTreeView)
    EndIf
    Case $hFiles
    $bFiles = BitAND(GUICtrlRead($hFiles), $GUI_CHECKED) = $GUI_CHECKED
    _TreeViewUpdate($hTreeView)
    Case $GUI_EVENT_PRIMARYDOWN
    $aInfo = GUIGetCursorInfo($hGui)
    If $aInfo[4] = $hTreeView Then
    $oldGUIDataSeparatorChar = Opt('GUIDataSeparatorChar', '\')
    GUICtrlSetData($hStatus1, ' ' & StringReplace(_GUICtrlTreeView_GetTree($hTreeView), '\\', '\'))
    Opt('GUIDataSeparatorChar', $oldGUIDataSeparatorChar)
    If BitAND(_GUICtrlTreeView_HitTest($hTreeView, $aInfo[0] - 11, $aInfo[1] - 41), 64) Then
    $checked = _GUICtrlTreeView_GetChecked($hTreeView, _GUICtrlTreeView_GetSelection($hTreeView))
    $hItem = _GUICtrlTreeView_GetFirstChild($hTreeView, _GUICtrlTreeView_GetSelection($hTreeView))
    If $hItem And $checked Then _SetChildItemsUnChecked($hTreeView, $hItem)
    If $checked Then
    $hParent = _GUICtrlTreeView_GetParentHandle($hTreeView, _GUICtrlTreeView_GetSelection($hTreeView))
    If $hParent Then _SetParentItemsUnchecked($hTreeView, $hParent)
    EndIf
    EndIf
    EndIf
    Case $hInfo
    $oldGUIDataSeparatorChar = Opt('GUIDataSeparatorChar', '\')
    $TempPath = StringReplace(_GUICtrlTreeView_GetTree($hTreeView), '\\', '\')
    Opt('GUIDataSeparatorChar', $oldGUIDataSeparatorChar)
    MsgBox(0, 'Informationen', $TempPath & @CRLF & 'Dateigröße: ' & FileGetSize($TempPath) & ' Bytes')
    Case $hExpand
    _ExpandAll($hTreeView)
    Case $hCollapse
    _CollapseAll($hTreeView)
    Case $hCopy
    Global $aItems[_GUICtrlTreeView_GetCount($hTreeView) - 1]
    Global $iCheckedCount = 0
    $oldGUIDataSeparatorChar = Opt('GUIDataSeparatorChar', '\')
    _CheckedItemsToArray($hTreeView)
    $sDestDir = FileSelectFolder('Zielverzeichnis auswählen!', '', 3, '', $hGui)
    If Not @error Then
    GUICtrlSetData($hStatus1, ' Bitte warten! Dateien/Verzeichnisse werden kopiert...')
    For $i = 0 To $iCheckedCount - 1
    If StringInStr(FileGetAttrib($aItems[$i]), 'D') Then
    $sDir = StringRegExpReplace($aItems[$i], '.*(\\.*)', '$1')
    GUICtrlSetData($hStatus1, ' Kopiere: ' & $aItems[$i] & ' --> ' & $sDestDir & $sDir)
    DirCopy($aItems[$i], $sDestDir & $sDir, 1)
    Else
    GUICtrlSetData($hStatus1, ' Kopiere: ' & $aItems[$i] & ' --> ' & $sDestDir)
    FileCopy($aItems[$i], $sDestDir, 9)
    EndIf
    Next
    GUICtrlSetData($hStatus1, ' Fertig.')
    EndIf
    Opt('GUIDataSeparatorChar', $oldGUIDataSeparatorChar)
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func _CheckedItemsToArray(ByRef $hTreeView)
    Local $hFirstItem = _GUICtrlTreeView_GetFirstChild($hTreeView, 1)
    _ReadChildItems($hTreeView, $hFirstItem)
    If $iCheckedCount = 0 Then Return
    ReDim $aItems[$iCheckedCount]
    EndFunc ;==>_CheckedItemsToArray

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

    Func _ReadChildItems(ByRef $hTreeView, $hItem)
    Do
    $hNewItem = _GUICtrlTreeView_GetFirstChild($hTreeView, $hItem)
    If $hNewItem Then _ReadChildItems($hTreeView, $hNewItem)
    If _GUICtrlTreeView_GetChecked($hTreeView, $hItem) Then
    $aItems[$iCheckedCount] = StringReplace(_GUICtrlTreeView_GetTree($hTreeView, $hItem), '\\', '\')
    $iCheckedCount += 1
    EndIf
    $hItem = _GUICtrlTreeView_GetNextChild($hTreeView, $hItem)
    Until $hItem = 0
    EndFunc ;==>_ReadChildItems

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

    Func _SetParentItemsUnchecked(ByRef $hTreeView, $hItem)
    Local $hParent = _GUICtrlTreeView_GetParentHandle($hTreeView, $hItem)
    If $hParent Then _SetParentItemsUnchecked($hTreeView, $hParent)
    _GUICtrlTreeView_SetChecked($hTreeView, $hItem, False)
    EndFunc ;==>_SetParentItemsUnchecked

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

    Func _SetChildItemsUnChecked(ByRef $hTreeView, $hItem)
    Do
    $hNewItem = _GUICtrlTreeView_GetFirstChild($hTreeView, $hItem)
    If $hNewItem Then _SetChildItemsUnChecked($hTreeView, $hNewItem)
    _GUICtrlTreeView_SetChecked($hTreeView, $hItem, False)
    $hItem = _GUICtrlTreeView_GetNextChild($hTreeView, $hItem)
    Until $hItem = 0
    EndFunc ;==>_SetChildItemsUnChecked

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

    Func _ExpandAll(ByRef $hTreeView)
    _GUICtrlTreeView_Expand($hTreeView)
    EndFunc ;==>_ExpandAll

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

    Func _CollapseAll(ByRef $hTreeView)
    _GUICtrlTreeView_Expand($hTreeView, 0, False)
    EndFunc ;==>_CollapseAll

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

    Func _TreeViewUpdate(ByRef $hTreeView)
    GUICtrlSetData($hStatus1, ' Bitte warten! Verzeichnis wird eingelesen...')
    GUICtrlSetData($hStatus2, '')
    $Timer = TimerInit()
    Local $aCount = _GUICtrlTreeView_CreateDirectory($hTreeView, $sPath, $bFiles)
    If Not @error Then
    $msg = ' Benötigte Zeit: ' & Round(TimerDiff($Timer) / 1000, 3) & ' sek.'
    $msg &= ' | ' & $aCount[1] & ' Datei(en) und ' & $aCount[0] & ' Verzeichniss(e)'
    GUICtrlSetData($hStatus2, $msg)
    EndIf
    GUICtrlSetData($hStatus1, ' Fertig.')
    EndFunc ;==>_TreeViewUpdate
    ; Beispiel Ende

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

    ;===============================================================================
    ; Function Name: _GUICtrlTreeView_CreateDirectory($hTreeView, $sPath, $bFiles)
    ; Description:: erstellt ein TreeView mit Verzeichnissen (+Dateien)
    ; Parameter(s): $hTreeView = ControlID/Handle des TreeViews
    ; $sPath = Verzeichnispfad, der dargestellt werden soll
    ; $bFiles = True = auch Dateien anzeigen, False = nur Verzeichnisse
    ; Requirement(s): #include <GuiTreeView.au3>
    ; Return Value(s): Array mit Anzahl der Verzeichnisse=[0] und Dateien=[1]
    ; 0 und @error = 1, wenn der Pfad nicht existiert bzw. kein Verzeichnis ist
    ; 0 und @error = 2, wenn das FileSystemObject nicht erstellt werden konnte
    ; Author(s): Oscar (http://www.autoit.de)
    ;===============================================================================
    Func _GUICtrlTreeView_CreateDirectory($hTreeView, $sPath, $bFiles = False)
    Local $hFileItem, $FolderColor = 0x0000FF, $Folder, $aCount[2] = [0, 0]
    If Not StringInStr(FileGetAttrib($sPath), 'D') Then Return SetError(1, 0, 0)
    $sPath = FileGetLongName($sPath)
    Local $oFSO = ObjCreate('Scripting.FileSystemObject')
    If @error Then Return SetError(2, 0, 0)
    _GUICtrlTreeView_BeginUpdate($hTreeView)
    _GUICtrlTreeView_DeleteAll(GUICtrlGetHandle($hTreeView))
    Local $hTreeViewItem = GUICtrlCreateTreeViewItem($sPath, $hTreeView)
    GUICtrlSetColor(-1, $FolderColor)
    _GUICtrlTreeView_SetIcon($hTreeView, $hTreeViewItem, 'shell32.dll', 0)
    $Folder = $oFSO.GetFolder($sPath)
    _CreateDirectoryRecursive($hTreeView, $Folder, $hTreeViewItem, $bFiles, $aCount)
    If $bFiles Then
    For $Files In $Folder.Files
    $hFileItem = GUICtrlCreateTreeViewItem($Files.Name, $hTreeViewItem)
    $aCount[1] += 1
    Next
    EndIf
    _GUICtrlTreeView_SetIcon($hTreeView, $hTreeViewItem, 'shell32.dll', 3, 2)
    _GUICtrlTreeView_SetIcon($hTreeView, $hTreeViewItem, 'shell32.dll', 110, 4)
    _GUICtrlTreeView_EndUpdate($hTreeView)
    GUICtrlSetState($hTreeViewItem, $GUI_EXPAND)
    $oFSO = ''
    Return $aCount
    EndFunc ;==>_GUICtrlTreeView_CreateDirectory

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

    Func _CreateDirectoryRecursive($hTreeView, $Folder, $ItemOld, $bFiles, ByRef $aCount)
    Local $hFolderItem, $hFileItem, $FolderColor = 0x0000FF
    For $Subfolder In $Folder.SubFolders
    $hFolderItem = GUICtrlCreateTreeViewItem($Subfolder.Name, $ItemOld)
    GUICtrlSetColor(-1, $FolderColor)
    _GUICtrlTreeView_SetIcon($hTreeView, $hFolderItem, 'shell32.dll', 3, 2)
    _GUICtrlTreeView_SetIcon($hTreeView, $hFolderItem, 'shell32.dll', 110, 4)
    $aCount[0] += 1
    _CreateDirectoryRecursive($hTreeView, $Subfolder, $hFolderItem, $bFiles, $aCount)
    If $bFiles Then
    For $Files In $Subfolder.Files
    $hFileItem = GUICtrlCreateTreeViewItem($Files.Name, $hFolderItem)
    $aCount[1] += 1
    Next
    EndIf
    Next
    EndFunc ;==>_CreateDirectoryRecursive

    [/autoit]

    Edit: Fehler beseitigt!

  • Inhalt eines anderen Fensters in der GUI anzeigen

    • Oscar
    • 29. April 2009 um 21:13

    Dann schau Dir doch mal die _ScreenCapture-Funktionen an.

  • String aufsplitten

    • Oscar
    • 29. April 2009 um 21:10

    Alina, Deine Idee an sich ist schon ganz gut, nur musst Du eine Schleife benutzen, um flexibel auf die Stringlänge reagieren zu können:

    [autoit]


    #include <Array.au3>
    $Var = "ABCD1234DEFG5678"
    $Len = StringLen($Var)
    Global $Array[$Len / 4]
    For $i = 0 To $Len / 4 - 1
    $Array[$i] = StringMid($Var, $i * 4 + 1, 4)
    Next
    _ArrayDisplay($Array)

    [/autoit]
  • Knoblix - Das Knobelspiel - Beta 1.0.1

    • Oscar
    • 29. April 2009 um 20:58

    Ursprünglich hieß das Spiel mal Sokoban und das gab es schon auf den Home-Computern der 1980er Jahre.
    Mittlerweile gibt es davon Tausende Variationen (2D und 3D) für jedes erdenkliche Betriebssystem.

    Ich will Dich aber nicht davon abhalten, das Spiel in AutoIt umzusetzen. Sieht ja bis jetzt ganz gut aus. Bin schon gespannt auf das Ergebnis... :)

  • String aufsplitten

    • Oscar
    • 29. April 2009 um 20:37

    Ist die Anzahl der Array-Elemente immer durch 4 teilbar?
    Wenn ja, dann so:

    [autoit]


    #include <Array.au3>
    $Var = "ABCD1234DEFG"
    $Array = StringRegExp($Var, '.{4}', 3)
    _ArrayDisplay($Array)

    [/autoit]

    sonst:

    [autoit]


    #include <Array.au3>
    $Var = "ABCD1234DEFG56"
    $Array = StringRegExp($Var, '.{1,4}', 3)
    _ArrayDisplay($Array)

    [/autoit]
  • Wer wird Millionär ?

    • Oscar
    • 29. April 2009 um 20:24

    Na siehste, Du hast es doch geschafft!
    _ArrayDelete funktioniert auch. Ist geschwindigkeitsmässig nicht so toll (wegen ReDim), aber das macht in Deinem Script nichts aus.
    Die Variante, die ich oben benutzt habe, stammt AFAIR von BugFix aus unserem damaligen Lottozahlen-Contest. Dadurch, dass sie ohne ReDim auskommt, ist sie "sauschnell".
    Bei Deinem Script spielt die Geschwindigkeit aber keine Rolle, deshalb lass es ruhig bei _ArrayDelete.

  • Wer wird Millionär ?

    • Oscar
    • 29. April 2009 um 16:03

    Muss gleich weg! Daher komme ich erst heute abend dazu, mir Dein Script mal genauer anzuschauen.
    Du musst also noch ein wenig Geduld haben. Oder einer der anderen kommt mir zuvor. ;)

  • scrollbalken bauen

    • Oscar
    • 29. April 2009 um 15:56

    Es gibt ja die _GUIScrollBars-UDFs, aber ob die auch auf TABs funktionieren, weiss ich nicht.
    Musst Du vielleicht mal ausprobieren.

  • Dynamisches TreeViewItem mit Funktion belegen

    • Oscar
    • 29. April 2009 um 15:50

    Kannst Du doch mit ReDim erweitern. Jedes mal, wenn Du einen neuen Eintrag erstellst.

  • Wer wird Millionär ?

    • Oscar
    • 29. April 2009 um 15:20

    Damit keine Fragen doppelt vorkommen musst Du sie aus dem "Array nehmen".
    Das geht am leichtesten, wenn man das Ende des Zufallsbereichs in jeder Runde um eins verringert und die letzte Frage an die Position der momentan gestellten Frage kopiert.
    Hört sich kompliziert an, ist aber gar nicht so schwer. Hier ein Beispiel:

    [autoit]


    Global $array[9] = ['Frage1', 'Frage2', 'Frage3', 'Frage4', 'Frage5', 'Frage6', 'Frage7', 'Frage8', 'Frage9']

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

    For $i = 0 To 5
    $random = Random(0, 8 - $i, 1)
    MsgBox(0, 'Frage', $array[$random])
    $array[$random] = $array[UBound($array) - 1 - $i]
    Next

    [/autoit]

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™