danke für eure Tipps.
Noch ne Frage:
kennt Ihr sogenannte RegEx Tester für AUtoit
Ich meine Programme in denen man ein String mit RegEx testen kann?
Ilse
danke für eure Tipps.
Noch ne Frage:
kennt Ihr sogenannte RegEx Tester für AUtoit
Ich meine Programme in denen man ein String mit RegEx testen kann?
Ilse
Guten Morgen zusammen,
ich möchte mich mit RegEx näher befassen.
Es gibt ja auch in anderen Sprachen RegularExpressions (VBA...)
Meine Frage:
Wenn man die Befehle (egal welches Tutorial lernt)
kann man das dann in Autoit verwenden?
Ich meine die Ausdrücke...\s\.\d{}
Sind die in allen Sprachen identisch?
Liebe Grüße
Ilse ![]()
Hallo Oscar,
das funktioniert prima. Dank Dir.
Ich bin immer aber noch mit ArraySearch & Co am probieren.
Das bringt mich mal wieder total von der Rolle weil es einfach nicht
das tut was ich will!
Mit RegEx brauch's wohl noch etwas Zeit.
Liebe Grüße
Ilse ![]()
@ Misterspeed,
ZitatWarum arbeitest du nun eigentlich mit der Zwischenablage?
klar, das war doch nur ein Beispiel, damit man das leicher nachvollziehen kann!
_Arraysearch , _ArrayFindAll, Stringfunktionen...
Ich probier nochmals alles durch.
Ich sagte ja mit StringReplace und StringBetween hat's nicht geklappt.
Mit _Arraysearch , _ArrayFindAll hab ich's noch nicht probiert.
Melde mich wieder...
Merci
Ilse
Hallo,
ich habe mal einen Beispielcode gemacht.
Die Zwischenablage im Code einfach kopieren...)
#Include <String.au3>
#Include <array.au3>
#cs Diese Zwischenablage bitte kopieren...
<select style="width: 128px;" id="HundeForm" name="Collies">'
<option value="375">Dackel</option>
<option value="800">Collie</option>
<option value="900">Schäferhund</option>
#ce
Local $ini = '[Allgemein]' & @CRLF
$string = ClipGet()
$myString = _StringBetween($string, '="', '</')
[/autoit][autoit][/autoit][autoit]For $i = 0 To UBound($myString) -1
$a2 = StringSplit($myString[$i],'">', 1)
$ini &= $a2[2] & '=' & $a2[1] & @CRLF
Next
_ArrayDisplay($a2)
[/autoit][autoit][/autoit][autoit]MsgBox(0, '', $ini)
[/autoit][autoit][/autoit][autoit]FileWrite(@DesktopDir & '\meini_ini.ini', $ini); ini Datei wird auf Desktop erstellt ![]()
Wie soll ich's erklären....hm
Also, wenn die Zwischenablage den StringBetween Befehl
enthält (das was ich löschen möchte..)
dann ersetze diese Zeile, u.s.w.
So sollte das Ergebnis aussehen:
[autoit]
id="HundeForm"
name="Collies"
Dackel="375"
Collie="800"
Schäferhund="900"
D.h. Im Loop muß ich nochmals abfragen
und da bleibe ich hängen!
Liebe Grüße
Ilse ![]()
@ alle
merci nochmals für die Tipps.
Ich glaube das alles lernt man erst in der Praxis.
Ich übe jeden Tag...
Liebe Grüße
Ilse ![]()
Hallo zusammen,
ich kämpfe heute schon seit Stunden mit einem String Problem:
Sieht so aus:
<select style="width: 128px;" id="HundeForm" name="Collies">
Es sollte so aussehen:
id="HundeForm" name="Collies"
D.h. der vordere Teil, den ich ja mit StringBetween ermitteln kann
sollte gelöscht werden.
Konnte das mit StringReplace und StringBetween nicht lösen!
Gibt es da noch einen anderen Befehl?
huh...
Ilse ![]()
Jetzt klappt es!
Hinter "Hunde" war im Quelltext aber kein Leerzeichen!
Das ist jetzt der Code:
Habe die Msgbox mit Quelltext hinzugefügt!
#include <Array.au3>
#include <String.au3>
Dim $avArray
$Var = (@ScriptDir & "\" & "Quelltexte.txt") ; Hier stehen alle Texte drin!
;MsgBox(4096, "Code", $Var) ; Pfad wird angezeigt!
$inhalt = FileRead($var) ;Erst Datei einlesen
[/autoit][autoit][/autoit][autoit]$avArray = Stringsplit($inhalt, "TheLuBuAutoit2011", 1) ; habe mal das als Trennzeichen im Text verwendet! Dann den Inhalt splitten und nicht den Dateipfad
_ArrayDisplay($avArray) ;zeigt das Array an
;MsgBox gelöscht, weil sinnlos
For $i = 1 To Ubound($avArray) - 1 Step 2
$AvArray[$i] = StringStripWS($AvArray[$i], 7)
Next
For $i = 1 To Ubound($avArray) - 1
If $avArray[$i] = "Hunde" Then ; Dieser Text steht im Quelltext!
MsgBox(0, "", $AvArray[$i]); diese Msgbox wird nicht gezeigt!
Msgbox (0, "", "Quelltext Hunde gefunden in Arrayplatz "& $i + 1) ; Keine Msgbox!
MsgBox(0, "Das ist der Quelltext:", $AvArray[$i + 1])
ElseIf $avArray[$i] = "Katzen" Then
Msgbox (0, "", "Quelltext Katzen gefunden in Arrayplatz "& $i + 1)
EndIf
Next
Bitte noch eine Antwort:
Dim $avArray
hier wurde das Array nicht dimensioniert, das ist ok?
Ilse
Ich habe die Quelltext.txt nun richtig!
Auch _ArrayDisplay zeigt alles an.
Zeile für Zeile....
NUR:
Die For Schleife wird nicht ausgeführt!
#include <Array.au3>
#include <String.au3>
Dim $avArray
$Var = (@ScriptDir & "\" & "Quelltexte.txt") ; Hier stehen alle Texte drin!
;MsgBox(4096, "Code", $Var) ; Pfad wird angezeigt!
$inhalt = FileRead($var) ;Erst Datei einlesen
[/autoit][autoit][/autoit][autoit]$avArray = Stringsplit($inhalt, "TheLuBuAutoit2011", 1) ; habe mal das als Trennzeichen im Text verwendet! Dann den Inhalt splitten und nicht den Dateipfad
_ArrayDisplay($avArray) ;zeigt das Array an
For $i = 1 To Ubound($avArray) - 1
If $avArray[$i] = "Hunde" Then ; Dieser Text steht im Quelltext!
MsgBox(0, "", $AvArray[$i]); diese Msgbox wird nicht gezeigt!
Msgbox (0, "", "Quelltext Hunde gefunden in Arrayplatz "& $i + 1) ; Keine Msgbox!
ElseIf $avArray[$i] = "Katzen" Then
Msgbox (0, "", "Quelltext Katzen gefunden in Arrayplatz "& $i + 1)
EndIf
Next
....mein Blutdruck fängt schon wieder an zu steigen!
Ilse
Ich komm leider noch nicht
an den reinen Quelltext ran:
#include <Array.au3>
#include <String.au3>
Dim $avArray
$Var = (@ScriptDir & "\" & "Quelltexte.txt") ; Hier stehen alle Texte drin!
MsgBox(4096, "Code", $Var) ; Pfad wird angezeigt!
$inhalt = FileRead($var) ;Erst Datei einlesen
[/autoit][autoit][/autoit][autoit]$avArray = Stringsplit($inhalt, "TheLuBuAutoit2011", 1) ; habe mal das als Trennzeichen im Text verwendet! Dann den Inhalt splitten und nicht den Dateipfad
_ArrayDisplay($avArray) ;zeigt das Array an
;MsgBox gelöscht, weil sinnlos
For $i = 1 To Ubound($avArray) - 1
If $avArray[$i] = "Hunde" Then
Msgbox (0, "", "Quelltext Hunde gefunden in Arrayplatz "& $i + 1)
_ArrayDisplay($avArray[$i])
ElseIf $avArray[$i] = "Katzen" Then
Msgbox (0, "", "Quelltext Katzen gefunden in Arrayplatz "& $i + 1)
EndIf
Next
Der Loop zeigt keine Msgbox!
Die Quelltextdatei:
[autoit]
Hunde
1
2
3
4
5
6
TheLuBuAutoit2011
Katzen
TheLuBuAutoit2011
1
2
3
TheLuBuAutoit2011
In diesem Beispiel sollten doch nur die Zahlen erscheinen!
Ilse
Was ich bei den Arrays irgendwie nicht verstanden habe ist folgendes:
1. Man muß doch am Anfang das Array dimensionieren!
Also soviele Zeilen, soviele Spalten...
Da weiß ich nie was ich tun soll. D.h. mein erstes Problem habe
ich also schon am Anfang bevor's richtig los geht!
Dim $MeinArray??
(Text in Array einlesen)
Vergleiche ich es mit Excel, dann kann ich den Text
in eine Zelle einlesen.
Ich kenne vorher z.B. nicht die Anzahl der Zeilen, Spalten...
Ich weiß es gibt uBound, aber hat das grundsätzlich
was mit der Dimensionierung zu tun?
Bin ehrlich, hab's halt noch nicht 100% verstanden.
Ich lese, lese, lese mir also nochmals alles durch. ![]()
Liebe Grüße
Ilse ![]()
ich hab's geahnt,
Arrays bedeuten bei mir nichts gutes!
Es klappt mal wieder nicht!
[autoit]
#include <Array.au3>
#include <String.au3>
Dim $avArray
$Var = (@ScriptDir & "\" & "Quelltexte.txt") ; Hier stehen alle Texte drin!
MsgBox(4096, "Code", $Var) ; Pfad wird angezeigt!
$avArray = Stringsplit($Var, "TheLuBuAutoit2011", 1) ; habe mal das als Trennzeichen im Text verwendet!
MsgBox(4096, "Code", $avArray) ; Hier wird der Text nicht gezeigt!
For $i = 0 To Ubound($avArray) - 1
If $avArray[$i] = "Hunde" Then
Msgbox (0, "", "Quelltext Hunde gefunden in Arrayplatz "& $i + 1)
ElseIf $avArray[$i] = "Katzen" Then
Msgbox (0, "", "Quelltext Katzen gefunden in Arrayplatz "& $i + 1)
EndIf
next
Quelltexte.txt sieht so aus:
[autoit]
[Hunde]
TheLuBuAutoit2011
<div class="tt_for4wrapper">
<p class="tt_for4Box1Headline">
TheLuBuAutoit2011
[Katzen]
TheLuBuAutoit2011
<div class="tt_for4wrapper">
<p class="tt_for4Box1Headline">
TheLuBuAutoit2011
Liebe Grüße
Ilse ![]()
@ alle
habe erst jetzt nochmal die neuesten Kommentare gelesen.
Also INI scheint nicht zu funktionieren!
Ilse
auf zu meinen Array-Freunden
Also,
ich habe mal die ini probiert. Die Arrays probier ich auch noch.
Die INI
Ich kann zwar die Sektionen auslesen, aber nicht die mehrzeiligen Texte!
[autoit]
$Var = IniReadSectionNames(@ScriptDir & "\" & "Texte.ini")
If @error Then
MsgBox(4096, "", "Keine Textdatei gefunden.")
Else
For $i = 1 To $var[0]
MsgBox(4096, "Loop", $var[$i])
$code = IniRead($Var, $var[$i], "Quelltext", Default)
MsgBox(4096, "Code", $code) ; Die Msgbox gibt Default an.
Next
EndIf
Die Ini mit Quelltext sieht so aus:
[autoit]
[Seite1] ;Diese Sektion wird im Loop angezeigt!
Quelltext=hier steht
mein Text mit
Umbrüchen...
[Seite2]
Quelltext=hier steht
mein 2.Text mit
Umbrüchen...
Grüße
Ilse ![]()
@ TheLuBu @Dice
Super, ich werde alles mal probieren.
Danke für die Tipps und Erklärungen.
Ich melde mich wieder,
...kann aber etwas dauern
fang sofort an!
Liebe Grüße
Ilse ![]()
merci für die Tipps,
werd ich gleich probieren.
Eine Frage noch vorab:
Wenn ich in dieser "Datei" alle Quelltexte drin habe,
getrennt mit (meinem Trennzeichen)
wie kann ich dann gezielt auf einen bestimmten Quelltext zugreifen.
Beispiel:
[autoit]
[Quelltext Hunde]
...
...
(MeinTRENNZEICHEN)
[Quelltext Katzen]
...
...
(MeinTRENNZEICHEN)
brr die Arrays mir schlockern schon wieder meine Knie...!
Liebe Grüße
Ilse ![]()
Hallo TheLuBu,
konnte mich jetzt erst wieder melden.
Arrays für später ja, aber ich erkläre dir mal wie ich vorgehe:
1. Ich besuche eine Seite und hole mir den Quellcode
2. Diesen Quellcode bearbeite ich mit Scite
3. ich bearbeite den 2. Quellcode, 3. usw.
So, wie kann ich den jeweiligen Quellcode für später in einer Datei speichern und abrufen
ohne quellcode1.txt, quellcode2.txt (die könnte ich ja dann als array einlesen)
Kann man das nicht wie bei einer ini lösen?
[autoit]
[Quellcode1]
.....
[Quellcode2]
....
Oder kannst du mir die Vorgehensweise mit Arrays kurz erklären.
Liebe Grüße
Ilse ![]()
Guten Morgen zusammen,
ich weiß diese Überschrift ist etwas dürftig, aber ich schildere mal das Problem.
Beispiel:
50 Quelltexte, 50 Dateien, 50 inis...
Alles in eine ini geht ja nicht.
Ich möchte, um den Überblick zu behalten
keine 200 Dateien verknüpfen.
Ihr kennt ja Clipget().
Meine Frage:
Kann man irgendwie einen Text im Code ähnlich wie Clipget speichern?
Dann könnte ich vielleicht eine Funktion mit allen Quelltexten machen...
$Page1 = (das
wäre der Quelltext
mit Seitenumbruch......)
Habt Ihr da eine Idee, wie man das am besten hinkriegt,
ohne einzelne inis, Pfade, Quelltexte...?
Liebe Grüße
Ilse ![]()
@ alle
Danke Euch!
...genau so!
hab jetzt alles hinbekommen.
Liebe Grüße
Ilse ![]()
Guten Morgen zusammen,
Ich möchte ein String neu zusammensetzen.
Die Werte kann ich mittlerweile auslesen.(Dank eurer Hilfe)
Aber das zusammensetzen klappt leider nicht!
Hier der Code mit Beispiel der Zwischenablage! (Versuche...)
[autoit]
#Include <String.au3>
#Include <Array.au3>
#cs Die Zwischenablage
<option value="375">Dackel</option>
<option value="800">Collie</option>
<option value="900">Schäferhund</option>
#ce
[/autoit][autoit][/autoit][autoit]$string = ClipGet()
[/autoit][autoit][/autoit][autoit]$search = _StringBetween($string,'">','</')
_ArrayDisplay($search)
$search2 = _StringBetween($string,'value="','">')
_ArrayDisplay($search2)
For $i = 0 to UBound ($search)-1
Msgbox(0,"",$search[$i])
next
Das Ergebnis sollte so aussehen:
$Dackel = 375
$Collie = 800
$Schäferhund = 900
Das ganze muß dann noch in eine ini!
Aber da bin ich noch etwas entfernt
Grüße
Ilse ![]()