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

  • einloggen auf internetseite mit einzelnen Teilseiten

    • BugFix
    • 6. September 2007 um 01:39

    Diese Teilbereiche nennt man Frames.
    Schau dir mal die Funktionen _IEFrameGetCollection() und _IEFrameGetObjByName() an.

  • gr. gem. Teiler / kl. gem. Vielfaches

    • BugFix
    • 6. September 2007 um 01:35

    Hi,
    nix großes, aber vielleicht für irgendwen nützlich.

    Ermittlung des
    Größten Gemeinsamen Teilers
    oder des
    Kleinsten Gemeinsamen Vielfachen
    nach dem Euklidschen Algorithmus. (Die Variante mit Primfaktorzerlegung, mit der wir in der Schule gequält wurden, ist wirklich spürbar langsamer).

    Edit: kleine Erweiterung zur Rückgabe beider Werte

    Spoiler anzeigen
    [autoit]


    MsgBox(0, 'ggT', _ggTkgV(256,12))
    MsgBox(0, 'kgV', _ggTkgV(256,12,1))
    MsgBox(0, 'ggT und kgV', _ggTkgV(256,12,2))

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

    ;===============================================================================
    ;
    ; Function Name: _ggTkgV(Zahl1, Zahl2 [Rückgabetyp])
    ; Description:: ermittelt aus 2 natürlichen Zahlen den größten gemeinsamen Teiler
    ; und/oder das kleinste gemeinsame Vielfache
    ; Parameter(s): $a, $b natürliche Zahlen
    ; $Ret Rückgabe ggT = 0 (Standard); kgV = 1; beides = 2 (getrennt mit '|')
    ;
    ;===============================================================================
    Func _ggTkgV($a, $b, $Ret=0)
    Local $c, $f, $m = $a, $n = $b
    $c = 1
    While $c <> 0
    $f = Int($a / $b)
    $c = $a - $b * $f
    If $c <> 0 Then
    $a = $b
    $b = $c
    EndIf
    WEnd
    Switch $Ret
    Case 0 ; ggT
    Return $b
    Case 1 ; kgV
    Return $m * $n / $b
    Case 2 ; String "ggT | kgV"
    Return $b & '|' & $m * $n / $b
    EndSwitch
    EndFunc ;==>_ggTkgV

    [/autoit]

    Dateien

    _ggTkgV.au3 895 Byte – 379 Downloads
  • jEdit für AutoIt

    • BugFix
    • 5. September 2007 um 22:33

    Mal ein kleiner Testbericht nach all den Installationsarbeiten ;)
    Also ich habe jetzt mal ein größeres Programm codiert.
    Momentan muß ich feststellen, dass sich unter jEdit (noch) nicht so schnell codieren läßt, wie unter SciTe.
    Einige Features aus SciTe vermißt man erst, wenn sie fehlen. So z.B. die automatischen Befehlsvorschläge während der Eingabe, die User-Calltipps, Korrektur des geschriebenen Befehls bei Autovervollständigung (Groß-/Kleinschreibung). Aber gerade das sind Dinge, die enorm Zeit sparen.
    Aber wenn ich sehe, in welch kurzer Zeit Stilgar jEdit AutoIt-fähig gestaltet hat, wird es nur eine Frage der Zeit sein, bis auch solche Features eingebunden sind.
    Eines aber kann auch Stilgar nicht ändern ;) - jEdit ist ein Speicherfresser. Bei meinem Notebook, dass sich seine mageren 256 MB noch mit der Grafik teilen muß, fällt das schon ins Gewicht.

    Aber der Gesamteindruck ist positiv. Ich werde auf jeden Fall weiter testen.

  • jEdit für AutoIt

    • BugFix
    • 5. September 2007 um 19:36
    Zitat

    Gibt´eigentlich die bei "SuperAbbrevs" auch die Möglichkeit wie bei "Abbrevs"
    Text vorher - nachher anzugeben, damit der Cursor dorthin springt, wo ich will? (Nen Platzhalter, oder so)

    Hab ich bis jetzt nichts gefunden. Da müssen wir auf Antwort vom 'Meister' warten. :D

  • jEdit für AutoIt

    • BugFix
    • 5. September 2007 um 18:54

    Hi,
    ich habe mal aus SciTe die Abkürzungen in das Plugin "SuperAbbrevs" eingefügt.
    Das beinhaltet alles aus der Datei "..Dokumente und Einstellungen\USER\abbrev.properties" ab Zeile 40 aber ohne Compilerdirektiven.
    Zusätzlich beinhaltet es für "die Schleife in der Schleife" For-Schleifen mit der Zählervariable '$k'.

    Zitat


    fork0=For $k = 0 To
    fork0ub=For $k = 0 To UBound() -1
    fork1=For $k = 1 To
    fork1ub=For $k = 1 To UBound() -1


    Wer also das Plugin "SuperAbbrevs" verwendet, braucht nur die angehängte Datei "AutoItScript" in den Pfad:
    "..\Dokumente und Einstellungen\USER\.jedit\SuperAbbrevs\" kopieren. (Sofern diese Datei noch nicht existiert, sonst ?? )
    Ich habe sie von "AutoItScript" zu "AutoItScript.txt" umbenannt wg. Upload. Also bitte zurückbenennen.

    Mit Kürzel+TAB wird dann z.B. aus "cmdlineselect" :

    Spoiler anzeigen
    [autoit]

    #region - CmdlineSelect
    If $CMDLINE[0] Then
    For $i = 1 To $CMDLINE[0]
    Select
    Case $CMDLINE[$i] = '/?'
    MsgBox(0x40000, @ScriptName & ' Help', _
    'Switches are:' & @CRLF _
    & @CRLF & '/extract' _
    & @CRLF & @TAB & 'Extract files to current directory' _
    & @CRLF & '/x' _
    & @CRLF & @TAB & '' _
    & @CRLF & '/x' _
    & @CRLF & @TAB & '' _
    & @CRLF & '/x' _
    & @CRLF & @TAB & '' _
    & @CRLF & '/x' _
    & @CRLF & @TAB & '')
    Exit
    Case $CMDLINE[$i] = '/extract'
    FileInstall('x', @ScriptDir & '\')
    Exit
    Case $CMDLINE[$i] = '/x'

    Case $CMDLINE[$i] = '/x'

    Case $CMDLINE[$i] = '/x'

    Case $CMDLINE[$i] = '/x'

    Case Else
    MsgBox(0x40000, 'Incorrect switch used', _
    'Command used:' & @CRLF & $CMDLINERAW & @CRLF & _
    @CRLF & 'Use /? for the switches available.')
    Exit
    EndSelect
    Next
    EndIf
    #endregion

    [/autoit]


    Um eine Abkürzung zu bearbeiten, genau wie beim Erstellen:
    - Abkürzung eingeben
    - Shift+Tab
    - Im Fenster den gewünschten Code eingeben
    - Mit "Add mode-specific" abspeichern

    Toll wäre natürlich noch, wenn wie bei SciTe, die erkannten Kürzel andersfarbig dargestellt werden während der Eingabe.
    Mal sehen, vielleicht bekommen wir das ja noch hin.
    Was mir auch noch gefallen würde, wär ein Makro zum switchen zwischen Kommentar/kein Kommentar (;~ ), wie bie SciTe mit Strg+Q bzw '-' vom Ziffernblock.
    Ich hab mal in die Makros reingeschaut, programmtechnisch ist das auch nicht viel anders als AutoIt. Da ich aber von der Syntax keinen Schimmer habe, lasse ich mal die Finger von. :D

  • Icon für InputBox möglich ?

    • BugFix
    • 5. September 2007 um 10:19
    Zitat

    Oder muss ich dann umständlich eine MessageBox programmieren für ?


    Also wenn du das Programmieren einer Mini-GUI mit einem Inputfeld, Label und Button als umständlich bezeichnest, bin ich gespannt was für dich eine einfache Programmierung ist. ;)

    Soweit ich weiß, bekommt die Inputbox das Icon, das dem Programm zugeordnet ist. Wenn du also beim Kompilieren ein anderes Icon einbindest, wird dieses angezeigt. (hoffe, ich liege damit richtig)

  • Schreibweise/Geschwindigkeit AutoIt3-SourceCode

    • BugFix
    • 5. September 2007 um 10:13

    Wenn man sich so den Code von erfahrenen Usern anschaut, erkennt man schon eine ähnliche Struktur. Das ergibt sich auch einfach aus dem Handling und häufig hat man auch Erfahrung in anderen Sprachen, die eine straffe Struktur erfordern.
    Ob nun z.B. die Options vor oder nach den Includes kommen ist dabei sicher ziemlich belanglos.
    Ich würde einen Strukturrahmen daher noch weiter fassen:
    1. alle Festlegungen (das umfasst dann Includes, Opt., Deklarationen etc.)
    2. Hauptprogramm
    3. erforderliche Funktionen

    Es macht schon Sinn, den Variablennamen einen Verweis auf den Datentyp mitzugeben. I.A. praktiziere ich dies aber nur für Arrays. Bei den anderen Variablen bevorzuge ich einen markanten Namen, der mir Auskunft über den Einsatzzweck der Variablen gibt. Da läßt sich natürlich 'i', 's' ... mit einbringen.

    Meine Programmieranfänge waren ja zu Zeiten von TP4 (TurboPascal). Hab ich heute noch, passt auf 2 Disketten.
    Da mußte man alle Variablen explizit deklarieren. Das fand ich auch sehr hilfreich. Da gewöhnt man sich von Anfang an eine strukturierte Arbeitsweise an.
    Diese Option läßt sich ja auch in AutoIt setzen [Opt("MustDeclareVars")]. Vielleicht als Tipp für Einsteiger.

  • Speicherbelegung

    • BugFix
    • 5. September 2007 um 09:22
    Zitat

    Er möchte dann z.B. festlegen können, dass meinetwegen der Prozess "explorer.exe" maximal 60 MB des Arbeitsspeichers nutzen kann.


    Ich frag mal andersrum: Welchen Sinn soll das Ganze haben?
    Meines Wissens kannst du die Speicherverwaltung von Windows nicht aushebeln. Der einzige Weg einzugreifen, ist die Zuweisung von Prioritäten.
    Aber Speicherverwaltung war schon immer (und wird wohl auch so bleiben) ein Problem, dass die Redmonder nicht vernünftig gestalten können.
    Dass man Arbeitsspeicher tatsächlich effektiv nutzen kann, kann man super bei Linux-Distris sehen.

  • jEdit für AutoIt

    • BugFix
    • 4. September 2007 um 23:41

    Vielleicht ist die Datei beim Upload kaputt gegangen.
    Ich hab sie mal auf meinen Webspace gepackt:
    Download jedit.jar

    Ich hab den Ordner Icons aus der jedit.jar hier nochmal separat hochgeladen:
    Download icons.zip

  • jEdit für AutoIt

    • BugFix
    • 4. September 2007 um 23:17

    @thunder-man:
    Habe jetzt sämtliche Icons resized und für alle Transparenz.
    Post Download

  • jEdit für AutoIt

    • BugFix
    • 4. September 2007 um 22:07
    Zitat

    Wie hast Du das gemacht? (Würde ich auch gerne selber...)


    Es gibt zwei Wege.
    1. Global-Option >> Toolbar >> Icon markieren >> Edit
    Dann kannst du andere Icons zuweisen.

    2. Du brauchst ein JAR-fähiges Packprogramm
    - jedit.jar entpacken
    - Im Pfad: "..\org\gjt\sp\jedit\icon" sind alle Icons als PNG-Files (meist) gespeichert.
    - Ersetze die gewünschten Icons. Ich empfehle GIMP zum Konvertieren.
    - wieder als "jedit.jar" komprimieren >>> ferdsch :D

  • jEdit für AutoIt

    • BugFix
    • 4. September 2007 um 21:31

    Hi,
    ich habe jetzt mal Icons in der Größe 16x16 eingebunden. Ich habe noch nicht für alles Ersatz gefunden. Vielleicht werde ich die anderen nur noch leicht einfärben.
    Die Icons sind durch das Konvertieren im Moment ohne Transparenz, ich habe auf die Schnelle nur die Hintergrundfarbe von jEdit eingefügt.
    Später werde ich das auch noch transparent gestalten.

    Um es zu testen einfach die Datei "C:\Programme\jEdit\jedit.jar" umbenennen und durch die angehängte Version ersetzen.

    Da ich die Icons nur mit 256 Farben ausgewählt habe, ist die Datei auch gleich nur noch halb so groß.

    EDIT:
    So, ich habe jetzt sämtliche Icons von 24x24 auf 16x16 konvertiert. Transparenz besteht. Nun ist deutlich mehr Platz. ;)

    Dateien

    jedit.jar 1,69 MB – 363 Downloads
  • Funktionsparameter (Const, Default) und Enum

    • BugFix
    • 4. September 2007 um 17:14

    zu 1.
    Die Frage ist, wozu soll ich Variablen als Const deklarieren? - eig. nur, wenn ich garantieren will, dass sie nicht manipuliert werden.
    Solange also meine Programmstruktur dieses sowieso ausschließt, schenke ich mir auch die Deklaration ;)

    zu 2.
    Ich denke, Default dient nur als Vereinfachung für den Funktionsaufruf.
    Man braucht nicht überlegen ob '-1' oder Leerstring sondern setzt einfach Default.

    zu 3.
    Mit Enum kann ich bisher auch nichts anfangen. Aber irgendwo wird sich bestimmt eine sinnvolle Anwendung finden lassen ??

  • jEdit für AutoIt

    • BugFix
    • 4. September 2007 um 17:02

    So, ich hab das mal getestet mit den Icons. Alle extrahiert, auf 16x16 resized und neu komprimiert.
    Klappt super. Nur die Icons sind nicht sonderlich gut zu erkennen. Ich hab 'ne rieige Sammlung, da werde ich mal was passendes zusammenstellen.

  • jEdit für AutoIt

    • BugFix
    • 4. September 2007 um 11:10

    Stilgar
    Noch eine Frage zu den Icons. Ich hab die mal extrahiert um sie größenmäßig anzupassen. 24x24 find ich arg groß.
    Aber weißt du wie die eingebunden sind? Wenn dort natürlich Platzhalter mit 24x24 sind, brauch ich die nicht verkleinern - dann deaktiviere ich die lieber.

    EDIT:
    Noch 'ne Frage - ich hoffe ich nerve nicht :D
    Wenn ich jetzt Check oder Run ausführe bekomme ich jedesmal noch ein Fenster vorher eingeblendet mit den Parametern. Kann ich das so einstellen, dass es übersprungen wird ?

  • jEdit für AutoIt

    • BugFix
    • 4. September 2007 um 09:46

    Für Stringerkennung mit (')
    ab Zeile 64 au3.xml

    Code
    <!-- 'Strings' -->
    		<SPAN TYPE="LITERAL1" DELEGATE="STRING1" NO_LINE_BREAK="TRUE">
    			<BEGIN>'</BEGIN>
    			<END>'</END>
    		</SPAN>
    		<!--<SEQ_REGEXP HASH_CHAR="'" TYPE="LITERAL1">(')((?!\1).|\1{2})*\1</SEQ_REGEXP>-->

    Noch Änderung für Objekte, ich habe da ein anderes Farbfeld verwendet:
    ab Zeile 77 au3.xml

    Code
    <!-- Objects -->
    		<SEQ_REGEXP HASH_CHAR="." TYPE="COMMENT3">\w*[\.][A-Za-z_]+</SEQ_REGEXP>


    Die Farbänderung in properties:
    view.style.comment3=color\:\#0000ff style\:ib

    Eigene Funktionen:
    Ändere ab Zeile 74 au3.xml

    Code
    <!-- Own Functions -->
    		<MARK_PREVIOUS EXCLUDE_MATCH="TRUE" TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
    		<MARK_PREVIOUS EXCLUDE_MATCH="TRUE" TYPE="FUNCTION" MATCH_TYPE="OPERATOR"> (</MARK_PREVIOUS>


    Kann man sicher auch mit RegExp machen - aber wegen einem möglichen zusätzlichen Leerzeichen schien mir dieser Weg einfacher ;)
    Für diese Eigenen Funktionen kannst du dann bei den Einstellungen FUNCTION anpassen. Bei Scite war es schwarz, ich habe jetzt oliv-bold-italic gewählt.


    Region und Funktionen werden mit meiner au3.xml wie in Scite gefärbt. Bei dir nicht ? hmm ?(

    EDIT

    Für Strings habe ich den Grauton mal etwas dunkler gesetzt (LITERAL1: RGB 125,147,147)
    Kannst ja mal probieren. Find ich optisch ansprechender.

    Wie man diesen senkrechten Strich bei Spalte 81 wegbekommt weiß ich auch nicht.
    Vielleicht kann Stilgar uns 'nen Tipp geben?

  • jEdit für AutoIt

    • BugFix
    • 4. September 2007 um 02:10

    Ich habe mal alle Farben Scite-konform gestaltet.
    Ersetze die "..\Programme\jEdit\modes\au3.xml" mit der angehängten Version und füge in deine "C:\Dokumente und Einstellungen\USER\.jedit\properties" folgende Zeilen ein:

    view.style.keyword3=color\:\#0099ff style\:ib
    view.style.keyword2=color\:\#000090 style\:ib
    view.style.keyword1=color\:\#0000ff style\:b
    view.style.operator=color\:\#ff0000 style\:b
    view.style.markup=color\:\#ff8800 style\:b
    view.style.literal4=color\:\#ff33ff style\:b
    view.style.literal3=color\:\#be140a style\:b
    view.style.literal2=color\:\#cc00cc style\:i
    view.style.literal1=color\:\#9999cc style\:b
    view.style.comment2=color\:\#009933 style\:i
    view.style.comment1=color\:\#669900 style\:i
    view.style.digit=color\:\#ac00a9 style\:b

    Edit: Du mußt evtl. bereits von dir individuell gestaltete Werte natürlich überschreiben.

    Ich habe der Datei zusätzlich die Endung .txt verpaßt, damit ich sie anhängen kann. Also umbenennen!

    Dateien

    au3.xml.txt 49,92 kB – 472 Downloads
  • jEdit für AutoIt

    • BugFix
    • 4. September 2007 um 01:06

    Mit den Hotkeys hab ich mich vllt. unklar ausgedrückt. Diese hatte ich schon gefunden. Aber das sind vordefinierte Aktionen, denen ich nur andere Shortcuts zuweisen kann.
    Ich möchte aber z.B. dem Syntaxcheck mit Prod Strg+F5 und mit Beta Strg+Alt+F5 zuweisen.
    Jetzt habe ich erst mal die Toolbar für die Consolenfunktionen aktiviert, aber das nimmt alles Platzt weg und es ist nicht alles dabei.
    Apropo Platz - lassen sich die Icons auch kleiner darstellen?

  • hyperlink

    • BugFix
    • 4. September 2007 um 00:40

    Du mußt in deinem Skript die Variablen deklarieren:

    [autoit]

    Local $hl_ctrl[1]
    Local $Links[1] = ["http://www.rsh.de"] ; Array mit der oder den URL
    Local $Link_On[1] = [" Klick mich "] ; Array mit Anzeigetext für Link

    [/autoit]


    Diese Variablennamen darfst du NICHT ändern.

    Da drunter erzeugst du deine GUI mit

    [autoit]

    $GUI = GUICreate(.....)
    ;

    [/autoit]

    Im Definitionsbereich der GUI deklarierst du den Hyperlink

    [autoit]

    $hl_ctrl[0] = _GuiCtrlHyperLinkCreate ($GUI, _
    'Willkommen, hier ist' & @LF & 'die Seite von:' & @LF & @LF &'Max Mustermann' & @LF & 'Musterstraße 1' & @LF & '12345 Musterort' & @LF & @LF & ' Klick mich ', _
    $Links[0], $Link_On[0], _
    5, 20, 300, 180,-1, -1, "Courier New", 12)

    [/autoit]

    Dann folgt

    [autoit]

    GUISetState(@SW_SHOW)

    [/autoit]


    und danach WICHTIG

    [autoit]

    GUIRegisterMsg($WM_NOTIFY, "WM_Notify_Events")

    [/autoit]


    Anschließend folgt die While-Schleife mit deinem restlichen Code.

  • jEdit für AutoIt

    • BugFix
    • 4. September 2007 um 00:24

    @thunder-man
    Hab mal die Farben, soweit es geht, an Scite angepaßt.
    Links Scite - rechts jEdit Entsprechung
    Du kannst die Farbwerte (RGB) direkt aus der Scite-Config auslesen.

    Spoiler anzeigen
    Code
    Comment line 	= COMMENT2
    Comment Block	= COMMENT1
    Number 		= DIGIT
    Function 	= KEYWORD2
    Keyword 	= KEYWORD1
    Macro 		= LITERAL3  aber wird auch für Variable verwendet, daher lieber Variablenfarbe
    String 		= LITERAL1
    Operator 	= OPERATOR  gilt für And - Or ... aber auch für + - ... und ()
    Variable 	= LITERAL3
    Sent keys 	= MARKUP
    Pre-Processor 	= 
    Special 	= 
    Abbrev-Expand 	= nicht vorhanden
    Com Objects 	= 
    Standard UDF's 	= KEYWORD3
    Alles anzeigen

    Stilgar
    Stimmt, die Datei war noch nicht gespeichert.

    MIt den Abbrevs (Strg+B) klappt jetzt - frag bloß nicht warum. Ich hab nicht mehr ganz die Übersicht, welche Optionen ich geändert habe. :rolleyes:

    Makro "Fuction Go To Definition"
    Also ich hab mal den Cursor in einen Funktionsnamen gesetzt, dann die gesamte Funktion markiert. Bei letzterem kommt der Fehler (meist), bei ersterem passiert gar nix.

    Zu den Farben: ich würde gern analog zu Scite die Boolschen Operatoren andersfarbig als die übrigen Operatoren gestalten. Es sind ja noch einige Kategorien ungenutzt - wie kann ich das zuweisen?
    Ebenso möchte ich die Makros mit eigener Farbe versehen, z.Zt. werden sie ja wie Variablen eingefärbt.

    Aber ich hab noch immer keine Option gefunden, um Hotkeys zu vergeben.

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™