Oder die _FF Funktionen - oder vielleicht reicht ja ein _INetGetSource ...
Welche Seite hast du dir denn als "Datenquelle" ausgesucht?
Oder die _FF Funktionen - oder vielleicht reicht ja ein _INetGetSource ...
Welche Seite hast du dir denn als "Datenquelle" ausgesucht?
Hier mal ein Beispiel mit RegEx (gefühlte 3 Sekunden auf ca.600.000 Wörter):
#region Includes
#include <Array.au3>
#endregion Includes
$sWort = "n_m__"
[/autoit] [autoit][/autoit] [autoit]$sRegEx = "[\s]" & StringReplace($sWort,"_","[\w]" ) & "[\s]"
[/autoit] [autoit][/autoit] [autoit]$hFile = FileOpen(@scriptdir & "\de-DE.dic",0 )
$sDictionary = FileRead( $hFile )
$aWoerter = StringRegExp($sDictionary, $sRegEx,3)
_ArrayDisplay($aWoerter)
[/autoit]
dafür muß aber das gesamte Wörterbuch in Kleinbuchstaben umgewandelt werden.
Zu deiner Frage:
Das geht am einfachsten wenn du Arrays benutzt.
Also erst den GUICtrls ein Array zuweisen:
$aControl[0] = GUICtrlCreateInput
$aControl[1] = GUICtrlCreate...
Dann kannst du das schön in eine Schleife einbauen:
[autoit]For $i = 0 To $Buchstaben
$ZeichenIn[$i] = GUICtrlRead($aControl[$i])
Next
Hier habe ich es mal (temporär) abgelegt:
http://stilgar.bplaced.com/downloads/
Für StringRegExp:
Wenn du z.B ein Wort suchst das folgendermassen aussieht:
N _ m _ _
dann ist die zugehörige RegEx:
^N[\w]m[\w]{2}$
^ = Zeilenanfang
$ = Zeilenende
\w = Wortzeichen
{n} wie oft kommt der vorherige Ausdruck vor.
[Edit]
habe es nochmal ohne die Endungen hochgeladen.
Einfach bei den FireFox AddOns das deutsche Wörterbuch herunterladen (die XPI speichern) und entpacken (das ist nur eine ZIP-Datei). In dieser befindet sich im Verzeichnis Dictionarys das deutsche Wörterbuch.
Einfach der Übersicht willen. Vereinfachen läßt sich schließlich fast alles
[autoit]#Include <File.au3>
_ReplaceStringInFile(@ScriptDir & '\ip.txt',@TAB, ':')
Grüße
Stilgar
Nette Idee.
Als Wörterbuch kannst du ja das deutsche Wörterbuch von FF nehmen, da stehen schon fast 600.000 Begriffe drin.
Dann kommt es auf den Quelltext und deinen bevorzugten Browser an.
Entweder du ließt die Daten über einen Browser aus oder holst dir die komplette Seite und zerlegst diese per AutoIt.
Das geht schon.
Nur um die Informationen gezielt auszulesen solltest du dich auf eine "Rezept-Seite" (oder einige wenige) beschränken, da die Informationen für Zutaten usw. überall anderst aufbereitet sind.
Dann eben mit:
[autoit]$aMeinarray[$nLfd] = StringReplace($aMeinarray[$nLfd],@tab,":")
[/autoit]Optimierte Version:
#region Includes
#include <File.au3>
#endregion Includes
Local $sFilename ='c:\\1.txt';1.txt war meine testfile kannste natürlich anpassen
Local $aMeinarray ;die txt wird hier rein gelesen
Local $nLfd
_FileReadToArray($sFilename,$aMeinarray)
For $nLfd = 1 To $aMeinarray[0]
$aMeinarray[$nLfd] = StringReplace($aMeinarray[$nLfd],' ',':')
Next
_FileWriteFromArray($sFilename,$aMeinArray,1)
Nur noch den Dateinamen im Programm ändern.
Was warum? Das einzige fachhochdeutsch war StringRexExpReplace
#region Includes
#include <File.au3>
#endregion Includes
Local $sFilename ='c:\\1.txt';1.txt war meine testfile kannste natürlich anpassen
Local $aMeinarray ;die txt wird hier rein gelesen
Local $nLfd
_FileReadToArray($sFilename,$aMeinarray)
$hFile = FileOpen($sFilename,2)
For $nLfd = 1 To $aMeinarray[0]
FileWrite($hFile, StringReplace($aMeinarray[$nLfd],' ',':') & @CRLF ); hier schreiben wir den Neuen Inhalt in die Datei
Next
FileClose($hFile)
Falls da allerdings evtl. mehrere Leerzeichen vorkommen könnten sollte noch das StringStripWS von oben mit rein.
Grüße
Stilgar
Ja schon klar.
Nur StringRegExpReplace ist bei einem einzigen Zeichen, der Übersicht Willen und aus Performance Gründen - ähm suboptimal.
Ein Update für das Consolen-Commando des Obfuscators:
http://thorsten-willert.de/Themen/jEdit/j…_Obfuscator.xml
das Abwählen verschiedener Optionen hatte vorher keine Wirkung.
[Blockierte Grafik: http://thorsten-willert.de/Themen/jEdit/jEdit4AutoIt/bilder/Au3_obfuscator.png]
Grüße
Stilgar
Meinst du die Leerzeilen oder Zeichen?
Bei den Leerzeichen ist am einfachsten mit StringReplace z.B.:
[autoit]$sIP = "128.193.33.8 3128"
MsgBox(64,"",StringReplace(StringStripWS($sIP,4)," ",":") )
Das StringStripWS entfernt die evtl doppelten Leerzeichen.
Grüße
Stilgar
Klasse Uhr!
Ich habe auch noch ein neues Grafik-Set gebastelt (lightgrey) - ist im Anhang ...
Hier hab ich noch ein kleines Programm von mir "wiedergefunden" (obwohl ich es ja ständig am Laufen habe ... ) das die SysTray-Icons, entweder nach Prozess oder Titel, auf- oder absteigend, sortiert, damit da ein wenig mehr Ordnung in der Ecke herrscht
#include <SysTray_UDF.au3>
#include <Array.au3>
#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]local $proc = True
local $up = 0
ProcessSetPriority(@ScriptName, 0)
[/autoit] [autoit][/autoit] [autoit]If $CmdLine[0] = 0 Then
MsgBox(64,"SysTraySort V1.2", _
@CR & "SysTraySort, 2007 by Thorsten Willert" & _
@CR & "USAGE: [/PROC] [/TITLE] [/UP] [/DOWN]" & _
@CR & "/PROC:" & @TAB & "Sort by process name" & _
@CR & "/TITLE:" & @TAB & "Sort by title" & _
@CR & "/UP:" & @TAB & "Ascending" & _
@CR & "/DOWN:" & @TAB & "Descending")
Exit
EndIf
For $i = 1 to $CmdLine[0]
If StringUpper($CmdLine[$i]) = "/PROC" Then
$proc = True
ElseIf StringUpper($CmdLine[$i]) = "/TITLE" Then
$proc = False
ElseIf StringUpper($CmdLine[$i]) = "/UP" Then
$up = 0
ElseIf StringUpper($CmdLine[$i]) = "/DOWN" Then
$up = 1
EndIf
Next
global $iTitles = _SysTrayIconTitles()
[/autoit] [autoit][/autoit] [autoit]If Not IsArray($iTitles) Then Exit
[/autoit] [autoit][/autoit] [autoit]global $iProcesses = _SysTrayIconProcesses()
[/autoit] [autoit][/autoit] [autoit]If Not IsArray($iProcesses) Then Exit
[/autoit] [autoit][/autoit] [autoit]If $proc Then
ByProcess($up)
Else
ByTitle($up)
EndIf
Exit
[/autoit] [autoit][/autoit] [autoit];########################################################################
Func ByProcess($s)
_ArraySort($iProcesses,$s)
[/autoit] [autoit][/autoit] [autoit]For $i=0 to Ubound($iProcesses)-1
sleep(1000)
$pos = _SysTrayIconIndex($iProcesses[$i], 0)
If $pos <> $i Then _SysTrayIconMove($pos, $i)
Next
EndFunc
[/autoit] [autoit][/autoit] [autoit];########################################################################
Func ByTitle($s)
_ArraySort($iTitles,$s)
[/autoit] [autoit][/autoit] [autoit]For $i=0 to Ubound($iTitles)-1
sleep(1000)
$pos = _SysTrayIconIndex($iTitles[$i], 1)
If $pos <> $i Then _SysTrayIconMove($pos, $i)
Next
EndFunc
[/autoit]Das ganze einfach über den Taskplaner laufen lassen z.B.:
http://thorsten-willert.de/Themen/Softwar…ySort/index.php
Benötigt noch die Systray.au3:
SysTrayUDF
oder gleich die exe von meiner Homepage nehmen.
Viel Spaß damit!
Grüße
Stilgar
Hoppla
da ich noch nie die Beta-Version gleichzeitig installiert habe ist mir gerade aufgefallen, dass alles immer nur mit der Beta läuft, falls diese vorhanden ist (wieso macht man das überhaupt?? )
Wer sie benutzt sollte folgedessen diese neue Version der AutoItStartup:
http://thorsten-willert.de/Themen/jEdit/j…toItStartUp.bsh
in das jEdit/startup -Verzeichnis kopieren, dann klappts auch mit der Beta.
Diese erzeugt nun zusätzlich die globalen Konstanten:
AUTOIT_BETAVERSION
AUTOIT_BETAPATH
Viel Spaß damit
Stilgar
Die Testversion der FF.au3 sollte nun mit FF V2 und V3 funktionieren und somit auch wieder das Ansprechen aller Elemente über den Namen:
http://thorsten-willert.de/Themen/AutoIt-FF.au3/Testversion/
Viel Spaß damit
Stilgar
Update der Testversion:
Jetzt sollte alles mit FF V2 und V3 funktionieren:
http://thorsten-willert.de/Themen/AutoIt-FF.au3/Testversion/
Update:
- Xinsert-librarys und AutoItScript-mode an V3.2.13.3 und die aktuelle FF.au3 angepaßt.
- ctags zeigt nun zusätzlich Debug-Zeilen an
- gehört zwar nicht wirklich dazu - HTML-Online Hilfe per Macro "KeyWord Search"
Download:
jEdit4AutoIt_update
Viel Spaß damit!
Stilgar