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

Beiträge von BugFix

  • richtiger contdown

    • BugFix
    • 27. April 2007 um 22:45

    Oder mit _IsPressed()

    [autoit]


    #Include <Misc.au3>
    $countdowntime = 15000 ; z.B. durch Userabfrage
    SplashTextOn("Countdown", $countdowntime/1000 & " sec")
    For $i = $countdowntime To 0 Step -1000
    SplashTextOn("Countdown", $i/1000 & " sec")
    If _IsPressed("78") Then Exit; F9
    Sleep(1000)
    Next
    SplashOff()

    [/autoit]
  • Code-2-Shoutbox

    • BugFix
    • 27. April 2007 um 19:22

    Hi,
    manchmal möchte man ein paar Codezeilen in die Shoutbox stellen. Macht sich bloß schlecht, weil die Zeilenumbrüche nicht erkannt werden.

    Mit diesem kleinen Proggi läßt sich Code einfach in ein Editfeld kopieren. Beim Schließen der GUI wird der Code Shoutboxgerecht formatiert und in die Zwischenablage geschrieben.
    Nur noch in die Eingabezeile einfügen und fertig.
    (Soll natürlich kein Ersatz für Postings sein)

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    Opt("GUIOnEventMode", 1)

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

    $Form1 = GUICreate("Code-2-Shoutbox", 633, 454, -1, -1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    $Edit1 = GUICtrlCreateEdit("", 16, 40, 601, 397)
    GUICtrlSetData(-1, "")
    $Label1 = GUICtrlCreateLabel("Code eingeben/kopieren - nach dem Schließen ist dieser in der " & _
    "Zwischenablage konvertiert verfügbar", 78, 11, 483, 17)
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(100)
    WEnd

    Func Form1Close()
    ClipPut(_convert2shoutbox(GUICtrlRead($Edit1)))
    Exit
    EndFunc

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

    Func _convert2shoutbox($STRING)
    Local $strOut = "", $var
    If $STRING = "" Then Exit
    $var = StringSplit($STRING, @CRLF)
    If IsArray($var) Then
    For $i = 1 To $var[0]
    If ( $i < $var[0] And $var[$i] <> "" ) Then
    $strOut &= StringStripWS($var[$i], 3) & " /br "
    ElseIf ( $i = $var[0] And $var[$i] <> "" ) Then
    $strOut &= StringStripWS($var[$i], 3)
    EndIf
    Next
    Return $strOut
    Else
    Return $STRING
    EndIf
    EndFunc

    [/autoit]
  • hal.dll fehlt und backupkonsole von xp spinnt?!

    • BugFix
    • 27. April 2007 um 18:29
    Zitat

    du meinst ich soll boot.ini usw in den Vista root kopieren?


    Nein, die Installation der notwendigen Dateien in diesem Bereich "sollte" während der Installation des OS schon ordentlich erfolgen.
    War nur ein Gedanke zur Fehlersuche.
    Wenn du eh noch 'ne andere Platte hast, installiere doch auf dieser eine MiniLinux_Partition (70 MB reichen) und 'nen "richtigen" Bootmanager ( meine Empfehlung: GRUB ) und du bist aller Sorgen ledig.
    Den Bootmanager von Vista kann ich allerdings nicht einschätzen. Ich weiß nur, dass von den verschiedenen Bootmanagern am Markt keiner auch nur ansatzweise an die Funktionalität von GRUB herankommt.

  • hal.dll fehlt und backupkonsole von xp spinnt?!

    • BugFix
    • 27. April 2007 um 18:09

    Also, du hast nur eine physikalische Festplatte: ==> hd 0
    Die erste primäre Partition ist dann: ==> hd 0,0
    Die zweite primäre Partition ist dann: ==> hd 0,1
    usw. bis vierte (max. Anz. Primärpartitionen)
    Die erste erweiterte Partition würde demzufolge auf Platte 1: ==> hd 0,5 sein.

    Also bei dir:
    Vista == hd 0,0
    WinXP == hd 0,1

    Soweit alles i.O.

    Die Frage ist, ob die Startdateien von XP auch im Anfangsbereich von hd 0,0 abgespeichert wurden. Windoof hat ja diese Einschränkung, dass Bootdateien nicht oberhalb von 1024 Zylindern liegen dürfen.

  • richtiger contdown

    • BugFix
    • 27. April 2007 um 16:03

    so ?

    [autoit]

    $countdowntime = 5000 ; z.B. durch Userabfrage
    SplashTextOn("Countdown", $countdowntime/1000 & " sec")
    For $i = $countdowntime To 0 Step -1000
    SplashTextOn("Countdown", $i/1000 & " sec")
    Sleep(1000)
    Next
    SplashOff()

    [/autoit]

    Oder möchtest du, dass eine Uhrzeit runtergezählt wird:
    15:27:59
    15:27:58
    15:27:57
    ...

    dazu ist in den vorigen Beiträgen alles gesgt.

  • IE-Projekt

    • BugFix
    • 27. April 2007 um 15:35
    Code
    MouseCoordMode 
    Sets the way coords are used in the mouse functions, either absolute coords or coords relative to the current active window:
    0 = relative coords to the active window
    1 = absolute screen coordinates (default)
    2 = relative coords to the client area of the active window
  • Sortierung von Arrays im Datumsformat

    • BugFix
    • 27. April 2007 um 14:39
    [autoit]

    $dateStr = "20070427"
    $date = StringMid($dateStr,7,2) & "." & StringMid($dateStr,5,2) & "." & StringMid($dateStr,1,4)
    MsgBox(0, '', $date)

    [/autoit]
  • PixelSearch spinnt?

    • BugFix
    • 27. April 2007 um 14:35

    Oops, passiert, da bin ich doch tatsächlich um einen Parameter verrutscht.
    :keks:

  • Sortierung von Arrays im Datumsformat

    • BugFix
    • 27. April 2007 um 14:27

    Mal andersrum:
    - gib mal bitte ein paar Elemente deines Arrays an (falls was wichtiges drin ist weg-Xen :) )
    - dann zeig wie du es haben möchtest

    Ist dann einfacher als deine Logdatei hier nachzubauen um das Script zu testen.

  • PixelSearch spinnt?

    • BugFix
    • 27. April 2007 um 14:14

    $Coord = Pixelsearch(256,210,200,200,0x000000,0)

    Kann nicht funktionieren. Das Flag für die Schrittweite darf nicht kleiner 1 sein (logisch, bleibt ja damit beim Startpixel stehen).

  • Sortierung von Arrays im Datumsformat

    • BugFix
    • 27. April 2007 um 14:00
    [autoit]

    StringRegExpReplace($Listing[$i], ".", "")

    [/autoit]


    In diesem Falle solltest du "StringReplace" verwenden.
    Mit deinem Befehl und dem verwendeten Pattern: "." ersetzt du alle Zeichen (dafür steht ".") durch Leerstring. ;)

  • Sortierung von Arrays im Datumsformat

    • BugFix
    • 27. April 2007 um 13:29

    Wenn du das Ordnerdatum mit ausliest, bringe es in die Form: JJJJMMTT, z.B. 20070427. Nur darauf achten, dass sowohl die Monats- als auch die Tageswerte immer 2-stellig sind.
    So kannst du es problemlos sortieren. Kannst es hinterher ja in die gängige Schreibweise TT.MM.JJJJ zurückkonvertieren.

  • Datei an (Brenn)-Programm senden

    • BugFix
    • 26. April 2007 um 23:47

    Zu Nero, vllt. hilft es dir.

    Spoiler anzeigen
    Zitat

    Quelle PC Welt
    Anders bei Nero: Seit Version 5.5 kommt das Brennprogramm mit dem Kommandozeilen-Tool NEROCMD.EXE ( Download der aktuellen Nero-Version ). Dieses Programm lässt sich in der Eingabeaufforderung unter allen Windows-Versionen einsetzen. Eine ausführliche Liste aller Parameter, die Nerocmd verarbeiten kann, erhalten Sie mit dem Befehl

    nerocmd > liste.txt

    Wir erläutern die wichtigsten dieser zahlreichen Parameter: "--listdrives" zeigt alle installierten CD-Laufwerke. Welches Laufwerk der Brenner ist, teilen Sie dem Programm über den Parameter "--drivename <Buchstabe>" mit.

    Geben Sie für <Buchstabe> die Kennung an, unter der das CD-RW-Laufwerk im Windows-Explorer erscheint. Mit "--speed <Geschwindigkeit>" bestimmen Sie das Brenntempo. Außerdem müssen Sie mit dem Parameter "--iso" der CD einen Namen geben - dafür können Sie bis zu 28 Zeichen verwenden.

    Damit Nerocmd das Brennen nicht nur simuliert, ist die Angabe von "--write" und "--real" notwendig. Welche Daten Sie auf CD brennen wollen, tragen Sie am Ende der Zeile ein.

    Ein Beispiel:

    Um den Ordner C:\Backup auf Laufwerk D: mit zwölffacher Geschwindigkeit zu brennen, geben Sie folgende Zeile ein:

    nerocmd --write --real --drivename d --speed 12 c:\backup

    Ein Beispiel für die Verwendung von Nerocmd finden Sie in unserer Batchdatei BACKUP.BAT .

    Öffnen Sie die Datei in einem Editor, und passen Sie diese gemäß Ihren Vorstellungen an. Entfernen Sie dann das "rem" aus allen Zeilen, die tatsächlich ausgeführt werden sollen. Über eine Verknüpfung zu der Batchdatei auf dem Desktop kommen Sie künftig auf dem schnellsten Weg zu Ihrem Backup.

    Übrigens:

    Das Kommandozeilen-Tool beherrscht neben dem Standard ISO-Joliet auch andere Formate, etwa das unter Linux gebräuchliche Rockridge. Dieses Format hat Nerocmd der grafischen Version sogar voraus.

    Alles anzeigen

    Edit:
    War gerade an einem PC mit Nero, hab mal die Parameterliste erstellt:

    Spoiler anzeigen
    Code
    Usage:
      _______________
     | List available| --listdrives
     | drives        |
     |_______________|
     | Obtain drive  | --driveinfo --drivename <name>
     | info          |
     |_______________|
     | Obtain disc   | --cdinfo --drivename <name>
     | info          |
     |_______________|
     | Write         | --write --drivename <name> [--real] [--tao]
     | ISO/Audio CD  | [--artist <artist>] [--title <title>] [--speed <speed>]
     |               | [--audio] <audio files> [--cdextra] [--iso <volumename>]
     |               | [--iso-no-joliet] [--iso-mode2] [--speedtest]
     |               | [--enable_abort] [--close_session] [--detect_non_empty_cdrw]
     |               | [--cd_text] [--underrun_prot]
     |               | [--import_udf] [--import_vms_session]
     |               | [--use_rockridge] [--create_iso_fs] [--create_udf_fs]
     |               | [--disable_eject] [--verify] [--dvd] [--use_allspace]
     |               | <disk file> ...
     |               | [--force_erase_cdrw] [--nero_log_timestamp]
     |               | [--output_image <filename>]
     |               |
     |               | NOTE: At least one audio file or one disk file needs to be
     |               | specified!
     |_______________|
     | Write         | --write --drivename <name> [--real] [--tao]
     | Video CD      | --videocd [--speed <speed>] [--speedtest] [--enable_abort]
     |               | [--close_session] <video files> [--iso <volumename>]
     |               | [--iso-no-joliet] [--iso-mode2] [--speedtest]
     |               | [--enable_abort] [--close_session] [--detect_non_empty_cdrw]
     |               | [--underrun_prot] [--disable_eject] <disk file>...
     |               | [--force_erase_cdrw] [--nero_log_timestamp]
     |               | [--temp_path <path>] [--output_image <filename>]
     |_______________|
     | Write Super   | --write --drivename <name> [--real] [--tao]
     | Video CD      | --svideocd [--speed <speed>] [--speedtest] [--enable_abort]
     |               | [--close_session] <video files> [--iso <volumename>]
     |               | [--iso-no-joliet] [--iso-mode2] [--speedtest]
     |               | [--enable_abort] [--close_session] [--detect_non_empty_cdrw]
     |               | [--underrun_prot] [--disable_eject] <disk file>...
     |               | [--force_erase_cdrw] [--nero_log_timestamp]
     |               | [--temp_path <path>] [--output_image <filename>]
     |_______________|
     | Write image   | --write --drivename <name> [--real] [--tao] [--dvd]
     |               | --image <image filename> [--speed <speed>] [--speedtest]
     |               | [--enable_abort] [--close_session] [--detect_non_empty_cdrw]
     |               | [--underrun_prot] [--disable_eject]
     |               | [--force_erase_cdrw] [--nero_log_timestamp]
     |               | [--output_image <filename>]
     |_______________|
     | Write         | --write --drivename <name> [--real] [--tao]
     | freestyle CD  | [--artist <artist>] [--title <title>] [--speed <speed>]
     |               | [--cdextra] [--iso <volumename>]
     |               | [--freestyle_mode1 <filename>]
     |               | [--freestyle_mode2 <filename>]
     |               | [--freestyle_audio <filename>]
     |               | [--iso-no-joliet] [--iso-mode2] [--speedtest]
     |               | [--enable_abort] [--close_session] [--detect_non_empty_cdrw]
     |               | [--cd_text] [--underrun_prot]
     |               | [--import_udf] [--import_vms_session]
     |               | [--use_rockridge] [--create_iso_fs] [--create_udf_fs]
     |               | [--disable_eject] [--verify] [--use_allspace] <disk file>...
     |               | [--force_erase_cdrw] [--nero_log_timestamp]
     |               | [--output_image <filename>]
     |               |
     |               | NOTE: Any number of freestyle tracks can be specified up to
     |               | a maximum of 99 tracks.!
     |_______________|
     | Estimate      | --estimate --drivename <name> [--tao]
     | track size    | [--iso <volumename>] [--iso-no-joliet] [--iso-mode2]
     |               | [--close_session] [--import_udf] [--import_vms_session]
     |               | [--use_rockridge] [--create_iso_fs] [--create_udf_fs]
     |               | [--disable_eject] [--dvd] [--use_allspace]
     |               | [--estimate_no_fs_overhead] [--estimate_no_data]
     |               | [--estimate_no_exact_size] <disk file> ...
     |_______________|
     | Read audio    | --read --drivename <name> [--read_speed <speed>]
     | track(s)      | --XY <filename> [-XY <filename> ...]
     |_______________|
     | List audio    | --listformats
     | formats       |
     |_______________|
     | Erase disc    | --erase [--entire] --drivename <name>
     |_______________|
     | Eject disc    | --eject --drivename <name>
     |_______________|
     | Load disc     | --load --drivename <name>
     |_______________|
     | Obtain image  | --imageinfo <filename>
     | file disc info|
     |_______________|
     | Version info  | --version
     |_______________|
    
    
     Each command supports the following switches: [--no_error_log],
     [--error_log <log filename>], [--no_user_interaction] and [@parameter_file]
    
    
      _______________
     | --write       | Burn disc.
     |_______________|
     | --drivename   | <name> is either the "full name" of the drive or the
     | <name>        | drive letter.
     |_______________|
     | --real        | Forces the disc to be actually burned. If --real is not
     |               | specified the process is only simulated.
     |_______________|
     | --tao         | Disc is burned in TAO mode (DAO is default).
     |_______________|
     | --burnproof   | Obsolete option, use --underrun_prot instead.
     |_______________|
     | --artist      | <artist> is the artist name as to be written on CD.
     | <artist>      |
     |_______________|
     | --title       | <title> is the title to be written on CD.
     | <title>       |
     |_______________|
     | --read_speed  | <speed> is the speed at which the audio tracks will be read
     | <speed>       | (in x150KB/s).
     |_______________|
     | --speed       | <speed> is the speed at which the disc will be burned
     | <speed>       | (for CD in x150 KB/s and for DVD in x1,385 KB/s).
     |_______________|
     | --speed_in_   | <speed> is the speed at which the disc will be burned
     |  kbps <speed> | (in KB/s).
     |_______________|
     | --audio       | The disc is burned with audio information.
     |_______________|
     | <audio files> | <audio files> is a list of audio files (wav, mp3, wma, pcm).
     |_______________|
     | --cdextra     | Use the CDExtra feature.
     |_______________|
     | --iso         | <volume name> is the volume name to be stored on the disc.
     | <volume name> |
     |_______________|
     |--iso-no-joliet| Do not use Joliet format.
     |_______________|
     | --iso-mode2   | Burn the CD using mode 2.
     |_______________|
     | --speedtest   | Perform speed test before burning.
     |_______________|
     | --enable_abort| Notify which operations can and which cannot be aborted.
     |_______________|
     |--close_session| Close the session, not the whole disc.
     |_______________|
     |--detect_non_  | Detect if the disc for burning is a non empty
     | empty_cdrw    | RW media and offer to take certain actions.
     |_______________|
     | --cd_text     | Write CD text (if supported by device).
     |_______________|
     | --videocd     | Burn a Video CD.
     |_______________|
     | --svideocd    | Burn a Super Video CD.
     |_______________|
     | <video files> | <video files> represents a list of video files (mpeg, jpeg).
     |_______________|
     | --image       | <filename> is the filename to the image file.
     | <filename>    |
     |_______________|
     | --read        | Read audio track(s).
     |_______________|
     | --XY          | XY is the number of the audio track that is to be saved to
     | <filename>    | <filename>.
     |_______________|
     | --erase       | Erase an RW media.
     |_______________|
     | --entire      | Erase the entire disc (the default is quick erase).
     |_______________|
     | --eject       | Eject disc.
     |_______________|
     | --load        | Load disc.
     |_______________|
     | --version     | Print NeroAPI version information.
     |_______________|
     | --underrun_   | Protect from underrun condition.
     |   prot        |
     |_______________|
     | --use_        | Use rockridge format.
     |   rockridge   |
     |_______________|
     | --create      | Create ISO filesystem.
     |   _iso_fs     |
     |_______________|
     | --create      | Create UDF filesystem.
     |   _udf_fs     |
     |_______________|
     | --dvdvideo    | Perform reallocation of files in VIDEO_TS
     |   _realloc    | directory.
     |_______________|
     | --dvdvideo    | Create DVD-Video compatible disc.
     |   _cmpt       | --create_iso_fs --create_udf_fs and 
     |               | --iso_no_joliet also need to be specified.
     |_______________|
     | --import      | Obsolete option; will be ignored.
     |   rockridge   |
     |_______________|
     | --import_udf  | Import UDF format.
     |_______________|
     | --import_vms  | Import Virtual Multisession (VMS) session
     |   _session    | (session number treated as VMS session).
     |_______________|
     | --import      | Obsolete option; will be ignored.
     |   _iso_only   |
     |_______________|
     | --import      | Import session number (if omitted, the last
     |  <session #>  | session is imported).
     |_______________|
     | --prefer      | Obsolete option; will be ignored.
     |   _rockridge  |
     |_______________|
     | --freestyle_  | Burn the file in mode 1.
     |  mode1        |
     |_______________|
     | --freestyle_  | Burn the file in mode 2.
     |  mode2        |
     |_______________|
     | --freestyle_  | Burn the file in audio mode.
     |  audio        |
     |_______________|
     | --disable_    | Disables disc ejection after burn completion.
     |   eject       |
     |_______________|
     | --verify      | Verify ISO filesystem after writing.
     |_______________|
     | --dvd_high_   | Used for better compatibility of burned DVDs.
     |  compatibility| At least 1GB will be written.
     |_______________|
     | --dvd         | Select DVD as media type.
     |_______________|
     | --recursive   | Do a recursive file search.
     |_______________|
     | --force_erase_| Delete disc without user interaction
     |   cdrw        | (requires --detect_non_empty_cdrw).
     |_______________|
     | --nero_log_   | Add a timestamp to the log's file name.
     |   timestamp   |
     |_______________|
     | --temp_path   | Specify a temporary path for Video CD files.
     |_______________|
     | --media_type  | Specify a media type (combine with +) 
     |   <type>      |  media_cd, media_ddcd, media_dvd_m, media_dvd_p,
     |               |  media_dvd_any, media_dvd_ram, media_ml, media_mrw,
     |               |  media_no_cdr, media_no_cdrw, media_cdrw, media_cdr
     |               |  media_dvd_rom, media_cdrom, media_no_dvd_m_rw,
     |               |  media_no_dvd_m_r, media_no_dvd_p_rw,
     |               |  media_no_dvd_p_r, media_dvd_m_r, media_dvd_m_rw,
     |               |  media_dvd_p_r, media_dvd_p_rw, media_fpacket,
     |               |  media_vpacket, media_packetw or media_hdb).
     |_______________|
     | --no_user_    | Allow the whole process to take place with no user
     |  interaction  | interaction (no questions asked).
     |_______________|
     | --output_image| Specify output image file name if image recorder is used
     |               | to avoid prompting for filename.
     |_______________|
     | --use_allspace| Use all space on the media.
     |_______________|
     | --relax_joliet| Relax Joliet file name length limitations.
     |_______________|
     | --japanese_   | CD Text is treated as Japanese CD Text (must include
     |  cd_text      | --cd_text as well).
     |_______________|
     |--disable_eject| Do not eject the RW media after erasing it.
     | _after_erase  |
     |_______________|
     | --force_eject | Force disc ejection after erasing the RW media.
     |  _after_erase |
     |_______________|
     | --system_     | <text> is the "system identifier" of an ISO track.
     |  identifier   |
     |  <text>       |
     |_______________|
     | --volume_set  | <text> is the "volume set" of an ISO track.
     |  <text>       |
     |_______________|
     | --publisher   | <text> is the "publisher" of an ISO track.
     |  <text>       |
     |_______________|
     | --data_       | <text> is the "data preparer" of an ISO track.
     |preparer <text>|
     |_______________|
     | --application | <text> is the "application" of an ISO track.
     |  <text>       |
     |_______________|
     | --copyright   | <text> is the "copyright" of an ISO track.
     |  <text>       |
     |_______________|
     | --abstract    | <text> is the "abstract" of an ISO track.
     |  <text>       |
     |_______________|
     |--bibliographic| <text> is the "bibliographic" of an ISO track.
     |  <text>       |
     |_______________|
     | --backup      | Replace imported files only if newer are found.
     |_______________|
     | --booktype    | The book type of a burned DVD will be set to
     |   _dvdrom     | DVD-ROM.
     |_______________|
     | --no_booktype | Do not change the book type of a DVD even if the default
     |   _change     | setting is to change the book type to DVD-ROM.
     |_______________|
     | --estimate_no | Do not include the file system overhead in calculation.
     |   fs_overhead |
     |_______________|
     | --estimate_no | Do not include data in calculation.
     |   data        |
     |_______________|
     | --estimate_no | Do not calculate the exact size (quicker).
     |   exact_size  |
     |_______________|
     | @param_file   | param_file contains the command line arguments.
     |_______________|
    Alles anzeigen
  • TreeView auswerten

    • BugFix
    • 26. April 2007 um 23:17
    Zitat

    Original von Concara
    Könnt ihr mir sagen wie ich $data mit case dynamisch auswerten kann?

    Ja sag doch das gleich ;)

    Ich hab mal den Teil aus meinem Bsp. auf dynamische Abfrage geändert.
    Guckst du:

    [autoit]

    While 1
    $nMsg = GUIGetMsg()
    If $nMsg = $GUI_EVENT_CLOSE Then Exit
    For $i = 0 To UBound($arItem)-1
    If $nMsg = $arItem[$i] Then _
    MsgBox(0, '', "Das ist Item: " & $i)
    Next
    WEnd

    [/autoit]
  • Bin neue und brauche Hilfe

    • BugFix
    • 26. April 2007 um 10:03

    Zitat Hilfe:

    Zitat

    #Include <GuiListView.au3>
    _GUICtrlListViewSetColumnWidth ( $h_listview, $i_col, $i_width )

  • TreeView auswerten

    • BugFix
    • 26. April 2007 um 09:56
    Zitat

    Original von Concara
    Aber wenn ich jetzt eine z.B. Case $msg = $data[1] im Programm verwende dann kommt natürlich: Array variable has incorrect number of subscripts or subscript dimension range exceeded
    Also kann ich nicht das item auswerten.

    Warum soll das "natürlich" kommen ?
    Genauso funktioniert das. Die Größe des Array (und somit die Anzahl der Einträge) kennst du - Ubound.
    Ob du die Arraygröße vorher festlegst oder zur Laufzeit mit ReDim aktualisierst, ist hierfür völlig unerheblich.

    Hier mal ein Bsp., das genauso funktioniert:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    Dim $arItem[6]

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("AForm1", 633, 454, 193, 115)
    $TreeView1 = GUICtrlCreateTreeView(144, 68, 337, 265)

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

    For $i = 0 To UBound($arItem)-1
    $arItem[$i] = GUICtrlCreateTreeViewItem($i, $TreeView1)
    Next

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $arItem[0]
    MsgBox(0, '', "Item 0")
    Case $arItem[1]
    MsgBox(0, '', "Item 1")
    Case $arItem[2]
    MsgBox(0, '', "Item 2")
    Case $arItem[3]
    MsgBox(0, '', "Item 3")
    Case $arItem[4]
    MsgBox(0, '', "Item 4")
    Case $arItem[5]
    MsgBox(0, '', "Item 5")
    EndSwitch
    WEnd

    [/autoit]
  • _ArrayDisplay2D

    • BugFix
    • 24. April 2007 um 15:58

    Der Funktionsname erklärt eigentlich schon alles. Analog zum _ArrayDisplay( ) der 1-Dimensionalen Arrays lassen sich hiermit 2-Dimensionale Arrays ausgeben. Die Anzahl der Elemente in der zweiten Dimension ist dabei "theoretisch" nicht begrenzt und wird automatisch erkannt. Wenn es natürlich breiter werden würde als der Screen und die Daten in die nächste Zeile umgebrochen werden siehts nicht mehr übersichtlich aus.
    Aber im allgemeinen sind wohl eher 2 Elemente in der 2. Dimension.

    Im Gegensatz zu _ArrayDisplay( ) ist die Eingabe eines Titels optional. Das hab ich so oft vergessen, dass ich es lieber nur bei Bedarf eingebe.

    Edit: Hab zur besseren Übersichtlichkeit noch Spaltenbezeichnung zugefügt.

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    Dim $ar2D[10][4]

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

    $ar2D[0][0] = "Otto"
    $ar2D[1][0] = "Otto"
    $ar2D[2][0] = "Bernd"
    $ar2D[3][0] = "Kurt"
    $ar2D[4][0] = "otto"
    $ar2D[5][0] = "Kurt"
    $ar2D[6][0] = "Bernd"
    $ar2D[7][0] = "Otto"
    $ar2D[8][0] = "Kurt"
    $ar2D[9][0] = "bernd"

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

    $ar2D[0][1] = "meier"
    $ar2D[1][1] = "meier"
    $ar2D[2][1] = "McBee"
    $ar2D[3][1] = "Becker"
    $ar2D[4][1] = "Meier"
    $ar2D[5][1] = "Schramm"
    $ar2D[6][1] = "McBee"
    $ar2D[7][1] = "Lorenz"
    $ar2D[8][1] = "meier"
    $ar2D[9][1] = "Gantzer"

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

    $ar2D[0][2] = "Baum"
    $ar2D[1][2] = "Strauch"
    $ar2D[2][2] = "Gras"
    $ar2D[3][2] = "Blume"
    $ar2D[4][2] = "Käfer"
    $ar2D[5][2] = "Fisch"
    $ar2D[6][2] = "Katze"
    $ar2D[7][2] = "Hund"
    $ar2D[8][2] = "Reh"
    $ar2D[9][2] = "Gans"

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

    $ar2D[0][3] = "Gelb"
    $ar2D[1][3] = "Grün"
    $ar2D[2][3] = "Rot"
    $ar2D[3][3] = "Orange"
    $ar2D[4][3] = "Purpur"
    $ar2D[5][3] = "Olive"
    $ar2D[6][3] = "Nautik"
    $ar2D[7][3] = "Blau"
    $ar2D[8][3] = "Cyan"
    $ar2D[9][3] = "Magenta"

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

    _ArrayDisplay2D($ar2D)

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

    ;--------------------------------------------------------------------------------------------------
    ; Funktion _ArrayDisplay2D($ARRAY [,$TITLE=''])
    ;
    ; Beschreibung Anzeige 2-Dimensionaler Arrays mit "beliebiger" Größe der 2.ten Dimension
    ; begrenzt durch die Anzeigebreite des Bildschirms
    ;
    ; Parameter $ARRAY: Das anzuzeigende Array
    ; optional $TITLE: Titel des Ausgabefensters
    ;
    ; Erfordernisse Array 2-Dimensional
    ;
    ; Autor BugFix ([email='bugfix@autoit.de'][/email])
    ;--------------------------------------------------------------------------------------------------
    Func _ArrayDisplay2D($ARRAY, $TITLE="")
    Local $str = "", $u = UBound($ARRAY,2)-1
    For $i = 0 To $u
    If $i = $u Then
    $str &= @TAB & "[" & $i & "]" & @LF
    Else
    $str &= @TAB & "[" & $i & "]"
    EndIf
    Next
    For $i = 0 To UBound($ARRAY)-1
    If $i = 0 Then
    $str &= "[" & $i & "] = "
    Else
    $str &= @LF & "[" & $i & "] = "
    EndIf
    For $k = 0 To $u
    If $k = 0 Then
    $str &= $ARRAY[$i][$k]
    Else
    $str &= @TAB & $ARRAY[$i][$k]
    EndIf
    Next
    Next
    MsgBox(0, $TITLE, $str)
    EndFunc ; ==>_ArrayDisplay2D

    [/autoit]

    Dateien

    _ArrayDisplay2D.au3 1,12 kB – 392 Downloads
  • Statistiken

    • BugFix
    • 24. April 2007 um 15:00
    Zitat

    Achtung:Framelayer sind NICHT so einfach zu blocken!

    Wer erzählt denn sowas ? Bis jetzt hat Adblock Plus noch alles abgeschossen. Filter läßt sich super erweitern - auch mit RegEx. :party4: :party3:

  • Array 1D/2D sortieren und Dubletten löschen

    • BugFix
    • 24. April 2007 um 11:30

    Wenn man z.B. aus einer Datei Begriffe selektiert, ist es sehr wahrscheinlich, dass auch mehrfach derselbe Begriff erscheint.

    Mit dieser Funktion lassen sich 1- und 2-Dimensionale Arrays sortieren und gleichzeitig werden die Dubletten entfernt.
    Sind die Daten vom Typ String, kann ich wahlweise auch auf Gross-/Kleinschreibung prüfen.

    Hier mit Bsp.:

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    Dim $ar[10]
    Dim $ar2D[10][2]

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

    $ar[0] = "Otto"
    $ar[1] = "otto"
    $ar[2] = "Bernd"
    $ar[3] = "Kurt"
    $ar[4] = "otto"
    $ar[5] = "Kurt"
    $ar[6] = "Bernd"
    $ar[7] = "Otto"
    $ar[8] = "Kurt"
    $ar[9] = "bernd"

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

    $ar2 = $ar

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

    $ar2D[0][0] = "Otto"
    $ar2D[1][0] = "Otto"
    $ar2D[2][0] = "Bernd"
    $ar2D[3][0] = "Kurt"
    $ar2D[4][0] = "otto"
    $ar2D[5][0] = "Kurt"
    $ar2D[6][0] = "Bernd"
    $ar2D[7][0] = "Otto"
    $ar2D[8][0] = "Kurt"
    $ar2D[9][0] = "bernd"

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

    $ar2D[0][1] = "meier"
    $ar2D[1][1] = "meier"
    $ar2D[2][1] = "McBee"
    $ar2D[3][1] = "Becker"
    $ar2D[4][1] = "Meier"
    $ar2D[5][1] = "Schramm"
    $ar2D[6][1] = "McBee"
    $ar2D[7][1] = "Lorenz"
    $ar2D[8][1] = "meier"
    $ar2D[9][1] = "Gantzer"

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

    $ar2D2 = $ar2D

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

    _ArrayDisplay($ar, "unsortiert 1D")

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

    _ArraySortDblDel($ar)
    _ArrayDisplay($ar, "o. case sens 1D")

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

    _ArraySortDblDel($ar2,1)
    _ArrayDisplay($ar2, "m. case sens 1D")

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

    _ArrayDisplay2D($ar2D, "unsortiert 2D")

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

    _ArraySortDblDel($ar2D,0,0,2,1)
    _ArrayDisplay2D($ar2D, "o. case sens 2D")

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

    _ArraySortDblDel($ar2D2,1,0,2,1)
    _ArrayDisplay2D($ar2D2, "m. case sens 2D")

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

    ;----------------------------------------------------------------------------------------------------------------------
    ; Function _ArraySortDblDel(ByRef $ARRAY [, $CASESENS=0 [, $iDESCENDING=0 [, $iDIM=0[ , $iSORT=0]]]])
    ;
    ; Description - Sorts an 1D/2D Array and delete double entries (2D -> combination by '[n][0]' and '[n][1]').
    ; - By using string, you can choose case sensitivity.
    ; - BaseIndex is 0; sorts the whole array.
    ;
    ; Parameter $ARRAY: Array to sort
    ; optional $CASESENS: Case sensitivity off[0] or on[1] (default 0)
    ; optional $iDESCENDING: Sort ascending[0]/descending[1] (default 0)
    ; optional $iDIM: Occurences in the second dimension, eg $A[100]=0 or $A[100][2]=2 (default 0)
    ; optional $iSORT: SortIndex by using 2 dimensions (default 0)
    ;
    ; Return ByRef sorted Array without doubles
    ;
    ; Requirements Only 2 occurences in the second dimension
    ; #include <array.au3>
    ;
    ; Author BugFix ([email='bugfix@autoit.de'][/email])
    ;----------------------------------------------------------------------------------------------------------------------

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

    Func _ArraySortDblDel(ByRef $ARRAY, $CASESENS=0, $iDESCENDING=0, $iDIM=0, $iSORT=0)
    Local $arTmp1D[1], $arTmp2D[1][2], $dbl = 0
    $arTmp1D[0] = ""
    $arTmp2D[0][0] = ""
    If $iDIM = 0 Then $iDIM = 1
    _ArraySort($ARRAY,$iDESCENDING,0,0,$iDIM,$iSORT)
    Switch $iDIM
    Case 1 ; 1D
    For $i = 0 To UBound($ARRAY)-1
    $dbl = 0
    For $k = 0 To UBound($arTmp1D)-1
    Switch $CASESENS
    Case 0
    If $arTmp1D[$k] = $ARRAY[$i] Then $dbl = 1
    Case 1
    If $arTmp1D[$k] == $ARRAY[$i] Then $dbl = 1
    EndSwitch
    Next
    If $dbl = 0 Then
    If $arTmp1D[0] = "" Then
    $arTmp1D[0] = $ARRAY[$i]
    Else
    _ArrayAdd($arTmp1D, $ARRAY[$i])
    EndIf
    Else
    $dbl = 0
    EndIf
    Next
    $ARRAY = $arTmp1D
    Case 2 ; 2D
    For $i = 0 To UBound($ARRAY)-1
    $dbl = 0
    For $k = 0 To UBound($arTmp2D)-1
    Switch $CASESENS
    Case 0
    If ( $arTmp2D[$k][0] = $ARRAY[$i][0] ) And _
    ( $arTmp2D[$k][1] = $ARRAY[$i][1] ) Then $dbl = 1
    Case 1
    If ( $arTmp2D[$k][0] == $ARRAY[$i][0] ) And _
    ( $arTmp2D[$k][1] == $ARRAY[$i][1] ) Then $dbl = 1
    EndSwitch
    Next
    If $dbl = 0 Then
    If $arTmp2D[0][0] = "" Then
    $arTmp2D[0][0] = $ARRAY[$i][0]
    $arTmp2D[0][1] = $ARRAY[$i][1]
    Else
    ReDim $arTmp2D[UBound($arTmp2D)+1][2]
    $arTmp2D[UBound($arTmp2D)-1][0] = $ARRAY[$i][0]
    $arTmp2D[UBound($arTmp2D)-1][1] = $ARRAY[$i][1]
    EndIf
    Else
    $dbl = 0
    EndIf
    Next
    $ARRAY = $arTmp2D
    EndSwitch
    EndFunc ; ==>_ArraySortDblDel

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

    Func _ArrayDisplay2D($Array, $Title="")
    Local $str = ""
    For $i = 0 To UBound($Array)-1
    If $i = 0 Then
    $str &= "[" & $i & "] = " & $Array[$i][0] & " | " & $Array[$i][1]
    Else
    $str &= @LF & "[" & $i & "] = " & $Array[$i][0] & " | " & $Array[$i][1]
    EndIf
    Next
    MsgBox(0, $Title, $str)
    EndFunc

    [/autoit]

    Dateien

    _ArraySortDblDel.au3 2,68 kB – 284 Downloads
  • file nach begriffen auslesen

    • BugFix
    • 24. April 2007 um 00:38

    So, habs mit deiner Datei getestet - funzt prima.
    Da viele Namen mehrfach auftauchen, habe ich dir gleich noch 'ne Routine zum Entfernen der Dopplungen beigefügt.

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    #include <file.au3>
    $pattern = '((?<=user/)[^"^/]+)' ; Slash gehört nicht zum Namen - auch raus
    $file = @ScriptDir & "\test.txt"
    $fileout = @ScriptDir & "\testout.txt"
    $fh = FileOpen($file,0)
    $string = FileRead($fh)
    $arOut = StringRegExp($string, $pattern,3)
    FileClose($fh)
    _ArraySort($arOut) ; sortieren
    ; hier die Doppelentfernung, wenn gewünscht, einfügen
    _FileWriteFromArray($fileout, $arOut) ; statt $arOut: $arOhneDoppel)

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

    ; wenn doppelte Namen raussortiert werden sollen:

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

    Dim $arOhneDoppel[1]
    $arOhneDoppel[0] = ""
    For $i = 0 To UBound($arOut)-1
    $doppel = 0
    For $k = 0 To UBound($arOhneDoppel)-1
    If $arOhneDoppel[$k] = $arOut[$i] Then $doppel = 1
    Next
    If $doppel = 0 Then
    If $arOhneDoppel[0] = "" Then
    $arOhneDoppel[0] = $arOut[$i]
    Else
    _ArrayAdd($arOhneDoppel, $arOut[$i])
    EndIf
    Else
    $doppel = 0
    EndIf
    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™