Hallo...
Habe folgendes Problem was ich lösen möchte..
Ich will ein listview Item übetragen an eine andere Gui in eine inputbox.
Kann mir jamand dabei helfen oder einen beispiel geben ??
Danke
Hallo...
Habe folgendes Problem was ich lösen möchte..
Ich will ein listview Item übetragen an eine andere Gui in eine inputbox.
Kann mir jamand dabei helfen oder einen beispiel geben ??
Danke
Innerhalb eines Skripts? Zwischen 2 Autoit-Skripten? Autoit <-> Drittsoftware?
Drag´n´drop ist das völlig egal woher und wohin.....
Hey,
zwischen zwei AUTOIT Scripten wie mache ich das ?
schau mal bei GUICtrlSetState() auch bei den Bemerkungen...
Auf die Schnelle habe ich mit Listviews hierein Beispiel gefunden...
Das Beispiel in der Hilfe sollte auch weiterhelfen http://www.autoitscript.com/autoit3/docs/f…istViewItem.htm
*/EDIT/* da müssen die "Nachrichtenspezialisten" ran, innerhalb einer GUI ist das Drag´n´drop simpel, aber zwischen 2 AutoIt-Programmen (und deren Listviews) hab ich auf die Schnelle nichts gefunden.
Es gibt eine Möglichkeit, aber die ist sehr "unschön"...ich warte erstmal auf die Spezis bevor ich mich hier blamiere^^
Hey,
sind nicht in beiden GUI's Lisviews das eine ist eine Listview das andere ist eine Inputbox,
konnte leider aus dem beispiel von autoitscript.com nichts zu meinem Problem Finden.
eine idee?
Bin zwar kein "Nachrichtenspezi" aber die Kommunikation zwsichen 2 Autoit-Skripten funktioniert so:
;Script2 -> Sender
#include "MessageHandler.au3"
$Local_ReceiverID_Name = "Script2sReceiverID";This is the ID that the other script will use to send data
$Remote_ReceiverID_Name = "Script1sReceiverID";This is the ID of the script we want to send data too
$hwnd = _SetAsReceiver($Local_ReceiverID_Name)
ConsoleWrite("hwnd of the Local_ReceiverID_Name is " & $hwnd & @crlf)
$myFunc = _SetReceiverFunction("_MyFunc2")
ConsoleWrite("My data receiver function is " & $myFunc & @crlf)
$Str = InputBox(@ScriptName," I am " & @ScriptName & @crlf & "Enter some data to be sent to the other script")
[/autoit] [autoit][/autoit] [autoit]$iSent = _SendData($Str,$Remote_ReceiverID_Name)
[/autoit] [autoit][/autoit] [autoit]While 1
sleep(100)
WEnd
Func _MyFunc2($vText)
Msgbox(0,@ScriptName,@ScriptName & " has received a message" & @crlf & $vText)
Exit
EndFunc
;Script1 -> Empfänger
#include "MessageHandler.au3"
$Local_ReceiverID_Name = "Script1sReceiverID";This is the ID that the other script will use to send data
$Remote_ReceiverID_Name = "Script2sReceiverID";This is the ID of the script we want to send data too
$hwnd = _SetAsReceiver($Local_ReceiverID_Name)
ConsoleWrite("hwnd of the Local_ReceiverID_Name is " & $hwnd & @crlf)
$myFunc = _SetReceiverFunction("_MyFunc2")
ConsoleWrite("My data receiver function is " & $myFunc & @crlf)
While 1
Sleep(1000)
WEnd
Func _MyFunc2($vText)
Msgbox(0,@ScriptName,"I am " & @ScriptName & " I have received some data" & @crlf & @crlf & $vText & @crlf & @crlf & "And now I'm sending the data back")
$iSent = _SendData($vText,$Remote_ReceiverID_Name)
Exit
EndFunc
Wie man ein Listviewitem ausliest und ein Input verändert erkläre ich jetzt aber nicht (das kannst du auch!)
Hey,
ich verstehe folgendes noch nicht ganz.
Wofür steht = $Local_ReceiverID_Name = "Script2sReceiverID";This is the ID that the other script will use to send data
und wofür steht = $Remote_ReceiverID_Name = "Script1sReceiverID";This is the ID of the script we want to send data too
Wie kann ich den das item übergeben von der listview und wo definiere ich welche inputbox er das item aus der listview schreiben soll?
Habe es noch nicht so verstanden ??
Moin Moin Subzero007.
Also wenn Du es einfach haben möchtest, dann speicherst Du in Prog-1 die Daten in eine Datei und in Prog-2 kannst Du dann die Daten wieder einlesen. Damit man die Datei evtl. nicht sieht, einfach ein Attrib +h und nach der Verwendung, wenn es nicht mehr benötigt wird die Datei löschen.
Beide Skirpte haben eine definierte "ID" (eben die festgelgeten Variablen).
$hwnd = _SetAsReceiver($Local_ReceiverID_Name) trägt man die ID ein, die das andere Skript zum Senden verwendet.
Die gesendete Nachricht ist im Bsp. $str -> bei dir wäre es eben das ausgelesene Listviewitem
Was mit der Nachricht passieren soll entscheidest du im Receiver Skript.
Im Beispiel ist es eine Konsolenausgabe, bei dir wäre es die Nachricht in ein Input-Control zu schreiben.
Vielleicht kanns auch jemand besser erklären, hast du schon etwas mit dem Beispiel gespielt?
ZitatWie kann ich den das item übergeben von der listview ....
du köntest ein Kontextmenü machen, oder doppelklicken, oder linksklicken, oder Ctrl+Alt+O benutzen....irgendwas halt, um eine Aktion auszulösen, und dann schickst du das Listview-Item an das "andere" Script
Zitat...und wo definiere ich welche inputbox er das item aus der listview schreiben soll?
naja...
if $vText<>"" then GuiCtrlSetData($inputbox,$vText) ; wenn etwas empfangen wurde, dann trag es in die Inputbox ein
[/autoit]ggf würde es so auch mit Drag´n´Drop funktionieren , "DRAG"-Event schickt das listviewitem los, "DROP"-Event im Empfangsscript holt es aus der gesendeten Variablen...
Sollte Drag & Drop ins Konzept passen funktioniert es auch darüber.