Deutsches AutoHotkey Homepage AutoHotkey Community
Wir helfen uns gegenseitig aus der Patsche
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

überschreiben eines textes

 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe!
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Moon93



Anmeldedatum: 29.11.2006
Beiträge: 152
Wohnort: Zuhause

BeitragVerfasst am: Mi Nov 29, 2006 3:31 pm    Titel: überschreiben eines textes Antworten mit Zitat

ganz nach dem leitsatz: ein thema - ein thread --- ein thread - ein thema erstelle ich hier einen neuen thread.
und zwar:
also ich habe bis jetzt diesen text:
Code:
Gui, Add, Text,, Suchen:
Gui, Add, Edit,r5 vSearch,                   
Gui, Add, Text,, Ersetzen mit:
Gui, Add, Edit,r5 vErsetzen,                 
Gui, Add, Button,x150 y20 H180,Ersetzen
Gui, Show
return
GuiClose:
ExitApp
return
ButtonErsetzen:
Gui, Submit, NoHide
WinGetText, Text, A,
StringReplace, Textbea, Text,%vSearch%,%vErsetzen%,all

so, als erstes erstelle ich die GUI... etc. beim Buttonklick wirds dann interesant. Ich lese den Text des gerade aktiven fensters aus, setze den in einen String, bearbeite diesen String nach den Benutzervorgaben und fertig. Jetzt muss ich aber irgendwie den Bearbeiteten string in das noch aktive fenster bekommen(überschreiben) so da liegt mein problem, wie mache ich das.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Thalon



Anmeldedatum: 25.10.2005
Beiträge: 1896
Wohnort: Österreich

BeitragVerfasst am: Mi Nov 29, 2006 3:39 pm    Titel: Antworten mit Zitat

WinGetText ist etwas ungeschickt, da du dabei alle möglichen Texte ausliest...

Besser wäre es das aktive Control herauszufinden (ControlGetFocus), den Text zu lesen (ControlGetText), zu bearbeiten und dann mit ControlSetText abzuschließen...

Alternativ (unschön, bisweilen aber dennoch zuverlässiger):
Strg-A
Strg-C
Replace
Strg-V

Thalon
_________________
Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Moon93



Anmeldedatum: 29.11.2006
Beiträge: 152
Wohnort: Zuhause

BeitragVerfasst am: Mi Nov 29, 2006 3:56 pm    Titel: Antworten mit Zitat

Code:
ButtonErsetzen:
Gui, Submit, NoHide
Gui, Minimize
Sleep 500
ControlGetFocus, Focus,
ControlGetText, Text,%Focus%
StringReplace, Textbea, Text,%vSearch%,%vErsetzen%,all
ControlSetText,%Focus%,%Textbea%
Gui, Restore
return

also, ich hab des ganze so gemacht wie du es gesagt hast, minimiere das fenster vorher, weil sonst ja das programm selber das aktive fenster ist.
Aber es geht nciht.
Ich wei0 nciht warum.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
BoBo
Gast





BeitragVerfasst am: Mi Nov 29, 2006 4:01 pm    Titel: Antworten mit Zitat

Zitat:
StringReplace, Textbea, Text,%vSearch%,%vErsetzen%,all
Variablen innerhalb der Gui werden auschließlich bei deren Referenzierung mit einem v(ariable) versehen. Ansonsten im weiteren Verlauf ohne! Also so wie hier ...
Zitat:
StringReplace, Textbea, Text,%Search%,%Ersetzen%,all
Nach oben
Moon93



Anmeldedatum: 29.11.2006
Beiträge: 152
Wohnort: Zuhause

BeitragVerfasst am: Mi Nov 29, 2006 4:12 pm    Titel: Antworten mit Zitat

ok Embarassed Embarassed Embarassed
aber daran lag es komischerweise nciht.
Probierts doch mal selber aus, hier der ganze code:
Code:
Gui, Add, Text,, Suchen:
Gui, Add, Edit,r5 vSearch,                   
Gui, Add, Text,, Ersetzen mit:
Gui, Add, Edit,r5 vErsetzen,                 
Gui, Add, Button,Default x150 y20 H180,Ersetzen
Gui, Show
return
GuiClose:
ExitApp
return
ButtonErsetzen:
Gui, Submit, NoHide
Gui, Minimize
Sleep 500
ControlGetFocus,Focus,
ControlGetText, Text,%Focus%
StringReplace, Textbea, Text,%Search%,%Ersetzen%,All
ControlSetText,%Focus%,%Textbea%
Gui, Restore
return


ich habs mit einem word dokument versucht.
klappt nicht.
außer ihr findet noch einen fehler.
ich habe alle befehle nochmal mühsam mit der hilfe verglichen ob die variablen stimmen und ob alels richtig geschrieben wurde.
Nichts. Es muss ein denkfehler sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Thalon



Anmeldedatum: 25.10.2005
Beiträge: 1896
Wohnort: Österreich

BeitragVerfasst am: Mi Nov 29, 2006 4:13 pm    Titel: Antworten mit Zitat

