|
You last visited: Today at 20:49
Advertisement
Tratsch rund um Autoit / Autoit Talk | kleinere Fragen
Discussion on Tratsch rund um Autoit / Autoit Talk | kleinere Fragen within the AutoIt forum part of the Coders Den category.
07/10/2012, 15:28
|
#301
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by Lumi'
Code:
<td>
<a href="http://www.elitepvpers.com/theblackmarket/treasure/104653">#104653</a>
</td>
|
na bitte nu haben wirs doch geschafft das zu posten was benötigt wird :P
Code:
$string = '<td>'&@CRLF&'<a href="http://www.elitepvpers.com/theblackmarket/treasure/104653">#104653</a>'&@CRLF&'</td>'
$regEx = StringRegExp($string, '<td>[\n\r]*?<a href=".*?>#(\d+)<\/a>[\n\r]*?<\/td>', 1)
ConsoleWrite($regEx[0]&@CRLF)
|
|
|
07/10/2012, 16:03
|
#302
|
ベトナム警察
elite*gold: 0
Join Date: Jan 2012
Posts: 16,497
Received Thanks: 3,524
|
Danke funktioniert nun, aber das problem mit dem Käufer ist immer noch da. 
Welchen muss ich bei regExp reintun, wenn ich hiernach suche?
Code:
<td>
<a href="http://www.elitepvpers.com/theblackmarket/profile/2619038">Lеlouch</a>
</td>
Der Name ist nur ein Beispiel..Da es beim Käufer so aussieht.
|
|
|
07/10/2012, 16:13
|
#303
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
|
|
|
07/10/2012, 16:15
|
#304
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by Lumi'
Danke funktioniert nun, aber das problem mit dem Käufer ist immer noch da. 
Welchen muss ich bei regExp reintun, wenn ich hiernach suche?
Code:
<td>
<a href="http://www.elitepvpers.com/theblackmarket/profile/2619038">Lеlouch</a>
</td>
Der Name ist nur ein Beispiel..Da es beim Käufer so aussieht.
|
na mit ein wenig denken, solltest du da eigentlich auch selbst drauf kommen...
hier mal fals du zu faul sein solltest die lösung:
Code:
'<td>[\n\r]*?<a href=".*?>(.*?)<\/a>[\n\r]*?<\/td>'
|
|
|
07/10/2012, 16:27
|
#305
|
ベトナム警察
elite*gold: 0
Join Date: Jan 2012
Posts: 16,497
Received Thanks: 3,524
|
Ich kenne mich recht wenig mit solche regulare Ausdrücke aus.
Ich weiß auch gar nicht, wie man sowas lernen kann. In AutoIt Help File blick ich nicht durch.
Edit:
Ist das gewollt?
Hier der Code ausschnitt:
Code:
$string = '<td>'&@CRLF&'<a href="http://www.elitepvpers.com/theblackmarket/treasure/104653">#104653</a>'&@CRLF&'</td>'
$hTreasureID_load = StringRegExp($string , '<td>[\n\r]*?<a href=".*?>#(\d+)<\/a>[\n\r]*?<\/td>', 1)
Code:
$string01 = '<td>'&@CRLF&'<a href="http://www.elitepvpers.com/theblackmarket/profile/2619038">L?louch</a>'&@CRLF&'</td>'
$hTreasureBuyer_load = StringRegExp($string01, '<td>[\n\r]*?<a href=".*?>(.*?)<\/a>[\n\r]*?<\/td>', 1)
|
|
|
07/10/2012, 16:45
|
#306
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Oh man ^^
sollte der html code sein
|
|
|
07/10/2012, 16:50
|
#307
|
ベトナム警察
elite*gold: 0
Join Date: Jan 2012
Posts: 16,497
Received Thanks: 3,524
|
Quote:
Originally Posted by Lawliet!
Oh man ^^
sollte der html code sein 
|
Es sollte nicht, sondern es ist der HTML Code. Aber ich wär immer noch lieber bei _StringBetween beigeblieben. Funktioniert nähmlich bei Titel und Preis auch.  Bei Käufer und ID funktionierts ebenfalls nur wie ich oben bereits geschildert habe, dass dort <a href ... auftauchen. ^^
|
|
|
07/10/2012, 16:54
|
#308
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
_StringBetween arbeitet auch mit StringRegEx  Gib mal als letzten Parameter ( StringRegExp($string, '', 1) ) statt der 1 ne 3 mit und lass dir das Array mit _ArrayDisplay ausgeben.
|
|
|
07/10/2012, 17:01
|
#309
|
ベトナム警察
elite*gold: 0
Join Date: Jan 2012
Posts: 16,497
Received Thanks: 3,524
|
Meinst du so?
Code:
#include <Array.au3>
$string = '<td>'&@CRLF&'<a href="http://www.elitepvpers.com/theblackmarket/treasure/104653">#104653</a>'&@CRLF&'</td>'
$hTreasureID_load = StringRegExp($string , '<td>[\n\r]*?<a href=".*?>#(\d+)<\/a>[\n\r]*?<\/td>', 3)
_ArrayDisplay($hTreasureID_load, "Test")
Wäre es nicht möglich, diesen Code hier zu ergänzen? D:
Code:
$hTreasureID_load = _StringBetween($hLine_TreasureID, "<td>", "</td>")
mit diesem HTML Code:
Code:
<td>
<a href="http://www.elitepvpers.com/theblackmarket/treasure/104653">#104653</a>
</td>
|
|
|
07/10/2012, 17:12
|
#310
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Code:
$hTreasureID_load = _StringBetween($hLine_TreasureID, "<td>" & @lf & '< a href="http://www.elitepvpers.com/theblackmarket/treasure/' , '"')
Könnte klappen
Musst nochmal die Leerzeichen undso überprüfen
|
|
|
07/10/2012, 17:22
|
#311
|
ベトナム警察
elite*gold: 0
Join Date: Jan 2012
Posts: 16,497
Received Thanks: 3,524
|
Klappt nicht..
Ich habe es mal so ausprobiert, aber so klappt es nicht:
Code:
$hTreasureID_load = _StringBetween($hLine_TreasureID, '<td>< a href="http://www.elitepvpers.com/theblackmarket/treasure/">', "</a></td>")
|
|
|
07/10/2012, 17:25
|
#312
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Ich habs auch ganz anders vorgeschlagen.
|
|
|
07/10/2012, 17:38
|
#313
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by Lumi'
|
schaue ich mir deinen screenshot an, so wird schnell klar, das du die ganzen einträge problemlos mit einem einzigen regulären ausdruck auslesen kannst...
reguläre ausdrücke sind sehr einfach zu gestalten...
jeder reguläre ausdruck sieht so aus:
Code:
<akzeptierte zeichen><menge der zeichen>
und das wars auch schon...
abgesehen davon werden halt alle captured zeichen ausgegeben quasi alles was du in klammern setzt, sofern du die klammer nich als non-capturing group einstufst: (?:<inhalt der noncapturing group>)
das macht durchaus sind, wenn diese spezielle gruppierung mehr als einmal vorkommen kann...
ein kleines beispiel:
"aaaaa" kann ersetzt werden durch "[a]{5}"; "a+"; "a*?"; .{5}; .+; .*?; ...
es gibt zu viele ausdrücke, um alle hier zu erwähnen.
|
|
|
07/12/2012, 08:53
|
#314
|
elite*gold: 464
Join Date: Dec 2010
Posts: 3,998
Received Thanks: 3,909
|
Guten Morgen
Also ich hab aus Langweile einen kleinen MsgBox Generator geschrieben
Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 417, 212, 192, 124)
$Input1 = GUICtrlCreateInput("", 8, 96, 121, 21)
$Input2 = GUICtrlCreateInput("", 280, 96, 121, 21)
$Label1 = GUICtrlCreateLabel("MessageBoxCreator", 104, 8, 209, 28)
GUICtrlSetFont(-1, 15, 800, 0, "Small Fonts")
$Label2 = GUICtrlCreateLabel("MessageBox Explain", 8, 72, 102, 17)
$Label3 = GUICtrlCreateLabel("MessageBox Text", 280, 72, 89, 17)
$Button1 = GUICtrlCreateButton("Generate", 104, 168, 203, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Input1
Case $Input2
Case $Button1
EndSwitch
WEnd
While 1
Case $input1 Then
MsgBox ( 0, " $input1 ", " $input2")
While 2
Case $input2 Then
MsgBox ( 0, " $input1 ", " $input2")
WEnd
EndIf
WEnd
Case $Button1 Then While 1 & While 2
Ich bekomme aber diese Error's zurück ob wohl das WEnd da ist?! :O
(31,1) : ERROR: missing Wend.
Case
(30,1) : REF: missing Wend.
While
(31,1) : ERROR: syntax error
Case
Ich hoffe ihr könnt mir helfen
|
|
|
07/12/2012, 09:57
|
#315
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Code:
While 1
Case $input1 Then
MsgBox ( 0, " $input1 ", " $input2")
While 2
Case $input2 Then
MsgBox ( 0, " $input1 ", " $input2")
WEnd
EndIf
WEnd
Case $Button1 Then While 1 & While 2
Der Code macht 0 Sinn.
Code:
While 1 ; 1. endlosschleife, ok
Case $input1 Then ;Case in ner While Schleife? wtf
MsgBox ( 0, " $input1 ", " $input2")
While 2 ;zweite endlosschleife :/
Case $input2 Then ;CASE?? :D
MsgBox ( 0, " $input1 ", " $input2")
WEnd ;While2 zu
EndIf ;Welche If schließt du denn hier?
WEnd ;erste while zu ok
Case $Button1 Then While 1 & While 2 ;case ??? Und du kannst keine while schleife aufrufen, dazu wird der code hier niemals erreicht, da schon beide oberen schleifen unendlich sind
Dein Ganzes Script ist falsch aufgebaut. Die erste Whileschleife für das GUI managment wird nicht benutzt, außer um das Script zu schließen. Diese wird also schonmal nie verlassen.
Eine While schleife ist so aufgebaut:
Code:
[B]While[/B] [COLOR="red"]bedingung[/COLOR] [COLOR="Blue"]True[/COLOR]
führe diesen Code aus, bis zum wend
[B]Wend[/B] wenn die bedingung false ist, beende die schleife hier
In Autoit ist nur 0 oder NULL ist False, alles andere ist True.
Wenn du also While 1, While 2 oder While 10 (eben While >0) schreibst, ist es automatisch eine endlosschleife, da eins 1 oder größer niemals 0 wird.
|
|
|
Similar Threads
|
[Sammelthread]Fragen zu Autoit wie man Hacks herstellt(Autoit) + Antworten
11/16/2011 - Metin2 - 0 Replies
Hallo Liebe Community,
Ich habe diesen Thread aufgemacht weil manche leute mit Autoit nicht mehr weiterkommen wie man Hack herstellt ,ich habe mit schon ein Multihack mit Autoit herstellt das war einfach .Da viele User nicht weiterkommen werden habe ich mich entschieden ein Thread aufzumachen mit Fragen und ich den dann Antworten kann und helfen kann!
------------------------------------------------- ---------------------------
Mein Multihack:...
|
All times are GMT +1. The time now is 20:49.
|
|