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

Beiträge von Andy

  • Variable mit Bedingung kürzen

    • Andy
    • 2. Juni 2010 um 10:38

    Wobei man betonen sollte, daß das "Problem" mit einer einzigen Zeile zu erschlagen wäre....so man denn fit in regulären Ausdrücken ist....
    Einer meiner alten Profs pflegte zu sagen: "Das lernen wir dann im 12. Semester!" (Übersetzt: "Braucht kein Mensch wirklich!"));)

  • Variable mit Bedingung kürzen

    • Andy
    • 2. Juni 2010 um 09:35

    Anfängerkompatibel^^

    [autoit]

    $zahl = "000031240534453" ;dateiname ist sowieso ein string

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

    for $i=1 to stringlen($zahl) ;jede einzelne Ziffer vom Stringanfang bis zum Ende
    if stringmid($Zahl,$i,1)<>"0" then exitloop ;wenn diese Ziffer KEINE 0 ist, dann schleife beenden
    next ;so lange, bis Ende des strings erreicht

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

    $zahl_ohne_fuehrende_nullen=stringtrimleft($zahl,$i-1) ;alle führenden Nullen streichen
    $letzte_5_gestrichen= stringtrimright($zahl_ohne_fuehrende_nullen,5) ;die letzten 5 Ziffern streichen

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

    ;Cursor auf die Variable setzen und dann in ScIte Shift+Strg+d drücken zeigt eine Messagebox
    MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & '$letzte_5_gestrichen' & @lf & @lf & 'Return:' & @lf & $letzte_5_gestrichen) ;### Debug MSGBOX

    [/autoit]
  • Kabelfernsehn (HDTV) mit TV Karte empfangen?

    • Andy
    • 2. Juni 2010 um 09:17

    In der aktuellen c´t sind mehrseitige Artikel zu diesem Thema. Im Prinzip geht es zwar um dem Empfang bei den (auch ein Bericht) TV´s, aber das Grundprinzip (wer sendet was wie verschlüsselt und welche Gräte brauche ich) bleibt gleich. Es werden auch die "inoffiziellen" Möglichkeiten beschrieben. Bei Kabel Deutschland steht in der Liste ein PC mit DVB-C-Karte:
    - incl. CI, Alphacrypt light (für K09/D09 Karten nur mit Firmware 1.16 nutzbar) und SKY-Karte als Empfangsweg für SKY
    - Private speisen kein HD ins Kabel, daher entfällt das komplett
    - für ÖR eine DVB-C-Karte mit TV-Anwendung mit H.264-Dekodierung, wird unverschlüsselt übertragen, da reicht eine "alte" DVB-C karte, lediglich die TV-Anwendung MUSS H.264 dekodieren können.

  • Wie seid ihr auf autoit gestoßen?

    • Andy
    • 1. Juni 2010 um 12:35

    Irgendwann in grauer Vorzeit, muss so 1985 gewesen sein als ich mein Abi machte, habe ich in Basic auf einem Taschenrechner PC-1401 programmiert. Da dieses Ding auch in Maschinencode programmierbar war, habe ich auf späteren Rechnern immer die Kombination Basic/Maschinensprache/Assembler verwendet. Aus GW-Basic wurde Turbobasic, mehrere Anläufe um VisualBasic zu lernen sind gescheitert. Sämtliche Ingenieursmäßigen Berechnungen waren simpelst in Basic machbar, brauchte man etwas SEHR schnelles, dann Assembler. Dann gabs ca. 20 Jahre andere Prioritäten und als ich als Abonnent der c´t irgendwann auf einer der Heft-CD´s sah, was man mit AutoIt machen konnte, hats mich wieder gepackt. Irgendetwas Basicähnliches sollte es sein, simpel, einfach und mit einer TOP-Community. Da bleibt nicht viel auf dem Markt....außer dieses Forum hier! ;)

  • Gibt es ein Tutorial zu mehrdimensionalen Arrays?

    • Andy
    • 1. Juni 2010 um 12:11

    Die Frage ist, warum es unbedingt mehrdimensionale Arrays sein müssen.
    In den allermeisten Fällen kommt man besser ohne klar. Von der Lesbarkeit des Codes mal ganz zu schweigen. Such mal Fehler in einem Script, welches 5-dimensionale Arrays verwendet.
    Daher wird es auch kein TuT geben, einfach weil es unnötig ist. Wer kapiert hat, was ein 2-dimensionales Array ist und wie man es benutzt, der hat auch mit n-dimensionalen Arrays keine Probleme.

    Vielleicht wäre es sinnvoll, dein Problem zu nennnen und so auf den Erfahrungsschatz der User hier zurückzugreifen anstatt nach einem Tut zu einem Thema zu fragen, mit dem man sich in den allermeisten Fällen sowieso nur Ärger ins Script holt.

  • Frage zu ListView ?

    • Andy
    • 31. Mai 2010 um 23:13

    [ offen ] ListView: fixe Spaltenbreite
    [ offen ] Fragen zu GUICtrlListView

    Dort gibts mehrere Lösungsmöglichkeiten

  • Problem mit meinem Verschlüsselungs programm

    • Andy
    • 30. Mai 2010 um 20:55
    Zitat

    aber was passiert wenn der RAM voll ist?

    entweder bekommst du von AutoIt eine dementsprechende Fehlermeldung und das Programm endet dann, oder du reservierst das RAM dynamisch. Beim Überschreiten einer bestimmten, vorher festgelegten Speichergrenze wird der Rest auf freien Festplattenplatz ausgelagert. Das sog. "swappen" merkst du dann am Gerödel der Festplatte. Da die Geschwindigkeit der Platte im Vergleich zum RAM extremst langsam ist, dauert das Gerödel dann auch länger an^^. Im Prinzip ist es kein Problem, eine z.B. 3 Gigabyte große Datei mit 640k Ram zu bearbeiten, du musst dann halt nur "Häppchen" von 200k Größe bearbeiten (entschlüsseln) und diese "Häppchen" dann als entschlüsselte Datei wieder hintereinanderschreiben.

  • Problem mit meinem Verschlüsselungs programm

    • Andy
    • 30. Mai 2010 um 20:37
    Zitat

    dann verdoppelt sich die größe .. (also das verzeichnis was ich hab hat zb 100mb dann hat mein output auf einmal 200mb)

    fleissig Funktionen verwenden und nicht mal die Beispiele in der Hilfe anschauen^^...ich verweise mal auf

    [autoit]

    _Crypt_EncryptData()

    [/autoit]

    jedes Zeichen im binärfile wird in eine hex-Darstellung gebracht, dann wird das Ergebnis logischerweise doppelt so groß.

    Zitat

    diese überprüft den container ob es sich hierbei um eine datei handelt die auch mit meinem programm erstellt worden ist


    Da du ja deine Datei konstruieren kannst wie du lustig bist, könntest du als "Header" die 5 Buchstaben "EbRSV" für "EncryptedByReakersSoftwareViva" davorsetzen. Genauso wie MZ bei Exefiles und BM bei Bitmapsdateien als erste Buchstaben stehen....dann musst du zum Prüfen nur die ersten 5 Byte checken

  • DLLs sind kompliziert...

    • Andy
    • 27. Mai 2010 um 20:27
    [autoit]

    #include <Array.au3>
    #include <Constants.au3>
    #include <GDIConstants.au3>

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

    HotKeySet("{ESC}","End")

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

    While Sleep(100)
    $Struct = DllStructCreate("long;long")
    DllStructSetData($Struct, 1, MouseGetPos(0))
    DllStructSetData($Struct, 2, MouseGetPos(1))
    $StructData = DllStructGetData(DllStructCreate("uint64", DllStructGetPtr($Struct)), 1)

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

    $hScreen = DllCall("User32.dll", "handle", "MonitorFromPoint", "uint64", $StructData, "dword", 0)
    ; $hscreen = DllCall("User32.dll", "handle", "MonitorFromPoint", "long", MouseGetPos(0), "long", MouseGetPos(1), "dword", 0)
    ;_arraydisplay($hscreen)
    $tagmonitorinfo=dllstructcreate("dword cbSize;long[4];long[4];dword dwFlags")
    DllStructSetData($tagmonitorinfo,1,DllStructGetSize($tagMonitorinfo))
    $test = DllCall("User32.dll", "boolean", "GetMonitorInfo", "hwnd", $hScreen[0],"ptr",DllStructGetPtr($tagMonitorinfo))
    ;_arraydisplay($test)
    ;~ consolewrite(DllStructGetData($tagMonitorinfo,1,1)&@crlf) ;cbSitze
    ;~ for $i=1 to 4 ;rcMonitor
    ;~ consolewrite(DllStructGetData($tagMonitorinfo,2,$i)&@crlf)
    ;~ next
    ;~ for $i=1 to 4 ;rcWork
    ;~ consolewrite(DllStructGetData($tagMonitorinfo,3,$i)&@crlf)
    ;~ next
    ;~ consolewrite(DllStructGetData($tagMonitorinfo,4,1)&@crlf) ;dwFlags sollte die nummer des zzt aktiven monitors sein

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

    ToolTip($hScreen[0]&" "&DllStructGetData($tagMonitorinfo,4,1))
    WEnd

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

    Func End()
    Exit
    EndFunc ;==>End

    [/autoit]

    /edit/ dwflags sind die Attribute des zzt aktiven Monitors, s. meinen Link einen Post drüber

  • DLLs sind kompliziert...

    • Andy
    • 27. Mai 2010 um 20:09

    schau mal hier....
    http://www.autoitscript.com/forum/index.php?showtopic=39809&view=findpost&p=296523

  • Probleme mit Opera 10.51

    • Andy
    • 27. Mai 2010 um 14:03

    Hi,
    Antworten erstellen funktioniert bei mir, aber im Editor fehlt die Leiste mit den Buttons der Schriftattribute, Tags, Links usw. Ist das bei euch auch so?

  • Array filtern

    • Andy
    • 27. Mai 2010 um 07:52

    Hallo,
    zum Thema Regexp und Anfänger:
    Ja, man sollte die Mächtigkeit von Regexp erwähnen, aber gerade ein Anfänger hat m.E. schon genug andere Probleme :), da sollte man ihn nicht noch damit "erschlagen". Einfachste Stringbefehle erfüllen meistens die Aufgabe genauso, und haben den Vorteil, auch später noch "lesbar" und auch nachvollziehbar zu sein.

    Zitat

    Bitte nicht nur den Code, für eine Erklärung zum nachvollziehen wäre ich sehr dankbar.

    wzbw, ein Tutorial zum Thema gibts hier https://autoit.de/index.php?page…9356#post149356

    @topic

    Zitat

    Ich erstelle ein Array aus einer Exceltabelle

    das einfachste wäre, direkt hier anzusetzen. Und zwar nicht die gesamte Tabelle einzulesen, sondern nur die Spalte mit "Name, Vorname". Denn ich wäre sehr gespannt auf den Regex, der folgende Namen richtig filtert:[spoiler]

    [autoit]

    $aArray[0] = 'chef'
    $aArray[1] = 'Nachname, Vorname'
    $aArray[2] = 0098300
    $aArray[3] = 'test'
    $aArray[4] = 'Mueller, Manfred'
    $aArray[5] = '23000'
    $aArray[6] = 'Abteilung Finanz, Personal'
    $aArray[7] = 'Abteilung Produktion, Kontrolle'
    $aArray[8] = ''
    $aArray[9] = 'Meyer, Klaus Dieter'
    $aArray[10] = 'Müller-Lüdenscheid,Klaus Dieter' ;kein leerzeichen nach dem Komma
    $aArray[11] = 'Dr. Klöbner, Hans Herman'
    $aArray[12] = 'Abtielung Produktion, Kontrolle' ;Buchstabendreher

    [/autoit]

    [spoiler]

  • Happy Birthday anno2008 und SEuBo

    • Andy
    • 26. Mai 2010 um 12:32

    Glücklichen Herzwunsch natürlich auch von mir!

  • OCR Fragen

    • Andy
    • 25. Mai 2010 um 15:26

    @lukiono,
    wie wärs denn mal mit einer genauen Beschreibung deiner Aufgabe incl. Umgebungsbedingungen? Ich kann mir nicht vorstellen, daß deine Chefin in dein Buro kommt, "Ich hätte gerne OCR!" sagt, und dann wieder verschwindet....

    Auch Scanner kann man per AutoIt ansteuern, bzw die gemachten Scans bearbeiten. Möglich ist vieles. Mit AutoIt machbar ist auch vieles. Und es ist nicht gesagt, "Dass es lange gehen würde"?

  • GDI+ Partikelexplosion (noch eine ;-) )

    • Andy
    • 25. Mai 2010 um 08:43

    Hi,
    die Zeilen mit den "Zufallszahlen" kann man folgendermassen zusammenfassen:

    [autoit]

    ;~ $Random = Random(1, 2, 1)
    ;~ If $Random = 1 Then
    ;~ $ParticlesWay[$i][1] = -Random(1, 100, 1) / 50
    ;~ Else
    ;~ $ParticlesWay[$i][1] = Random(1, 100, 1) / 50
    ;~ EndIf
    $ParticlesWay[$i][1] = (1-2*Random(0, 1, 1))*Random(1, 100, 1) / 50 ;erste Klammer erzeugt +1 oder -1

    [/autoit]
    Zitat

    also die erste explosion kommt und nach na halben sekunde explodieren die und daraus kommen dan noch mehr partikel

    dann noch Schwerkraft dazu und statt rechteckiger Begrenzung einen Kreis und das Feuerwerk wäre halb geschafft^^

  • Soundaufnahme

    • Andy
    • 24. Mai 2010 um 13:51

    Ich vermute du meinst den "Stereomix"
    Bei Lautstärke, Optionen, Eigenschaften im Mixer dein INPUT anwählen, dort "Stereomix" anhaken und bei den erweiterten Eigenschaften den "Ton aus"-Haken beim Stereomix entfernen.
    Das führt dazu, daß z.B. die abgespielte Musik in das Signal des Mikrofons gemixt wird. Dein Gegenüber hört nun deine Stimme und gleichzeitig die Musik. Allerdings ist die Übertragungsqualität (je nach Codec) vom "Telefon" doch sehr bescheiden, aber um jemanden während des Telefonats eine Sounddatei vorzuspielen ist das OK.

  • Wie sieht euer Desktop aus?

    • Andy
    • 24. Mai 2010 um 11:53
    Zitat von Jonathan

    Was geht in deinem Leben? das haste doch 100%ig alles Extra auf dienen Desktop verschoben

    ...hehe, mein(e) Desktop(s) sehen genauso "chaotisch" aus, das ist aber nur auf den ersten Blick so, da ich die ca 20-30 Programme bzw Dateien, die ich so gut wie jeden Tag verwende, natürlich auf den Desktop lege. Genau DAZU ist der Desktop nämlich da, um schnellst möglich mit einem Tastendruck bzw mit einem Mausklick auf Daten zugreifen zu können. Wenn ich mir schöne Bilder (ohne Icons^^) angucken möchte, dann häng ich mir ein Poster auf oder starte ne Diashow......aber so setzt jeder andere Prioritäten :thumbup:
    Was mir aber sofort auffällt, man erkennt eigentlich am Desktop schon auf Anhieb, wer seinen Rechner zum "ernsthaften" Arbeiten benutzt, gehts euch auch so?

  • Eat'n Sleep

    • Andy
    • 21. Mai 2010 um 11:44

    es wäre wesentlich schwerer, wenn nicht
    Gast1
    Gast2
    Gast3
    direkt untereinander stehen würden, sondern diese Reihenfolge zufällig wäre!
    Ansonsten muss man sich nur die 3 Bestellungen anschauen um diese den Gästen zuzuordnen

  • Defense

    • Andy
    • 21. Mai 2010 um 10:02

    Seeehr cremig! :rock:
    Habe als alter Towerdefenser folgende Zeile geändert, um den Schwierigkeitsgrad etwas hochzusetzen

    [autoit]

    Global $turmnorm[3][3]=[[2,3,800],[4,2,500],[5,1,200]] ;range,power,load

    [/autoit]
  • Injected DLL / infizierte exe erkennen

    • Andy
    • 21. Mai 2010 um 08:50

    Wieso gerade dll-injektion? Es gibt haufenweise Möglichkeiten, eine ausführbare Datei abzuändern. In jedem Fall wird dazu entweder die ausführbare Datei gepatcht, oder nachträglich (im laufenden Programm), im Speicher eine oder mehrere Sprungadressen "umgebogen". Auf was bzw wohin die Sprungadressen zeigen, ist schnurz. Also müsste man "nur" Prüfsummen ermitteln, die den Dateiinhalt bzw den Speicherinhalt testen und gut wärs, sämtliche Virenscanner auf dem Markt wären obsolet (stellt euch vor, ein Milliardenmarkt wäre plötzlich völlig überflüssig!).....WENN nicht M$ in seiner grandiosen Architektur eines Betriebssystems erlauben würde, auch SYSTEMDATEIEN beliebig abzuändern. Und genau darin liegt das Problem.

    Die eigentliche Datei kann absolut und völlig "sauber" sein, aber nahezu jedes Programm greift auf Funktionen des Windows-API zu, die wiederum irgendwo in irgendeiner Datei (z.B. DLL) tief vergraben in irgendeinem Systemordner liegen. Und da diese Dateien (habe ich schon die grandiose Architektur dieses Betriebssystems erwähnt?) auf einfachstem Wege änderbar/austauschbar sind, ist jede Diskussion bezüglich "Sicherheit" auf aktuellen Computern hinfällig.....

    Wer sich für diese Materie im Zusammenhang mit AutoIt interessiert, dem empfehle ich eine Suche nach "Subrogation" im engl. Forum.

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™