Diese Teilbereiche nennt man Frames.
Schau dir mal die Funktionen _IEFrameGetCollection() und _IEFrameGetObjByName() an.
Beiträge von BugFix
-
-
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]
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, 'ggT', _ggTkgV(256,12))
MsgBox(0, 'kgV', _ggTkgV(256,12,1))
MsgBox(0, 'ggT und kgV', _ggTkgV(256,12,2));===============================================================================
[/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 -
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.
-
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.

-
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
[/autoit]
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
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" abspeichernToll 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.
-
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)
-
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 FunktionenEs 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. -
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. -
Vielleicht ist die Datei beim Upload kaputt gegangen.
Ich hab sie mal auf meinen Webspace gepackt:
Download jedit.jarIch hab den Ordner Icons aus der jedit.jar hier nochmal separat hochgeladen:
Download icons.zip -
@thunder-man:
Habe jetzt sämtliche Icons resized und für alle Transparenz.
Post Download -
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
-
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.
-
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 ?? -
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. -
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
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 ? -
Für Stringerkennung mit (')
ab Zeile 64 au3.xmlCode<!-- '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
Die Farbänderung in properties:
view.style.comment3=color\:\#0000ff style\:ibEigene Funktionen:
Ändere ab Zeile 74 au3.xmlCode<!-- 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? -
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\:bEdit: 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!
-
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? -
Du mußt in deinem Skript die Variablen deklarieren:
[autoit]Local $hl_ctrl[1]
[/autoit]
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
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, _
[/autoit]
'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)Dann folgt
[autoit]GUISetState(@SW_SHOW)
[/autoit]
[autoit]
und danach WICHTIGGUIRegisterMsg($WM_NOTIFY, "WM_Notify_Events")
[/autoit]
Anschließend folgt die While-Schleife mit deinem restlichen Code. -
@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
Alles anzeigenComment 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 = KEYWORD3Stilgar
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.

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.