Namen aus .txt-file auslesen und einfügen

07/14/2013 09:42 Papke1#1
Hallo,

würde gerne in einem browserspiel Leute anschreiben, habe da auch eine Liste und das Problem ist jetzt eben, daß ich einige Fragmente von macro habe, die aber nicht zusammenkriege, weil ich viel zuwenig Ahnung habe.
Also es ginge darum, daß das makro wie gesagt als erstes in eine Maske den namen von einer liste ausliest und einfügt.
Dazu hat mir jemand folgendes angeboten aber ich erreiche den leider nicht mehr:

Code:
;Der wichtigere Teil
#include <File.au3>

Global $aNames
_FileReadToArray(@ScriptDir & "\C:\Users\Markus\Desktop\testwi.txt", $aNames)
If IsArray($aNames) Then
    For $i = 1 To $aNames[0]
        MsgBox(0, "", StringReplace($sMail, "$name$", $aNames[$i]))
    Next
Else
    ConsoleWrite("Fehler beim Lesen der Datei" & @LF)
    Exit
Der Rest des macros ist das Ausfüllen vom Betreff und der Text der mail in die große maske, das ist das folgende macro und das funktioniert soweit auch:

Code:
HotKeySet("{ESC}", "_Exit") ; Make a hotkey to exit the script ; Very important when u are using MouseMove, MouseClick etc. in a loop
HotKeySet("{^}", "_Mine") ; Look at the Send command in the help file for keys 
Global $Mine = False ; Here we say $Mine = false, so the bot has stopped as default 
While 1     
	Sleep(1000) ; Use a sleep in the main loop for not getting a high CPU 
WEnd 
Func _Mine()     
	$Mine = Not $Mine   ; It's basicly something like: If $Mine = False Then $Mine = True                 
	; Also visa versa     

EndIf
	While $Mine  
		MouseMove(630, 485, 10);moving mouse to position 
		MouseClick("left")
		Send("PI")
		MouseMove(630, 625, 10);moving mouse to position 
		MouseClick("left")
		Send("^v") 

		Mouseclick("left")
		Mousemove(540, 420, 10)
		Mouseclick("left")
		mousemove(630, 455, 10)
		Mouseclick("left")
		mousemove(630, 475, 10)
		Sleep(100000000000000)
		
		
WEnd 

EndFunc 

Func _Exit()     
	Exit 
	
EndFunc

Jetzt gehts nur drum, die beiden zusammenzufügen, so das ich per knopfdruck (in dem fall das zirkumflex) das macro starte und es dann an jeden namen auf der Liste eine email schickt und wenn die liste ganz durch ist, dann eben paust oder sich abschaltet, wäre dann egal, wies besser zu coden ist.
Würde mir wahnsinnig helfen, ich pfriemel von hand immer die Namen ein und mit Liste ist halt auch viel besser, weil ich dann eine Übersicht habe(per suchen) wen ich schon angeschrieben hab und wen nicht, um Spam zu vermeiden.
Wäre toll, wenn jemand etwas Zeit opfern könnte dafür.
07/14/2013 12:33 omer36#2
wo sollen denn die namen hinzugefügt werden?

dort wo du ctrl+v drückst?


und beim ersten teil:
MsgBox(0, "", StringReplace($sMail, "$name$", $aNames[$i]))

was versuchst du dort zu machen?
07/14/2013 12:58 Papke1#3
das ctrl+v fügt den text in die 3. maske, das textfeld ein, das makro funzt soweit..und was du meintest beim ersten teil, ds ist das Macro von jemand den ich nicht mehr erreiche, kenne mich leider nicht aus und kanns dir net sagen was das bewirkt
07/14/2013 13:02 omer36#4
du willst die beiden ja jetzt zusammenfügen, nur wo sollen die namen denn jetz ausgegeben werden?
07/14/2013 13:17 Papke1#5
also das "ziel" von dem macro ist ein ingame-briefformular mit 3 eingabefeldern.
Ganz oben ist das Empfänger-eingabefeld, darunter das Betrefffeld und drunter das Textfeld.
Das längere macro oben "behandelt" sozusagen das Betrefffeld und das Textfeld, also da klappt alles wie es soll, nur das Empfänger-eingabefeld noch nicht. Das Macro soll von einer von mir ausgefüllten Namensliste, dem .txt-file immer einen Namen rausnehmen, in das Empfänger-eingabefeld einfügen und dann mit dem restlichen macro weitermachen.
So das als Beispiel, wenn das macro fertig ist, in der Liste 10 Namen stehen, das macro alle 10 namen ausgelesen hat , natürlich jeweils nur einen, die email vollends ausgefüllt hat, Betreff und Text und abgeschickt, also das am Schluß 10 emails versendet wurden.
Sorry wenn ichs komisch erklärt hab;)