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

  • CSV anhand eines Feldwertes sortieren

    • BugFix
    • 6. Februar 2008 um 20:29

    Hi,
    ich hab dir mal 'ne Lösung erstellt. Ich bin davon ausgegangen, dass das Datum in der Form "TT.MM.JJJJ" vorliegt.
    Die Funktion ist so ausgelegt, dass Tag und Monat auch einstellig eingegeben sein können (also '9.' statt '09.').

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    #include <file.au3>

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

    Dim $file = 'test.csv'
    Dim $fileOut = 'test_1.csv'
    Dim $arRaw
    _FileReadToArray($file, $arRaw)
    Dim $arOut[$arRaw[0]][2]

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

    For $i = 1 To UBound($arRaw) -1
    $tmp = StringSplit($arRaw[$i], ';')
    $arOut[$i-1][0] = $i
    $arOut[$i-1][1] = _konvert2sortDat($tmp[3])
    Next

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

    Func _konvert2sortDat($STR)
    $var = StringSplit($STR, '.')
    Return $var[3] & '-' & StringRight(0 & $var[2], 2) & '-' & StringRight(0 & $var[1], 2)
    EndFunc

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

    _ArraySort($arOut, 0, 0, 0, 2, 1)

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

    $fh = FileOpen($fileOut, 1)
    For $i = 0 To UBound($arOut) -1
    FileWriteLine($fh, $arRaw[$arOut[$i][0]])
    Next
    FileClose($fh)

    [/autoit]
  • funktionen von createobj (geht auch exe?)

    • BugFix
    • 4. Februar 2008 um 22:29

    Also ich würde mal vorsichtig sagen, dass du Referenzen auf alle Microsoftprodukte erzeugen kannst. Nähere Hinweise zu Methoden etc. findest du bei MSDN.
    Bei anderen Produkten hilft nur probieren ;)

  • Excel-Tabelle in GUI-Fenster eingebettet?

    • BugFix
    • 4. Februar 2008 um 21:09

    Du möchtest also ein "EmbeddedObject" gestalten. Gesehen hab ich es noch nicht. Adhoc wüßte ich nicht, wie ich es angehen sollte, würde aber die Machbarkeit nicht unbedingt in Frage stellen.
    Ich wünsch dir auf jeden Fall Erfolg bei deiner Suche.

  • fenster im fenster

    • BugFix
    • 3. Februar 2008 um 01:59

    Mit GUICtrlSetResizing() kann man es "festnageln" ;)

  • fenster im fenster

    • BugFix
    • 3. Februar 2008 um 00:50

    Welchen Sinn macht eine zweite GUI, wenn sie immer sichtbar ist?
    Dann reicht es doch, wenn du die Elemente der GUI auf der Main GUI platzierst und nur optisch abtrennst.

  • Console write/read

    • BugFix
    • 2. Februar 2008 um 23:52

    Ja, das geht. Aber schau doch vorher ob das nicht mit Scriptomatic zu lösen geht.

  • Console write/read

    • BugFix
    • 2. Februar 2008 um 23:42

    Warum lest ihr nicht die Hilfe?

    Zitat von Hilfe zu StdinWrite
    [autoit]

    ; Demonstrates the use of StdinWrite()
    #include <Constants.au3>

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

    $foo = Run("sort.exe", @SystemDir, @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
    ; Write string to be sorted to child sort.exe's STDIN
    StdinWrite($foo, "rat" & @CRLF & "cat" & @CRLF & "bat" & @CRLF)
    ; Calling with no 2nd arg closes stream
    StdinWrite($foo)

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

    ; Read from child's STDOUT and show
    MsgBox(0, "Debug", StdoutRead($foo))

    [/autoit]
    Alles anzeigen
  • bild (icon) geändert => autoit zeigt das alte immernoch

    • BugFix
    • 2. Februar 2008 um 23:07

    Guckst du hier: Doppelklick für (fast) jedes Control

  • upx

    • BugFix
    • 1. Februar 2008 um 16:32

    Ich würde mal probieren:

    [autoit]

    Run(@ComSpec & " /c " & 'commandName', "", @SW_HIDE)

    [/autoit]


    Und dann 'upx yourfile.exe' einsetzen.

    EDIT:
    Wer mit UPX nichts anfangen kann - UPX ist ein Packprogramm zum Packen von EXE-Dateien.
    Der Vorteil - die gepackten EXE müssen vor dem Ausführen nicht entpackt werden.
    Hier zu finden.

  • Auto It und Strg + TAB

    • BugFix
    • 1. Februar 2008 um 09:49

    Habs mal bei mir getestet. Habe aber ein paar Sleeps eingebaut - ohne die gehts nicht. Klappt so tadellos:

    Spoiler anzeigen
    [autoit]

    Run('rundll32.exe shell32.dll, SHHelpShortcuts_RunDLL PrintersFolder')
    send ("{ALT}")
    send ("A")
    send ("A")
    send ("{HOME}")
    send ("EPSON") ;Name des Druckers
    send ("{ALT}")
    send ("D")
    send ("D")
    Sleep(100)
    Send("^{TAB}")
    Sleep(100)
    Send("^{TAB}")
    Sleep(100)
    Send("{TAB}")
    Sleep(100)
    Send("{TAB}") ; Focus auf Button "Druckkopfreinigung"

    [/autoit]
  • nun doch dabei...

    • BugFix
    • 31. Januar 2008 um 22:22

    Hi und Willkommen.

    Mach dir mal keine Sorgen wegen des Alters, ich bin schon zum 3.ten Mal 15 :rofl:

  • fehler mit Sinuns

    • BugFix
    • 31. Januar 2008 um 22:01

    Vertrau der Hilfe ;) - das ist richtig.
    Hier, das was du wohl wolltest:

    [autoit]

    ConsoleWrite(' 90° : ' & _AreaKreisSektor(9, 90) & @CRLF)
    ConsoleWrite('180° : ' & _AreaKreisSektor(9, 180) & @CRLF)
    Func _AreaKreisSektor($Radius, $Winkel)
    Local Const $pi = 3.14159265358979
    Return $Radius^2*($pi*$Winkel/360)
    EndFunc

    [/autoit]
    Code
    90° : 63.6172512351933
    180° : 127.234502470387
  • fehler mit Sinuns

    • BugFix
    • 31. Januar 2008 um 21:46

    Ich hab nur deine Formel 1:1 umgesetzt. Ob sie sachlich richtig ist, weiß ich nicht. ;)
    Die Berechnung des Sinus hab ich analog aus der Hilfe entnommen:

    [autoit]

    $degToRad = $pi / 180
    $y = Sin(90 * $degToRad) ;sine of 90°

    [/autoit]

    Aber ich werd jetzt mal mein Tabellenbuch vorholen und schauen, wie die Formel zur Berechnung ist. Dann melde ich mich nochmal.


    EDIT:
    Ich glaube, ich weiß, wo das Problem liegt.
    Also meine Berechnung ist korrekt.
    Aber ich gehe mal davon aus, dass du gar kein Kreissegment meinst!
    Du willst sicher den Flächeninhalt eines "Tortenstücks" ermitteln - das ist aber kein Kreissegment sondern ein Kreissektor!
    Schau mal unter Wikipedia nach Kreissegment - dort ist es gut abgebildet.

    Und für dein Tortenstück die Fläche ist doch simpel:
    Teilfläche = Fläche Vollkreis / 360 * Winkel
    Ask = Winkel / 360 * pi * Radius²

  • fehler mit Sinuns

    • BugFix
    • 31. Januar 2008 um 21:17

    Dann korrigiere mal deine Formel:

    [autoit]

    ConsoleWrite(' 90° : ' & _AreaKreisSegment(9, 90) & @CRLF)
    ConsoleWrite('180° : ' & _AreaKreisSegment(9, 180) & @CRLF)
    Func _AreaKreisSegment($Radius, $Winkel)
    Local Const $pi = 3.14159265358979
    Local $degToRad = $pi / 180
    Return $Radius^2*(($pi*$Winkel/360)-(Sin($Winkel*$degToRad)/2))
    EndFunc

    [/autoit]
    Code
    90° : 23.1172512351932
    180° : 127.234502470386

    Edit: Oops, da hatte ich doch glatt den Radius mit dem Rest potenziert :D - nu stimmts aber

  • Mehrere Filter bei _FileListToArray()?

    • BugFix
    • 31. Januar 2008 um 14:18

    Meines Wissens kannst du nur 1 Wildcard verwenden.
    Du müßtest also die Aktion mit jeweils 1 Wildcard nacheinander ausführen. Danach kannst du ja die Arrays mit _Array2DJoin() aus meiner Signatur zusammenfügen.

  • List drucken?

    • BugFix
    • 31. Januar 2008 um 14:09

    Schreib den Inhalt in eine Temporäre Datei und drucke diese aus:

    [autoit]

    Func _FilePrintCom($iFile)
    If Not FileExists($iFile) Then Return SetError(1,0,0)
    $objShellApp = ObjCreate("Shell.Application")
    $objShellApp.ShellExecute($iFile,0,0,"PRINT",0)
    EndFunc

    [/autoit]
  • web sms österreich

    • BugFix
    • 31. Januar 2008 um 10:47

    z.B. so:

    [autoit]

    $Edit = GUICtrlCreateEdit("", left, top, width, height, $ES_WANTRETURN)

    [/autoit]
  • 1.) FileWrite, 2.) FileWrite & FileWriteLine

    • BugFix
    • 30. Januar 2008 um 21:48

    zum 1.
    Ja, dort kannst du auch Variablen verwenden.

    zum 2.
    FileWrite schreibt den gesamten Inhalt einer Variablen in eine (vorher zum Schreiben geöffnete) Datei.
    Wenn du keine Zeilenumbrüche in der Variablen hast, steht alles in einer Zeile.
    FileWriteLine schreibt den Inhalt in eine Zeile und fügt, falls nicht vorhanden, automatisch einen Zeilenumbruch an.

  • Probleme beim Auswerten von Checkboxen

    • BugFix
    • 30. Januar 2008 um 14:24

    Hab das auch mal getestet. Scheint ein Bug von 3.2.10.0 zu sein, denn mit AU3LIB in alten Versionen funktioniert es tadellos.

    Schreib doch dein Problem mal in das Bugforum im EN-Forum.

  • $nr[$q] = $q

    • BugFix
    • 30. Januar 2008 um 12:23
    [autoit]

    ReDIM $nr[$q + 1]
    $nr[$q] = $q

    [/autoit]

    Was soll das bedeuten? Wieso änderst du die Größe von $nr in Abhängigkeit von $q?

    Hier tritt ein schon öfter angesprochenes Problem auf: Variablennamen ohne Sachbezug.
    Ich hab keine Ahnung, welche Rolle $q bei dir spielt und aufgrund der Skriptgröße auch keine Lust zu suchen ob ich es herausfinde.
    Es ist wesentlich einfacher (auch für dich, wenn du später nochmal in dein Skript schaust) Variablennamen zu verwenden, die einen eindeutigen Bezug auf ihre Aufgabe zulassen. Sonst ist es für einen Außenstehenden bei großen Skripten nicht zumutbar, das nachzuvollziehen.

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™