Ich habe das Problem, das wenn ich eine Zahl habe die eine Stelle größer ist als die andere, das diese nicht als Größer sondern als kleiner erkannt wird.
$count = _GUICtrlListView_GetItemCount($ListView1)
For $I = 1 To $count
ControlClick($Title, "", "Clear Log")
$GetInfo = _GUICtrlListView_GetItemTextString($ListView1, $I - 1)
$SplitInfo = StringSplit($GetInfo, "|")
If $SplitInfo[3] > 0 Then
Do
ControlSetText($Title, "", $Send, "c_blist 0 0 0 0 0 0 0 0 1 " & $SplitInfo[1])
ControlClick($Title, "", "Send")
$Text = ControlGetText($Title, "", $Log)
Sleep(100)
Until StringRegExp($Text, "rc_blist 0")
$Text = _StringBetween($Text, "rc_blist 0 ", "| ")
$SplitBasar = StringSplit($Text[0], "|")
If Not @error Then
If $SplitInfo[2] >= $SplitBasar[7] Then
If $SplitInfo[3] > 99 And $SplitBasar[5] = 99 Then
$buy = 99
ElseIf $SplitInfo[3] > 99 And $SplitBasar[5] < 99 Then
$buy = $SplitBasar[5]
ElseIf $SplitInfo[3] > $SplitBasar[5] Then
$buy = $SplitBasar[5]
ElseIf $SplitInfo[3] < $SplitBasar[5] Then
$buy = $SplitInfo[3]
EndIf
ControlSetText($Title, "", $Send, "c_buy " & $SplitBasar[1] & " " & $SplitInfo[1] & " " & $buy & " " & $SplitBasar[7])
Sleep(100)
ControlClick($Title, "", "Send")
Sleep(300)
If StringRegExp(ControlGetText($Title, "", $Log), "Das Angebot wurde aktualisiert.") = 0 Then
_GUICtrlListView_SetItem($ListView1, $SplitInfo[3] - $buy, $I - 1, 2)
EndIf
EndIf
EndIf
EndIf
Next
Habe hier nur mal den Problematischen Teil gepostet, da man diesen ohne das Spiel installiert zu haben eh nicht nutzen kann.
$SplitInfo[2] >= $SplitBasar[7]
bsp.
$SplitInfo[2] = 7000
$SplitBasar[7] = 5000
Das Script läuft wie gewohnt weiter.
$SplitInfo[2] = 70000
$SplitBasar[7] = 5000
Das Script erkennt 5000 als die größere Zahl.
Ich kann mir nicht erklären, wieso dies der Fall ist, denn wenn ich eine normale abfrage mit den entsprechenden Zahlen starte, so wird diese richtig erkannt.
Ich habe auch bereits mir die entsprechenden Werte zurückgeben lassen wodurch ich ausschließen kann das es sich hierbei um einen falschen Wert handelt
Die Bedingung trifft nur ein, wenn $SplitInfo[2] größer oder gleich $SplitBasar[7] ist. Da gibt es kein wenn und aber.
Quote:
Originally Posted by Nos134
$SplitInfo[2] = 70000
$SplitBasar[7] = 5000
Das Script erkennt 5000 als die größere Zahl.
Das ist definitiv nicht der Fall. Entweder hantierst du mit falschen Daten (auch wenn du das verneinst), oder du hast irgendwo logische Fehler (ich habe dein Scriptausschnitt nur überflogen).
Nebenbei bemerkt solltest du bei StringSplit() prüfen, ob $array[0] > 1 ist, bei _StringBetween() solltest du auf IsArray($array) prüfen.
Deine For-Schleife sollte bei 0 beginnen und bei $count - 1 enden, so sparst du dir bei jedem Durchgang eine Rechenoperation.
Hab mir das Ergebniss nochmals in einer Messagebox ausgeben lassen, und es ist ziemlich offensichtlich das hier was nicht richtig läuft.
Jede Zahl die eine Stelle größer ist wird als kleiner angesehen, das ist nunmal grade so.
Das Problem scheint beim ganzen Array zu gelten, auch wenn jede Variable NUR zahlen enthält.
Versuch mal die Variable in ne Zahl zu konvertieren. Hab schon lange nix mehr gemacht, aber es gibt glaube ich Number().
Edit: entweder es ist zu spät, oder ihr hab alle den Wald vor lauter bäumen nicht gesehen.
Quote:
$SplitInfo[2] >= $SplitBasar[7]
bsp.
$SplitInfo[2] = 7000
$SplitBasar[7] = 5000
Das Script läuft wie gewohnt weiter.
Wenn man für $SplitInfo[2] 7000 einsetzt und für $SplitInfo[7] 5000, dann wäre die Bedinung:
7000 >= 5000
In Worten "wenn 7000 größer oder gleich 5000 ist".
Die Abfrage funktioniert also.
@Lawliet!
Das Problem war das wenn die $SplitInfo[2] eine Stelle mehr hatte als die $SplitBasar[7] hat das Script diese nicht als größer erkannt.
Number() hat funktioniert, danke dir
(Die abgefragten Arrays hatten allerdings davor auch nur Zahlen :/, verwirrend)
Man kann Zahlen auch als "String" ausgeben lassen, was hier wahrscheinlich der Fall war da der die Zahlen aus einem String geholt wurden
bei ordentlichen Typenbezeichnungen von Variablen wäre das sicherlich einfacher gewesen das zu bemerken, aber wir sind ja in AutoIt
Wie werde ich größer? 09/03/2012 - Off Topic - 18 Replies Also ich bin daweil 15 und 1,75 Meter groß. Ich finde meine Größe klein und frage mich auch wie ich größer werde. Ich habe es auch mit Basketball versucht usw.
Das kling jetzt komisch aber ich ertrage es nicht,wenn viele aus meiner Klasse größer sind als ich. Wie werde ich größer und bin ich für euch klein?
was ist Größer ? Cod Bo oder Cod Mw2 05/18/2011 - Call of Duty - 3 Replies Hallo Leute ich wollte ma fragen was jetzt eig größer ist Cod Mw2 oder Bo ?
Weil wen ich Mw2 Über steam installieren will steht da 4gb und dauer 2 stunden ... aber es ist jetzt schon bei 8 gb und 4 stunden ^^
wie groß ist dan wohl erst Bo da steht 6,4 gb ^^ 10 gb ???
Größer werden! 05/07/2011 - WoW Exploits, Hacks, Tools & Macros - 4 Replies Guten Morgen.
Ich habe gestern Abend was witziges gefunden.
Geht wie folgt vor:
1. o. Essen/Usen.
2. Auf (Gildenlevel 25) aufmounten
3. wegklicken
Das ganze ist nicht nur auf eurem Bildschirm so.Es können von 3 Leuten 2 dich so sehen.
Alles größer O.o 07/10/2010 - Off Topic - 9 Replies Hi,
Ich habe eben mein Notebook angeschaltet und sehe alles größer Ó.Ò
Sprich
Desktop: Hintergrund, Symbole, Symbol-Namen
Internet, Wenn ich die Starttaste drücke: Alles groß -.-
Wie löse ich es?
AKT3 gleich weniger geld gleich teuere CS sachen ??? 09/21/2008 - Flyff - 9 Replies Hi,
ich wollte mal fragen wan genau AKT3 rauskommt und ob die preise höher werden wen jetzt z.B die sunglass (black) 92mio kostet wirt die dan ich AKT3 130mio wert sein ????
da man ja zu einem Prister hin gehen kann und geld opfern muss um xp oder so zu bekommen