Zusätzlich wäre es noch gut das aktive Fenster zu ermitteln um dann auch das richtige Control zu erwischen! Wink
Optional sind die Parameter nur in Verbindung mit "Lastfound"...

Thalon
_________________
Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Moon93



Anmeldedatum: 29.11.2006
Beiträge: 152
Wohnort: Zuhause

BeitragVerfasst am: Mi Nov 29, 2006 4:22 pm    Titel: Antworten mit Zitat

blos wie activiert man ein beliebiges fenster?
ich habe jetzt ein einfaches WinActivate eingebaut, doch jetzt nimmt der des Control von dem eigenen Gui Sad (aber er ersetzt es!)
Ich kann ja keinen Namen angeben weil ich den namen ja nicht weiß. Und nach dem Titel suchen, und den dann eingeben funtzt au net, weil der dann den titel vom eigenen Gui nimmt.
Ja hm....
mir als neuling fällt nix weiteres mehr ein.
Ich bin auf eure Hilfe angewiesen.

(Ich wei0 cih nerve vieleicht ein wenig, aber nur jetzt, dann habt ihr wieder ne weile ruhe^^)

ps. mit dem ausschließen des titels ersetzer.ahk geht es acuh nicht, da nimmt er wieder garnix
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Thalon



Anmeldedatum: 25.10.2005
Beiträge: 1896
Wohnort: Österreich

BeitragVerfasst am: Mi Nov 29, 2006 4:45 pm    Titel: Antworten mit Zitat

Zitat:
WinExist("A") is a fast way to get the ID of the active window

Diese kannst du dann mit "ahk_id %Variable_mit_der_ID%" für die Funktionen verwenden (als Windowtext).

Ich schlage vor du liest dir erst einmal die Befehle zu "Window Management" durch (da sind Controls auch mit dabei Wink ).

WinActivate liefert nicht das aktuelle Fenster, sondern Aktivert das angegebene (wird keines angegeben wird das letztgefundene verwendet.. In der Regel die GUI ..)

Thalon
_________________
Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Moon93



Anmeldedatum: 29.11.2006
Beiträge: 152
Wohnort: Zuhause

BeitragVerfasst am: Mi Nov 29, 2006 5:51 pm    Titel: Antworten mit Zitat

sry echt, aber der gibt mir immer die ID vom eigenen Gui, ich blicks einfach net.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Moon93'
Gast





BeitragVerfasst am: Do Nov 30, 2006 3:07 pm    Titel: Erläuterung meines Problems Antworten mit Zitat

So:
Nochmal Genau.
Egal ob ich es per ID oder sonstwie mache, er nimmt entweder garkein Programm, oder sich selber.
Ich würde es ja gerne mit dem WinTitle machen, aber den kenne ich ja dummerweise ja nicht.
Code:
ButtonErsetzen:
Gui, Submit, NoHide
Gui, Minimize
Sleep 500
ID := WinExist("A")
WinActivate,ahk_id%ID%
ControlGetFocus,Focus
ControlGetText, Text,%Focus%
StringReplace, Textbea, Text,%Search%,%Ersetzen%,All
ControlSetText,%Focus%,%Textbea%
Gui, Restore
return


so das ist nochmal der Code von dem entsprechenden Button.
Wäre nett wenn ihr mir vieleicht doch noch helft.
Oder geht das einfach nicht? Kann ja auch sein das, was ich machen will einfach nicht geht.
Nach oben
Thalon



Anmeldedatum: 25.10.2005
Beiträge: 1896
Wohnort: Österreich

BeitragVerfasst am: Do Nov 30, 2006 3:55 pm    Titel: Antworten mit Zitat

Leerzeichen zwischen "ahk_id" und %ID% nicht vergessen!

Sollte es auch dann nicht funktionieren versuch das hier:
Code:
ButtonErsetzen:
Gui, Submit, NoHide
Gui, Minimize
WinWaitNotActive
Sleep 500
ID := WinExist("A")
WinActivate, ahk_id %ID%
ControlGetFocus, Focus, ahk_id %ID%
ControlGetText, Text, %Focus%, ahk_id %ID%
StringReplace, Textbea, Text, %Search%, %Ersetzen%, All
ControlSetText, %Focus%, %Textbea%, ahk_id %ID%
Gui, Restore
return
*ungetestet*

Thalon
_________________
Mein Motto: Hilfe zur Selbsthilfe!
Teildeutsche Hilfe (CHM)!! und Deutsche Online-Hilfe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Moon93



Anmeldedatum: 29.11.2006
Beiträge: 152
Wohnort: Zuhause

BeitragVerfasst am: Do Nov 30, 2006 7:30 pm    Titel: Antworten mit Zitat

tut mir leid.
ich kann nur sagen das es warscheinlich nicht geht.
Ich habe schon alle möglichen Sachen Ausprobiert
dein Beispiel bringt leider auch nur das ergebniss das garnichts ersetzt wird

hm...
aber thx nochma ganz kräftig für die hilfe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe! Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de