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

Beiträge von Alina

  • Achterrandom = 50

    • Alina
    • 14. Januar 2015 um 15:00

    Ganzzahlen : wichtig

    Oscar : hier bekomme ich keine Ausgabe, wenn ich es auf acht Zahlen setze. Das Script läuft und läuft und ohne Ende!?
    Möglichkeit wäre die vier Waagerechten Zahlen beim ersten mal aufzuschreiben (zu nutzen) und dann nochmals durchlaufen lassen und aufzuschreiben (zu nutzen). Man kommt zumindest schon mal auf diesen Weg der Sache dichter.
    Doppelter Durchlauf mit halben Summer-Wert dann so:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    $iSum = 25
    Global $aNumbers[$iSum], $aTemp, $aRandom[5], $iRandom, $iTotal = 0, $iCount = 0
    For $i = 0 To $iSum - 1
    $aNumbers[$i] = $i + 1
    Next
    Global $iTimer = TimerInit()
    Do
    $iTotal = 0
    $aTemp = $aNumbers
    For $i = 0 To 4
    $iRandom = Random(0, UBound($aTemp) - 1 - $i, 1)
    $aRandom[$i] = $aTemp[$iRandom]
    $iTotal += $aTemp[$iRandom]
    $aTemp[$iRandom] = $aTemp[UBound($aTemp) - 1 - $i]
    Next
    $iCount += 1
    Until $iTotal = $iSum
    ConsoleWrite(StringFormat('Summe: %i, Benötigte Durchgänge: %i, benötigte Zeit: %i ms\n', $iSum, $iCount, TimerDiff($iTimer)))
    _ArrayDisplay($aRandom)

    [/autoit]

    Micha_he: hier bekomme ich am Ende eine Summe von über 50 raus.

  • Achterrandom = 50

    • Alina
    • 14. Januar 2015 um 13:10

    Moin Moin.

    Mit

    Spoiler anzeigen
    [autoit]


    MsgBox(0, "Eine Zufallszahl", "Zufallszahl" & Random(1, 50, 1))

    [/autoit]


    erzeuge ich ja eine zufällige Zahl zwischen 1 und 50.
    Aber nun benötige ich acht zufällige Zahlen deren Summer immer zusammen 50 ergeben.

    Hat das bereits mal jemand gescriptet oder weiß wie ich das anstellen kann?

    Gedacht habe ich, das es so gehen könnte, aber da habe ich wohl einen Gedankenfehler.
    Habe Gedacht das die erste Zahl eine zwischen 1 und 50 ist, die zweite eine zwischen 1 und der ersten Zufallszahl, die dritte eine zwischen 1 und der zweiten Zufallszahl, usw. Aber das geht irgendwie berechtigterweise nicht, das ich nicht weiß, wie ich a) abfange das nicht gleich am Anfang die Zufallszahl zu klein ist. Aber es soll auch nicht die Zahlen eine bestimmte Reihenfolge haben, also z. B. aufsteigend bzw. absteigend, sondern so wie sie dahin (daher?) kommen.
    Hier mal das gescriptete meiner Gedanken:

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    $var0 = 50

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

    $var1 = Random(1, $var0,1)
    $var2 = Random(1, 50-$var1,1)
    $var3 = Random(1, 50-$var2,1)
    $var4 = Random(1, 50-$var3,1)
    $var5 = Random(1, 50-$var4,1)
    $var6 = Random(1, 50-$var5,1)
    $var7 = Random(1, 50-$var6,1)
    $var8 = 50-$var7

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

    MsgBox(0, "Acht Zufallszahlen", "die acht Zufallszahlen sind: " & $var1 & "-" & $var2 & "-" & $var3& "-" & $var4 & "-" & $var5 & "-" & $var6 & "-" & $var7 & "-" & $var8)

    [/autoit]
  • ist 8 = 9 ?

    • Alina
    • 13. Januar 2015 um 05:16

    Jetzt ist Raupi dazu gekommen und es stimmt wieder.
    Also das ist doch komisch. X(

  • ist 8 = 9 ?

    • Alina
    • 13. Januar 2015 um 05:13

    ich frage mich, wieso gesagt wird es waren neun User heute online,
    wenn es doch nur acht User waren. Oder wo ist der Fisch begraben?

  • prüfen ob bestimmte Excel Datei geöffnet ist - wenn ja dann Save and Close / wenn nein im Script weiter

    • Alina
    • 13. Januar 2015 um 00:18

    @ugt100
    Ging mir genauso.
    Wenn man erst einmal die richtige Hilfe bekommen hat am eigenem Problem, versteht man wie es funktioniert.

  • prüfen ob bestimmte Excel Datei geöffnet ist - wenn ja dann Save and Close / wenn nein im Script weiter

    • Alina
    • 12. Januar 2015 um 12:26

    Hallo ugt100

    Ich hatte auch ein Excel-Problem und mir wurde gut hier geholfen.
    Der User "water" hat mir noch diesen Link gegeben, der evtl. auch für Dich wichtig sein könnte.

    Evtl. ist Dir ja nun etwas mehr geholfen.

  • Taskleiste immer im Vordergund

    • Alina
    • 10. Januar 2015 um 03:07

    Evtl. hilft Dir dieses weiter?

    Spoiler anzeigen
    [autoit]


    #include <WindowsConstants.au3>
    ;$GUI = GuiCreate("", @DesktopWidth,@DesktopHeight, 0, 0, $WS_SYSMENU) ; Vollbild ohne Task
    $GUI = GuiCreate("", @DesktopWidth,@DesktopHeight, 1, 0, $WS_SYSMENU) ; Vollbild mit Task
    GUISetState(@SW_SHOW)
    Do
    Until GUIGetMsg() = -3

    [/autoit]
  • Scanner ansprechen

    • Alina
    • 9. Januar 2015 um 03:27

    der da ist???

  • Scanner ansprechen

    • Alina
    • 8. Januar 2015 um 13:43

    Bitte nenne man den Scanner mit genauer Typerbezeichnung.

  • Kontaktlinsen ade :(

    • Alina
    • 6. Januar 2015 um 13:26

    @ProgrammingDonkey
    Da wirst Du bei mir noch ein wenig warten müssen oder wo fängt bei Dir "älteren Dame"?

  • Berechnung von Verkaufsgebühren

    • Alina
    • 6. Januar 2015 um 13:24

    BugFix . Das ist eine gute Argumentation und ich verwende dann auch mehr [Round] ab jetzt. ;)
    DANKE

  • If-Abfrage

    • Alina
    • 6. Januar 2015 um 13:22
    Zitat von rexderruede

    Vielen lieben Dank euch beiden :)

    Gerne doch. Dafür sind wir doch ein Team-Forum. ;)

  • Berechnung von Verkaufsgebühren

    • Alina
    • 5. Januar 2015 um 18:19

    @BugFix Ist habe einfach nicht an [Round] gedacht.

    Aber wo ist es eine Verrenkung?
    ob nun

    Spoiler anzeigen
    [autoit]

    StringFormat(" %.0f", $ver2)

    [/autoit]


    oder

    Spoiler anzeigen
    [autoit]

    Round($ver2, 0)

    [/autoit]

    ?
    Ergebisstechnisch irgendwo ein Unterschied??? Kläre mich mal bitte auf!
    Oder meinst Du die Berechnung von $ver2?
    ?(

  • Kontaktlinsen ade :(

    • Alina
    • 4. Januar 2015 um 18:50

    Ein deutscher Freund würde nun zu mir sagen: "Du hast es veraltzheimert".
    Das bekomme ich von ihn immer gesagt bzw. geschrieben, wenn ich an etwas nicht gedacht habe.
    Ich sage/schreibe dann ja nicht zu ihm: Sorry, wollte nicht dran denken. ;)

  • Kontaktlinsen ade :(

    • Alina
    • 4. Januar 2015 um 14:25

    Drogentest in der Schule wegen Kontalklinsen? LOL
    Du weißt aber schon, das diese auch nachts rausgenommen
    werden sollen. Oder sind Deine Träume sonst nicht "scharf"
    genug?

  • If-Abfrage

    • Alina
    • 4. Januar 2015 um 14:11

    Du schreibst: "If _IsPressed("42") Then ; wenn F gedrückt", aber die "42" ist das "B". ;)

    So etwas in der Form?

    Spoiler anzeigen
    [autoit]


    #include <Timers.au3>
    #include <Misc.au3>

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

    Local $starttime = _Timer_Init()

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

    While (1)
    ; ist die Zeitdiff größer 2 Sekunden und wurde weder A noch F gedrückt dann ...
    If _Timer_Diff($starttime) > "2000" AND Not _IsPressed("41") AND Not _IsPressed("46") Then
    $starttime = _Timer_Init() ; Timer zurück stellen
    MsgBox(0,"Hinweis","Es wurde zwei Sekunden weder A noch F gedrückt.",1)
    Endif

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

    ; wurde A gedrückt dann ...
    If _IsPressed("41") Then ;wenn A gedrückt, dann
    $starttime = _Timer_Init() ; Timer zurück stellen
    MsgBox(0,"Hinweis auf gedrücktest A", "A wurde gedrückt.",1)
    Endif

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

    ; wurde F gedrückt dann ...
    If _IsPressed("46") Then ; wenn F gedrückt

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

    $starttime = _Timer_Init() ; Timer zurück stellen
    MsgBox(0,"Hinweis auf gedrücktest F", "F wurde gedrückt.",1)
    EndIf

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

    WEnd

    [/autoit]

    Bitte beachte auch den Beitrag von "misterspeed".

  • Berechnung von Verkaufsgebühren

    • Alina
    • 4. Januar 2015 um 13:16

    Moin, Bit-Service.

    Du hast Dein Anliegen sehr gut formuliert, das mal am Anfang.

    Aber es ist nirgendwo ein Punkt, wo man nur ansatzweise anfangen könnte zu helfen.
    Bei 50K Datensätze solltest Du dann doch schon paar Datensätze zur Verfügung stellen.
    Sowie ich es derzeitig richtig deute, hast Du es in Excel bereits probiert und es
    wäre dann gut, wenn DU die Excel-Datei mal mit Testdaten posten würdest. Dann kann
    man anfangen die Formeln in AutoIt zu scripten. Hier sehe ich das kleinere Problem.
    Preisrundung auf KEINE Nachkommastelle geht u. a. mit "StringFormat".

    Hier mal eine kleine Funktion, aus der man einiges entnehmen könnte.

    Spoiler anzeigen
    [autoit]


    Func anzeige()
    ; Preise aller $array[6] berechnen (sog. Gesamtpreis)
    $sData = FileRead(@ScriptDir & '\test_dat.txt') ; welche Datei
    $array_preis = StringSplit($sData, "|", 1) ; Datei splitten
    $ver1 = 0 ;
    $i1 = 6 ; gebinnen mit $array[6] ; Spalte die zur Berechnung steht
    Do
    $ver1 += $array_preis[$i1] ; Zusammenrechnung beginnt
    $i1 += 16 ; immer jeden 16 dazu addieren
    Until ($i1 >= UBound($array_preis))

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

    ; 2. Berechnung !!! Erklärung wie oben
    ; Stand aller $array[9] berechnen (sog. Ges.-Menge)
    $sData2 = FileRead(@ScriptDir & '\test_dat.txt')
    $array_Stand = StringSplit($sData2, "|", 1)
    $ver2 = 0
    $i2 = 9

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

    Do
    $ver2 += $array_Stand[$i2]
    $i2 += 16 ; immer jeden 16 dazu addieren
    Until ($i2 >= UBound($array_Stand))

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


    GUICtrlCreateLabel("Ges. aus $array[6][x]", 985, 650, 100, 15)
    GUICtrlSetBkColor(-1, 0xff0000) ; Rot ; Schriftfarbe ändern für gerade erstelltest Label
    GUICtrlCreateLabel(StringFormat(" %.2f", $ver1), 1085, 650, 140, 15, $SS_Right) ; runden auf zwei Stellen nach dem Komma
    GUICtrlSetBkColor(-1, 0xff0000) ; Rot ; Schriftfarbe ändern für gerade erstelltest Label

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

    GUICtrlCreateLabel("Ges.-Menge aller Artikel aus $array[9][x]", 985, 665, 100, 15)
    GUICtrlSetBkColor(-1, 0x00ff00) ; Grün
    GUICtrlCreateLabel(StringFormat(" %.0f", $ver2), 1085, 665, 140, 15, $SS_Right) ; runden auf keine Stelle nach dem Komma
    GUICtrlSetBkColor(-1, 0x00ff00) ; Grün
    EndFunc ;==>anzeige

    [/autoit]

    Wenn Du Deine Daten in ein Listview bekommen kannst, kann man die Spalten berechnen wie bei Excel die Summenfunktion.
    Summer aller Preise in Spalte A
    Anzahl der Artikel
    usw.

    Nur man muss irgendwo anfangen und das ist derzeitig nicht leicht, da Deine Informationen einfach zu wenige sind.

  • Kontaktlinsen ade :(

    • Alina
    • 3. Januar 2015 um 12:13

    Brille habe ich damals oft vergessen, deshalb habe ich damals auf Kontaktlinsen umgestellt.

  • Mit Autoit 2 Aktive Sitzungen starten

    • Alina
    • 2. Januar 2015 um 13:03

    Um den Browser InPrivate zu starten hängt man "-private" (nicht "-inprivate"!) an den Browser-Pfad. Also unter Start / Ausführen z.B. iexplore.exe -private.
    Entsprechend kann man auch eine Verknüpfung auf dem Desktop mit folgendem Ziel "C:\Program Files\Internet Explorer\iexplore.exe" -private
    anlegen. Auf einem 64bit-System: "C:\Program Files (x86)\Internet Explorer\iexplore.exe" -private Pfade sind gegebenfalls zu modifizieren.

  • Kontaktlinsen ade :(

    • Alina
    • 2. Januar 2015 um 12:45

    Mist :cursing: Kontaktlinsen ade.
    Werte haben sich verschlächtert und ich soll keine Kontaktlinsen mehr tragen.
    Geht ja mal gar nicht !!! :cursing:

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™