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

Beiträge von ytwinky

  • Stummfilmmusik?

    • ytwinky
    • 4. Oktober 2011 um 21:08

    Hi,
    ich glaub schon, daß progandy in die richtige Richtung weist..
    Imho paßt aber auch Honky Tonk noch ganz gut..
    Gruß
    ytwinky

  • Aktuelle Warnung vor Pfishing Mail Attacken

    • ytwinky
    • 30. September 2011 um 11:27

    Hi,

    Zitat von campweb

    ..
    Ergänzungen werden gerne gesehen!
    ..

    ich will hier nicht nochmal sagen, was BugFix bereits ausgeführt hat..
    (ich mache es ähnlich^^)
    Wichtig ist auch: Mails die viel Rächdschraibvehler enthalten sind verdächtig!
    (z.B. 'Pfishing' statt 'Phishing' :rofl: )
    Gruß
    ytwinky

  • Alternative zu AutoIt

    • ytwinky
    • 13. September 2011 um 13:01

    @Sprenger:

    Zitat von Sprenger120

    ..
    PS: ytwinky: Auf deiner Seite steht:

    ..


    Wo ist das Problem?^^
    Gruß
    ytwinky

  • Alternative zu AutoIt

    • ytwinky
    • 13. September 2011 um 00:09

    Hi,

    Zitat von kunstlust

    ..
    Über Purebasic hat aber keiner ein Wort verloren, warum nur, ist es bei keinem je zum Einsatz gekommen?
    ..

    Vergleiche einmal die Anschaffungskosten für PureBasic(~79€) und AutoIt(FreeWare!!!)
    (Ich habe selbstverständlich einen kostenlosen PureBasic-Compiler, aber der ist total veraltet und konnte damals auch schon nur einen Bruchteil des Sprachumfangs..)
    Wenn du UNBEDINGT eine Basic-Sprache benutzen willst..
    Warum nimmst du nicht FreeBASIC: http:\ytwinky.freebasic-portal.de
    Gruß
    ytwinky

  • Rechnen mir Binäre Daten

    • ytwinky
    • 12. September 2011 um 22:23

    Hi Timo,
    natürlich 'ist es dann mögliche' mit den Zahlen zu 'rechnen'..
    Voraussetzung ist, daß wir beide jetzt das SELBE Binär-System meinen:
    Ich meine das DualSystem(nur 0 und 1)
    Wenn du die Strings in der der binären Darstellung läßt, mußt du nur fast alle Funktionen Operationen selber schreiben ;-))
    Wenn du jedoch die Zahlen ins Integer-Format umrechnest, kannst du natürlich alle möglichen Operationen durchführen.
    Kleine Hilfe und Denkanstoß:

    Spoiler anzeigen
    [autoit]

    ;(c)2009 by ytwinky, MD
    Opt('MustDeclareVars', 1)
    #NoTrayIcon
    ;AutoItSetOption("TrayIconHide", 1)
    Const $MaxAllowed=2^31-1, $MinAllowed=-2^31

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

    Dim $myBin='MaxAllowed=' &($MaxAllowed) &@Lf &'MinAllowed=' &$MinAllowed &@Lf, $Var=2^31, $i, $FromBin
    Do
    $i=InputBox('myBin-Eingabe', $myBin &@Lf &'IntegerZahl eingeben:', $Var, '', 300, 145)
    If $i<>'' Then
    $Var=Execute($i) ;so lassen auch Ausdrücke(z.B. 2^32) eingeben
    If $Var='' And @error<>0 Then ;Execute hat nicht geklappt, nochmal..
    $myBin='Fehler in Ausdruck: ' &$i &' ' &@error &@Lf &@Lf
    $Var=$i
    Else
    $FromBin=Int2Bin($Var)
    $myBin='Integer:' &$Var &@Lf &'Binär:' &$FromBin
    If StringInstr($myBin, '(')=0 Then
    $myBin&=@Lf &'Hex:' &Hex($Var)
    MsgBox(0, 'Bin2Int', Bin2Int($FromBin))
    EndIf
    EndIf
    EndIf
    Until $i=''

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

    Func Int2Bin($Integer, $StrLen=8) ;desired stringlength may be submitted(defaults to 8), will be used if applicable..
    Local $s='32Bit-RangeError:' &@Lf &'(' &$Integer &' is not in ' &(-2^31) &'..' &(2^31-1) &')', $h=Hex($Integer), $i=1
    Local $hx[16]=['0000', '0001', '0010', '0011', '0100', '0101', '0110', '0111', _
    '1000', '1001', '1010', '1011', '1100', '1101', '1110', '1111']; 'cause index 0 is used by stringsplit()..
    If $Integer>=-2^31 And $Integer<2^31 Then
    $s=''
    While StringMid($h, $i, 1)='0' ;find first chr in $h which is not '0'
    $i+=1
    If $i=StringLen($h) Then ExitLoop ;skip the last chr..
    Wend
    $h=StringMid($h, $i) ;remove leading zeroes from $h
    For $i=1 To StringLen($h)
    $s&=$hx['0x' &StringMid($h, $i, 1)]
    Next
    $i=$StrLen-StringLen($s)
    If $i>0 Then $s=Str($i, '0') &$s
    EndIf
    Return $s
    EndFunc

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

    Func Bin2Int($FromBin)
    Local $ToInt=0, $StrLen=StringLen($FromBin), $i, $c
    For $i=$StrLen To 1 Step -1
    $c=StringMid($FromBin, $i, 1)
    If $c<>'1' And $c<>'0' Then Return 'Error in ' &$FromBin &', Pos.:' &($StrLen-$i) &', chr not in [0..1]' ; guess what..
    $ToInt+=$c*2^($StrLen-$i) ;add the corrected exponent of 2, beware: adds zero if $c is zero, as requested ;-))
    Next
    If $ToInt>(2^31-1) Then $ToInt-=2^32 ;reduce $ToInt to the range of -2^31..(2^31-1)
    Return $ToInt
    EndFunc

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

    Func Str($StrLen, $Char)
    Local $i=0, $c=''
    For $i=1 To $StrLen
    $c&=$Char
    Next
    Return $c
    EndFunc

    [/autoit]


    Viel Spaß beim Probieren
    Gruß
    ytwinky

  • DOS-Abfrage -> Ordnerinhalt auflisten und in txt-Datei schreiben (Variablen Problem)

    • ytwinky
    • 25. August 2011 um 18:29

    Hi,
    zuerst dachte ich, es könnte etwas mit @SW_Hide zu tun haben, aber das war ein Irrtum..
    Wenn du /c mal durch /k ersetzt, kommste ganz einfach auf folgende Lösung:

    [autoit]

    $Path = "C:\WinSubC\"
    RunWait(@COMSPEC & ' /c Dir "' & $Path & '" >test.txt', "", @SW_Hide)

    [/autoit]

    Stör' dich bitte nicht an dem Verzeichnisnamen, denn 'Neuer 'Ordner' gibt es IMMER NUR kurzfristig auf meinem Rechner^^
    Viel Spaß beim Auflisten
    Gruß
    ytwinky

  • Welchen Internet Browser für Windows nutzt ihr - Umfrage ?

    • ytwinky
    • 4. August 2011 um 20:52

    Hi,
    Browserumfragen sind echt zum aufbrausen...
    Interessanter sind da schon Untersuchungen:
    Gruß
    ytwinky

  • Schreibfehler in der deutschen Hilfe..

    • ytwinky
    • 25. Juli 2011 um 18:52

    Hi, ich habe heute in der Hilfe-Datei folgende Schreibfehler gefunden:
    CtrlSetData:
    ..
    Wenn "data" mit dem über GUIDataSeparatorChar definierten Zeichen beginnt oder einen leeren String ist (""), wird die vorherige Liste gelöscht.
    ..
    (Ich will keine Diskussion über 'vorige' vs 'vorherige' Liste anstrengen, aber 'einen leeren' ist hier definitiv falsch..)
    GUICtrlRead:
    ..
    Statuse
    ..
    Status(inkl. Plural)
    mglw hat sich auch an anderen Stellen der 'Unplural' Statuse eingenistet, verkehrter sind nur noch Statusse oder gar Statüsse :rofl:
    Gruß
    ytwinky

  • Multiplizieren von 2 Variablen (InputBox)

    • ytwinky
    • 23. Juli 2011 um 22:31
    Zitat von hauke96

    so einfach wie gem es beschribene hat geht es leider nicht!

    [autoit]

    $Input = GUICtrlCreateInput(...)
    $Zahl2 = 3
    $Zahl1 = GUICtrlRead($Input)
    $Ergebnis = $Zahl1 * $Zahl 2

    [/autoit]


    Und dann kannst du mit $Ergebnis alles machen, ist ja ne normale Variable. Wie du schon gesehen hast, musst du erst die Input-box auslesen lassen, sonst rechnest du mit der ID der Box und das ergibt dann irgendetwas, nur kein richtiges ergebnis.

    mfg
    hauke96


    Nanana, hauke96..
    versuch's mit

    [autoit]

    $Ergebnis = $Zahl1 * $Zahl2

    [/autoit]

    So sollte es klappen..
    Gruß
    ytwinky

  • Euer erstes Script

    • ytwinky
    • 15. Juli 2011 um 19:00
    Zitat

    ich hoffe ich bin hier richtig, wenn nicht, korregiert mich bitte.

    Wenn du drauf bestehst..
    Es heißt 'korrigiert' :rofl:
    Mein erstes AutoIt-Script? weiß ich nicht mehr..
    Gruß
    ytwinky

  • Geschwindigkeitsvergleich C, Basic, Pascal Unerwartetes Ergebnis?!

    • ytwinky
    • 5. Juli 2011 um 21:06

    hi,

    Zitat

    Deshalb werd ich für mein Projekt FreeBasic verwenden!

    ..eine kluge Wahl, die ich nur unterstützen kann:
    FreeBasic-Portal(dt.)
    freebasic-forum(engl.)
    FreeBasic-Forum(dt.)
    ..'unabhängig' davon. dass meine Seite vom fb-portal gehostet wird ;)
    ytwinky's Seite
    Viel Spaß beim Stöbern
    Gruß
    ytwinky

  • Determinantenberechnung einer Matrix

    • ytwinky
    • 2. Juli 2011 um 20:46

    hi,
    schönen Dank für den Link, ich glaub, den hab ich noch nicht..
    @PS: Wenn du schonmal auf die linke Seite geschaut hast, wirst du unter meinem Nick auch eine Zeile finden, in der 'Beruf' steht UND genau darunter
    steht die Antwort auf deine Frage..
    Gruß
    ytwinky

  • Determinantenberechnung einer Matrix

    • ytwinky
    • 2. Juli 2011 um 19:01

    Hi,
    war nicht ganz so trivial, wie ich gedacht hatte: Meine Determinantenberechnung von FreeBasic nach AutoIt zu portieren..
    Also, eine Matrix ist eine Zahlenanordnung aus Zeilen und Spalten, AutoIt-Benutzern auch als Array[] bekannt, doch es gibt Unterschiede ;)
    Die Division durch eine Matrix wird als Multiplikation mit der Inversen ausgeführt, doch das nur am Rande.
    Aber wie bei jeder Division gibt es ein Problem, wenn der Divisor Null ist. Bei quadratischen Matrizen, wie sie z.B. in der Ausgleichungsrechnung vorkommen, läßt sich über die Berechnung der Determinanten(quasi der Wert) einer Matrix schon vor der Operation ermitteln, ob selbige überhaupt durchführbar ist. Gelingt das bei Zweier- oder Dreier-Matrizen fast noch per Kopfrechnung, so ist aber bereits bei einer Vierer-Matrix Schluß.
    Die Determinantenberechnung gestaltet sich sehr umständlich, da geschieht es leicht, dass sich Vorzeichenfehler einschleichen etc. pp.
    Als es das Computer-Magazin mc noch gab, habe ich dort irgendwann(~1985) mal ein Pascal-Programm gefunden, das diese Berechnung übernimmt.
    Erst habe ich es nach FreeBasic portiert und dann nach AutoIt, es funktioniert immer noch^^
    Wer mit dem Begriff Determinantenberechnung etwas anfangen kann, erhält hier ein Grundgerüst, mit dem soetwas auch mit AutoIt erledigt werden kann.
    Wer nix mit dieser Sache zu tun hat, der braucht das Programm auch nicht :rofl:
    Im GUI ist eine ganze Menge möglich, einfach mal anschauen, denn es kann nichts passieren(schließlich liefere ich den Quellcode ja mit)..
    Für den Fall, das jemand grad keine Matrix zur Hand hat, deren Determinante garantiert 0 ist, biddeschööön: 8)

    Code
    1 2 3
    4 5 6
    7 8 9

    Es gibt zwei eingebaute Matrizen, eine über das GUI zu finden, die andere, wenn in der Dimensionsauswahl der Eintrag max ausgewählt wird.
    Hier habe ich bei der einen den von einer Tabellenkalkulation ermittelten Wert eingetragen, im anderen Fall ist das Ergebnis 3, daran ist nicht zu rütteln. Sicherlich ließe sich noch vieles am GUI rumfeilen und besser/'schöner' machen, aber so ist es auf alle Fälle ausreichend, denn es ging
    ja nur darum, den Algorithmus etwas zu verpacken. Genug geredet, hier isses:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    ;+------------------------------------------------------------------------------------------+
    ;| Header: Bestimmen der Übergabeparameter |
    ;| AnzeigeCheck:|Il1 sind Alt-0124,Großes i,Kleines L, Eins „”᎙šñ¸=äöüßÄÖܱ© |
    Const $Author='Determinante.au3 ©2011 by ytwinky, MD'; |
    ;| (Tastenkombination: keine) |
    ;| |
    ;| Zweck : DeterminantenBerechnung einer quadratischen Matrix(z.B. vor einer Inversion) |
    ;| Quelle: mc (mehr weiß ich leider nicht mehr, sorry..) |
    ;+------------------------------------------------------------------------------------------+
    Global $Menu, $A, $d, $XL, $i, $j, $k
    Global $iDim, $MatFormat, $fw, $nk
    #Region ### START Koda GUI section ### Form=D:\Sprachen\AutoIt3\Au3\kxf\det.kxf
    $det=GUICreate('det', 815, 585, 191, 111)
    $grpMain=GUICtrlCreateGroup('', 0, -4, 813, 587)
    $lblTitel=GUICtrlCreateLabel('Determinantenberechnung', 6, 10, 469, 33)
    GUICtrlSetTip(-1, $Author)
    GUICtrlSetFont(-1, 18, 800, 0, 'Arial')
    GUICtrlSetColor(-1, 0x000080)
    $grpArt=GUICtrlCreateGroup('Eingabeart festlegen', 4, 42, 197, 53)
    $rbdatei=GUICtrlCreateRadio('Datei', 10, 58, 49, 17)
    $rbauto=GUICtrlCreateRadio('automatisch', 10, 76, 83, 17)
    $btnSuchen=GUICtrlCreateButton('Suchen', 119, 54, 75, 25, $WS_GROUP)
    GUICtrlSetFont(-1, 8, 800, 0, 'MS Sans Serif')
    GUICtrlSetState(-1, $GUI_Hide)
    GUICtrlCreateGroup('', -99, -99, 1, 1)
    $grpEingabe=GUICtrlCreateGroup('', 201, 42, 127, 53)
    GUICtrlSetState(-1, $GUI_Hide)
    $rbeingebaut=GUICtrlCreateRadio('eingebaute Matrix', 205, 58, 105, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $rbzufall=GUICtrlCreateRadio('Zufallsmatrix', 205, 76, 97, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    GUICtrlCreateGroup('', -99, -99, 1, 1)
    $grpmaxdim=GUICtrlCreateGroup('max. Dimension festlegen', 328, 42, 139, 53)
    GUICtrlSetState(-1, $GUI_Hide)
    $cmbmaxdim=GUICtrlCreateCombo('max', 370, 62, 53, 25)
    GUICtrlSetState(-1, $GUI_Hide)
    GUICtrlSetData(-1, '2|3|4|5|6|7|8|9|10|15|20')
    GUICtrlCreateGroup('', -99, -99, 1, 1)
    $grpFormat=GUICtrlCreateGroup('Ausgabeformat', 624, 6, 185, 89)
    $lblvk=GUICtrlCreateLabel('Vorkommastellen', 634, 26, 50, 17)
    $cmbvk=GUICtrlCreateCombo('5', 724, 22, 81, 25)
    GUICtrlSetData(-1, '1|2|3|5|7', 5)
    $lblnk=GUICtrlCreateLabel('Nachkommastellen', 632, 49, 97, 17)
    $cmbnk=GUICtrlCreateCombo('5', 724, 46, 81, 25)
    GUICtrlSetData(-1, '1|2|3|4|5|6|7|8|9', 5)
    GUICtrlCreateGroup('', -99, -99, 1, 1)
    $efMatrix=GUICtrlCreateEdit('', 4, 98, 805, 449)
    $btnBerechnen=GUICtrlCreateButton('Berechnen', 4, 553, 75, 27, $WS_GROUP)
    GUICtrlSetFont(-1, 8, 800, 0, 'MS Sans Serif')
    $lbldet=GUICtrlCreateLabel('Determinante=', 82, 559, 82, 17)
    GUICtrlSetFont(-1, 8, 800, 0, 'MS Sans Serif')
    $efdet=GUICtrlCreateInput('', 168, 557, 195, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
    GUICtrlSetBkColor(-1, 0xFFFFFF )
    $lblSoll=GUICtrlCreateLabel('Soll=', 368, 559, 28, 17)
    GUICtrlSetFont(-1, 8, 800, 0, 'MS Sans Serif')
    $efSoll=GUICtrlCreateInput('', 398, 557, 149, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
    GUICtrlSetBkColor(-1, 0xFFFFFF )
    $lblDiff=GUICtrlCreateLabel('Soll-Ist=', 550, 559, 46, 17)
    GUICtrlSetFont(-1, 8, 800, 0, 'MS Sans Serif')
    $efDiff=GUICtrlCreateInput('', 598, 557, 127, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
    GUICtrlSetBkColor(-1, 0xFFFFFF )
    $btnQuit=GUICtrlCreateButton('Quit', 734, 553, 75, 27, BitOR($BS_DEFPUSHBUTTON,$WS_GROUP))
    GUICtrlSetFont(-1, 8, 800, 0, 'MS Sans Serif')
    GUICtrlCreateGroup('', -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE, $btnQuit
    Exit
    Case $btnBerechnen, $cmbvk, $cmbnk
    Berechnen()
    Case $rbdatei
    GUICtrlSetState($btnSuchen, $Gui_Show)
    GUICtrlSetState($rbzufall, $Gui_Hide)
    GUICtrlSetState($rbeingebaut, $Gui_Hide)
    GUICtrlSetState($grpEingabe, $Gui_Hide)
    GUICtrlSetState($grpmaxdim, $Gui_Hide)
    GUICtrlSetState($cmbmaxdim, $Gui_Hide)
    Case $rbauto
    GUICtrlSetState($btnSuchen, $Gui_Hide)
    GUICtrlSetState($rbzufall, $Gui_Show)
    GUICtrlSetState($rbeingebaut, $Gui_Show)
    GUICtrlSetState($grpEingabe, $Gui_Show)
    Case $rbzufall
    GUICtrlSetState($grpmaxdim, $Gui_Show)
    GUICtrlSetState($cmbmaxdim, $Gui_Show)
    GUICtrlSetData($efMatrix, '')
    GUICtrlSetData($efSoll, $XL)
    $XL=''
    Case $rbeingebaut
    GUICtrlSetState($grpmaxdim, $Gui_Hide)
    GUICtrlSetState($cmbmaxdim, $Gui_Hide)
    $iDim=6
    Dim $A[$iDim][$iDim]=[[0.659327444, 0.072983257, 0.979894657, 0.756750136, 0.25441669, 0.83763853], _
    [0.559241606, 0.523137874, 0.948388093, 0.330784887, 0.849705537, 0.169404574], _
    [0.933652887, 0.616332953, 0.217258497, 0.907022842, 0.082662047, 0.03529322], _
    [0.826041544, 0.765330767, 0.52478838, 0.158009727, 0.024860119, 0.36255325], _
    [0.846792095, 0.556488281, 0.48273207, 0.122986243, 0.059224104, 0.851249939], _
    [0.33697323, 0.625423359, 0.494137015, 0.130947714, 0.248825667, 0.928200963]]
    $XL=0.146436546
    GUICtrlSetData($efSoll, $XL)
    Berechnen()
    Case $cmbmaxdim
    $iDim=GUICtrlRead($cmbmaxdim)
    If $iDim<2 Or $iDim*1=0 Then
    $iDim=3
    Dim $A[$iDim][$iDim]=[[1, 2, 3], [4, 5, 6], [7, 8, 8]]
    $XL=3
    Else
    Dim $A[$iDim][$iDim]
    For $i=0 To $iDim-1
    For $j=0 To $iDim-1
    $a[$i][$j]=Random()
    Next
    Next
    $XL=''
    GUICtrlSetData($efDiff, $XL)
    EndIf
    GUICtrlSetData($efSoll, $XL)
    Berechnen()
    Case $btnSuchen
    $s='Die Eingabedatei MUSS eine reine Ascii-Datei sein!' &@CrLf
    $s&='In ihr stehen die Elemente der Matrix zeilenweise, jeweils durch 1 Leerzeichen getrennt' &@CrLf
    $s&='Dezimaltrennzeichen ist der Punkt(''.''), z.B. 12.345' &@CrLf &'Formatierungszeichen(Tausendertrennzeichen) sind nicht erlaubt..' &@CrLf
    $s&='Determinantenberechnung funktioniert nur bei quadratischen Matrizen' &@CrLf
    $s&='(für mathematisch weniger Bewanderte:Es müssen genausoviel Zeilen vorhanden sein, wie es Spalten gibt..)' &@CrLf
    $s&='Leerzeilen sind nicht erlaubt, sie würden als 0-Zeile gewertet und bewirken eine Determinante=0' &@CrLf
    $s&='Werden diese Bedingungen nicht eingehalten, errechnet das Programm Unsinn oder stürzt gar ab..' &@CrLf
    $s&='Für solche Bediener-Fehler bin ich nicht verantwortlich!' &@CrLf &'Wer das Programm benutzt, macht dies auf eigenes Risiko ;-))' &@CrLf
    GUICtrlSetData($efMatrix, $s)
    $n=FileOpenDialog('Datei suchen', @WorkingDir, 'Alle (*.*)', 1)
    If FileExists($n) Then $n=StringSplit(FileRead($n), @Lf)
    $iDim=$n[0]
    Dim $A[$iDim][$iDim]
    $k=''
    For $i=1 To $n[0]
    $s=StringSplit($n[$i], ' ')
    For $j=1 To $s[0]
    $a[$i-1][$j-1]=$s[$j]
    $k&=Stringformat('%-' &$fw &'.' &$nk &'f', $a[$i-1][$j-1])
    Next
    Next
    Berechnen()
    EndSwitch
    WEnd

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

    Func Berechnen()
    Local $i, $j, $vk=2, $nk=4, $s=''
    $nk=GuiCtrlRead($cmbnk)
    $fw=$nk+GuiCtrlRead($cmbvk)+1
    For $i=0 To UBound($A)-1
    For $j=0 To UBound($A)-1
    $s&=Stringformat('%-' &$fw &'.' &$nk &'f', $a[$i][$j])
    If $j<>(UBound($A)-1) Then
    $s&=' '
    Else
    $s&=@CrLf
    EndIf
    Next
    Next
    GUICtrlSetData($efMatrix, $s)
    $i=Determinante($A)
    If $i=0 Then $i&=' EXAKT NULL'
    GUICtrlSetData($efdet, $i)
    If GuiCtrlRead($efSoll)<>'' Then GUICtrlSetData($efDiff, StringFormat('%-8.5E', GuiCtrlRead($efSoll)-GuiCtrlRead($efdet)))
    EndFunc

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

    Func Determinante($A)
    Local $LftMat[$iDim][$iDim], $RgtMat[$iDim][$iDim], $d=1.0
    Local $i, $j, $k, $n=0
    $rgtmat[$n][$n]=$d
    $lftmat[$n][$n]=$A[$n][$n]
    For $k=$n To $iDim-1
    If $lftmat[$k][$k]=0.0 Then Return 0.0
    $i=$k+1
    For $j=$n To $k
    If $i<$idim Then ;kleine Schummelei, die in FreeBasic nicht nötig ist..
    $rgtmat[$j][$i]=($a[$j][$i]-Mpy($j-1, $j, $i, $lftmat, $rgtmat))/$lftmat[$j][$j]
    $lftmat[$i][$j]=$a[$i][$j]-Mpy($j-1, $i, $j, $lftmat, $rgtmat)
    $lftmat[$i][$i]=$a[$i][$i]-Mpy($k, $i, $i, $lftmat, $rgtmat)
    $rgtmat[$i][$i]=$d
    EndIf
    Next
    Next
    For $i=$n To $iDim-1
    $d*=$lftmat[$i][$i]
    Next
    $LftMat=0
    $RgtMat=0;Hilfsmatrizen löschen
    Return $d ;Funktionsergebnis zuweisen!!!
    EndFunc

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

    Func Mpy($i, $j, $k, $LftMat, $RgtMat) ;funktioniert nur mit Determinante() ZUSAMMEN..
    Local $m, $d=0.0
    For $m=0 To $i
    $d+=$lftmat[$j][$m]*$rgtmat[$m][$k]
    Next
    Return $d
    EndFunc

    [/autoit]


    Wer den FreeBasic-Quellcode möchte: hier klicken
    Viel Spaß beim Berechnen
    Gruß
    ytwinky

  • Gauß-Legendre-Algorithmus... Problem!

    • ytwinky
    • 1. Juli 2011 um 14:00

    Hi,

    Zitat von stayawayknight

    Ich wundere mich gerade etwas - war der Gauß-Algorythmus nicht ein Algorythmus um Gleichungen in Matrizen lösen zu können?


    Der Gauss-Algorithmus ist in der Tat für Matrizen, aber Gauss war eben, wie oben schon erwähnt, sehr vielseitig.
    Wenn ich also alle Gleichungen eines Systemes untereinanderschreibe, steht dort:
    A*x=l
    (Wobei A die Koeffizientenmatrix, x der Vektor der Unberkannten und l der Lösungsvektor ist)
    Nun eine kleine Nebenrechnung:
    A^(-1)*A*x=A^(-1)*l
    (Linksmultiplikation mit der Inversen von A auf beiden Seiten ist erlaubt(wenn die Determinante<>0 ist))
    Kurze Überlegung:
    A^(-1)*A=E --> Einheitsmatrix, entspricht der 1(um es mal kurz zu formulieren)
    Also ist:
    x=A^(-1)*l
    Wir sehen also, daß das Lösen von Gleichungssystemen durchaus mit Matrizenrechnung zu tun hat bzw. damit auch gelöst werden kann
    Das Gauss'sche Verfahren ist nicht das einzige, doch für alle gilt: die Determinante der Matrix muß <>0 sein, sonst klappt's nicht, auch nicht mit dem Nachbarn^^
    Habe ich nicht mal die Determinantenberechnung von FreeBasic nach AutoIt portiert? Egal, auf http://ytwinky.freebasic-portal.de ist sie bei den QuellCodes zu finden..
    [Edit]
    Jetzt ist die Determinantenberechnung auch mit AutoIt möglich
    Siehe hier
    [/Edit]
    Gruß
    ytwinky

  • Array-Fehler, aber nicht bei der Syntaxprüfung und erst nach Beenden der While-Schleife

    • ytwinky
    • 30. Juni 2011 um 16:53

    Hi,
    auch wenn das Problem gelöst ist:
    Wenn du in AutoIt so etwas wie '$i++' suchst, kannst du eine 'ähnliche# Konstruktion benutzen:

    [autoit]

    $i+=1

    [/autoit]

    oder wieviel auch immer du addieren möchtest ;)
    Es bleibt deinem Forscherdrang überlassen, herauszufinden ob und wie es mit -*/ etc. geht ^^
    Gruß
    ytwinky

  • Autostart eines Scripts/Exe-Datei

    • ytwinky
    • 20. Juni 2011 um 21:47

    Hi,
    ich habe auf jedem meiner Sticks eine AutoRun.Inf, damit ich anhand des Icons sofort meinen Stick erkennen kann.
    (Der Kollege im Büro lästert zwar immer, weil sein Avira immer meckert, wenn ich meinen Stick anstecke, aber damit kann ich leben)
    Ich weiß nicht, was noch alles mit den AutoRun.Inf-Dateien möglich ist, doch das läßt sich ja herausfinden^^
    Hier nun eine AutoRun.Inf von meinem USB-Stick:

    Code
    [AutoRun]
    icon=CnMemory8GB\USB.Ico

    Neben der Zeile icon= sind noch mehrere möglich, u.a. command=
    Wenn du hier jetzt dein Programm einträgst, könnte es möglich sein, ähnlich wie z.B. Magazin-CDs/-DVDs, daß das Programm startet, wenn
    wie schon erwähnt nicht das Antiviren-Programm da einen Strich durch die Rechnung macht..
    Allerdings soll es auch Programme geben, die AutoRun.Inf-Dateien manipulieren, deshalb immer die Größe im Auge behalten..
    ..und auf deinem Rechner kannst du ja machen, was du willst, doch habe bitte Verständnis für Kollegen, die verständnislos kucken, wenn du ihnen sagst, daß sie doch den Virenscanner ausschalten möchten ;)
    [edit]
    Achte bei Experimenten darauf, immer einen relativen Pfad zu benutzen..
    ..schließlich hat dein Stick auf einem anderen Rechner mglw. einen anderen Laufwerksbuchstaben..
    ..in case you didn't know this already :rofl:
    Gruß
    ytwinky

  • bitte um hilfe !!!

    • ytwinky
    • 14. Juni 2011 um 20:05

    Hi,
    du hast natürlich ausgesprochen Pech, weil meine Glaskugel just in dem Moment zerbrach, als ich mich anmeldete..^^
    Funktioniert denn das Tooltip-Beispiel aus der Hilfe bei dir?
    (Damit wir wenigstens etwas Code haben, um darüber zu reden..)
    [Edit]
    der böse Hase war schneller..
    [/Edit]
    Gruß
    ytwinky

  • Vom String den Teil ohne Komma/nur die Nachkommastellen[Gelöst] Neue Frage

    • ytwinky
    • 8. Juni 2011 um 21:01

    Hi,
    da du keine konkreten Zahlen genannt hast, kann ich auch nur entsprechend antworten:
    I.A. wird der Vorkommateil durch einen '.' vom Nachkommateil getrennt.
    Die Funktion zum Finden von Teilstrings ist StringInstr($Quelle, $Suchstring) s.a. Hilfe..
    Komplizierter wird es, wenn als Dezimalzeichen das ',' verwendet wird, aber auch das stellt keine große Hürde dar. Richtig kompliziert wird es natürlich, wenn du auch noch Tausender-Trenner drin hast..
    Aber eins ist sicher, wenn du den String von rechts aus nach '.' oder ',' durchsuchst, solltest du das Ende (äh, also den Anfang) der Nachkommastellen finden ;-))
    Diese Funktion heißt in andern Programmiersprachen(z.B. FreeBasic, Pascal) Frac()
    Viel Erfolg
    Gruß
    ytwinky

  • Schleife funktioniert nicht

    • ytwinky
    • 6. Juni 2011 um 18:04

    hi,
    mist, AspirinJunkie war schneller als ich ^^

    Spoiler anzeigen
    [autoit]

    ;#include hier muß natürlich auch die einzubindende datei stehen, sonst geht's nicht
    ;siehe Hilfe..
    local $Ortschaften[10] ;Liste der Ortschaften

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

    $Ortschaften[0] = "bucuresti"
    $Ortschaften[1] = "berlin"
    $Ortschaften[2] = "berlin"
    $Ortschaften[3] = "Hamburg, Germany"
    $Ortschaften[4] = "bucuresti"
    $Ortschaften[5] = "Paris, France"
    $Ortschaften[6] = "Istanbul, Turkey"
    $Ortschaften[7] = "Madrid, Spain"
    $Ortschaften[8] = "London, United Kingdom"
    $Ortschaften[9] = "Perth, Australia"
    ;~ While True

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

    $rows = UBound($Ortschaften)

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

    MsgBox(4096,"Anzahl der Datensätze", $rows)
    For $i = 0 To $rows - 1
    MsgBox(0, "si: ", $i)
    MsgBox(0, "Folgende Ortschaft wird ausgewertet: ", $Ortschaften[$i])
    $url = "http://www.wunderground.com/cgi-bin/findweather/getForecast?query=" &$Ortschaften[$i]
    MsgBox(0, "Aktuelle url: ", $url)
    $ordnername = "\" & $Ortschaften[$i] & ".html"
    MsgBox(0, "Ordnername ", $ordnername)
    Local $Ortschaft = InetGet($url, @ScriptDir & $ordnername, 1, 1)
    Next

    [/autoit]


    ..ich hab dein Skript soweit es ging unverändert gelassen, aber so läuft es wenigstens..
    In der Hilfe-Datei kannst du dich ja mal schlau machen, warum das jetzt geht..
    s.AspirinJunkie
    Eins noch: Selbst unter FreeBasic kann man mehrere Befehle nur in eine Programmzeile schreiben, wenn die einzelnen Befehle durch ':' getrennt werden. In AutoIt geht es AFAIK nicht!
    Probier's halt
    Viel Spaß
    ytwinky

  • Frage - Antwort Script

    • ytwinky
    • 4. Juni 2011 um 20:45

    Hi White,
    du deklarierst z.B. $a[2][3]=[[1, 2, 3], [4, 5, 6]]
    und prüfst dann: If $Eingabe=$a[1] Then..
    Siehst du selbst, daß das nicht funktionieren kann?
    Ok, wenn nicht: Du mußt natürlich jedes Element der Matrix durchgehen, um herauszufinden, ob die Eingabe übereinstimmt, erst wenn alle durchgeprüft sind und keine Übereinstimmung vorhanden ist, ist die Antwort falsch..
    @Quizfrage 1: Du solltest vllt noch eine weitere Frage aufnehmen, die auch Bildzeitungsleser lösen könnten^^
    Frage: Wer wohnte damals in dem Haus, das heute zu seinen Ehren Rembrandt-Museum heißt?
    Antwort: Leonardo Da Vinci, Albrecht Dürer, Rembrandt Harmenszoon van Rijn
    Das würde aber bedeuten, daß der Benutzer die Lösung genauso eingibt, wie du sie vorgibst!
    Oder du prüfst mit StringInstr() und StringLower()|StringUpper()
    Die Funktionen werden in der Hilfe beschrieben..
    Viel Spaß beim Probieren..
    Gruß
    ytwinky

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™