Italia
Foro

sendkey auf richedit

 

GDL
Hi Profaner

wieder kleine Sache,mit großer Auswikung

Nutze dieses Programm zur Mikrocontrolerprogramierung.Da der erzeugte Quelltext Atmel Assembler ist,ist es notwendig,das alle Zeilen aus meiner Anwendung korrekt übernommen werden.Eine Fehlersuche in ASM Code ohne debugger nervt jedesmal.

Nun zum Problem:
Da ich die Zeilen beim Laden einer File einzeln auswerten muss,habe ich folgendes zusammengebastelt:

WhileNot @Eof(#1)
Input #1,wert$
InsertString editor&,wert$
sleep 20 sonst wird Return verschluckt
@SendKey(editor&,13) Return senden
Sprungmarken ermitteln

Ein Einbauen einer Schleife ,sowie ein Erhöhen des sleepwertes hilft nichts,es werden immer einige Return verschluckt.
ohne sleep werden alle Zeilen aneinandergefügt.

Die letzte Möglichkeit wäre die File als .txt komplett einzulesen und dann
die Zeilen auszuwerten.Möchte mir aber wenns possibile ist eine komplette Neuprogr.dieses Programmteiles ersparen.

Auch if sein Vorschlag mit settimer waitinput killtimer geht nicht.

Meine Modelleisenbahn macht mich noch zum Windowsprogramierer.Hätt ich auch nie gedacht.

Mit freundlichen Grüßen
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
12.02.2005  
 



hilft es auch nichts wenn du statt nur

SendKey(editor&,13)

auch noch

SendKey(editor&,13)
SendKey(editor&,10)

oder nur

SendKey(editor&,10)

schreibst?

Wofür eigendlich das Sendkey im Zusammenhang mit der Listbox?
Ist das eine Fremdanwendung welche da gesteuert wird?

Salve, iF
 
12.02.2005  
 




GDL
Hi If

Ne,habe keine Listbox.editor& ist das Handle vom Richedit.
Da das Richedit mit Prfellow erzeugt wurde ist insertstring ein Richeditbefehl unter Prfellow.

Probiere Deinen Vorschlag jetzt aus.

Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
12.02.2005  
 



Ah verstehe - dann probiere doch mal an den insertstring das chr$(10) oda 13 direkt anzuhängen statt per sendkey.

Salve, iF
 
12.02.2005  
 




GDL
Hi If

habss ausprobiert.

sendkey(editor&,10)
gleiches Ergebnis wie beschrieben

sendkey(..,13)
sendkey(...,10)

selbiges,nur mit zusätzlichen Leerzeilen

Mit sendkey(..10) oder 13
zusätzlicher schleife oder REM
und sleep 1000

ca.20 - 30 Zeilen normal eingefügt und dann wieder klatsch eine Hintendrann dann 20 -30 ............

oder gleich nach Belieben alles aneinander und sogar einmal alles richtig.
Eigentlich ganz lustig.

Mit freundlichen Grüßen
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
12.02.2005  
 



Wie gesagt probiere doch mal ganz ohne Sendkey

InsertString editor&,wert$+chr$(10)

müsste doch eigendlich auch gehen.

Salve, iF
 
12.02.2005  
 




GDL
Hi If,

mein Versuch und Dein neuer Vorschlag überschnitten sich zeitlich.
Aber ein Anhängen von chr$(13) oder chr$(10) bleibt ohne Reaktion.

Immer ich,mit meinen unkonventionellen Stil.

Übrigens wurde unsere weiße Pracht heute durch einen
satten Temperaturanstieg zu einer Surflandschaft auf freien Felde compiliert.

Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
12.02.2005  
 




GDL
Hi

habs komplett anders(ohne sendkey) jetzt gelöst.Auf normale Profandialoge geht sendkey allerdings richtig.

Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
12.02.2005  
 



Als weitere Alternative hätte ich da noch die API kb_event anzubieten...
 
13.02.2005  
 




GDL
Hi Andreas

Komme mit der API überhaupt nicht zurecht.Kannste ein kleines Beispiel senden. Lerne die API nur durch Beispiele und mit deren rumprobier-en.Danke.

Im Dateigenerator sind deine Beispiele,vor allem die mit der Maus, umfunktioniert mit eingebaut.Kriege aber einfach keine vernünftige Bedienungsanleitung per den Dateigenerator auf die Beine.Bin nicht umsonst krankheitsbedingt Berufsunfähig.Stoße immer auf meine Leistungsgrenzen.Werde aber dranbleiben,hilft mir aus meiner Isolation ein wenig auszubrechen.

Mit freundlichen Grüßen
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
13.02.2005  
 



Hallo Georg...

Kein Problem:
KompilierenMarkierenSeparieren
kbd_event schickt eine Tastatureingabe an das Control/Fenster, das den Eingabefocus hat
DEF @keybd_event(4)!"User32","keybd_event"
WINDOWSTYLE 31
Windowtitle "WordPad steuern"
Window 0,0-640,440
Declare WordPadHandle&
@WINEXEC("Write.exe",3)

While WordPadHandle&=0

    Sleep 1000
    LET WordPadHandle&=@FINDWINDOW("Dokument - WordPad")

Wend

@keybd_event($12,0,0,0) $12=Scancode von Taste ALT (springt ins Menü)
@keybd_event(@ord("D"),0,0,0) Taste D drücken
@keybd_event(@ord("D"),0,2,0) Taste D loslassen
@keybd_event(@ord("F"),0,0,0) Taste F drücken
@keybd_event(@ord("F"),0,2,0) Taste F loslassen
@keybd_event($12,0,2,0) Taste ALT loslassen
@SENDSTRING(@GETACTIVEWINDOW(),$WINPATH+"WIN.INI")
@keybd_event($0D,0,0,0) $12=Scancode von Taste RETURN
@keybd_event($0D,0,2,0) Taste RETURN loslassen
 $01	Linke Maustaste	VK_LBUTTON
 $02	Rechte Maustaste	VK_RBUTTON
 $03	Strg-Unterbrechung	VK_CANCEL
 $04	Mittlere Maustaste	VK_MBUTTON
 $08	BackSpace	VK_BACK
 $09	Tab-Taste	VK_TAB
 $0C	Entfernen	VK_CLEAR
 $0D	Return	VK_RETURN
 $10	Shift	VK_SHIFT
 $11	Strg	VK_CONTROL
 $12	Alt / Menü	VK_MENU
 $13	Pause	VK_PAUSE
 $14	CapsLock	VK_CAPITAL
 $1B	Esc	VK_ESCAPE
 $20	Space	VK_SPACE
 $21	BildHoch	VK_PRIOR
 $22	BildRunter	VK_NEXT
 $23	Ende	VK_END
 $24	Pos1	VK_HOME
 $25	Links	VK_LEFT
 $26	Hoch	VK_UP
 $27	Rechts	VK_RIGHT
 $28	Runter	VK_DOWN
 $29	Select	VK_SELECT
 $2A	Druck	VK_PRINT
 $2B	Execute	VK_EXECUTE
 $2C	Druck	VK_SNAPSHOT
 $2D	Einfg	VK_INSERT
 $2E	Entf	VK_DELETE
 $2F	Hilfe	VK_HELP
 $30	Taste 0	VK_0
 $31	Taste 1	VK_1
 $32	Taste 2	VK_2
 $33	Taste 3	VK_3
 $34	Taste 4	VK_4
 $35	Taste 5	VK_5
 $36	Taste 6	VK_6
 $37	Taste 7	VK_7
 $38	Taste 8	VK_8
 $39	Taste 9	VK_9
 $41	Taste A	VK_A
 $42	Taste B	VK_B
 $43	Taste C	VK_C
 $44	Taste D	VK_D
 $45	Taste E	VK_E
 $46	Taste F	VK_F
 $47	Taste G	VK_G
 $48	Taste H	VK_H
 $49	Taste I	VK_I
 $4A	Taste J	VK_J
 $4B	Taste K	VK_K
 $4C	Taste L	VK_L
 $4D	Taste M	VK_M
 $4E	Taste N	VK_N
 $4F	Taste O	VK_O
 $50	Taste P	VK_P
 $51	Taste Q	VK_Q
 $52	Taste R	VK_R
 $53	Taste S	VK_S
 $54	Taste T	VK_T
 $55	Taste U	VK_U
 $56	Taste V	VK_V
 $57	Taste W	VK_W
 $58	Taste X	VK_X
 $59	Taste Y	VK_Y
 $5A	Taste Z	VK_Z
 $5B		VK_LWIN
 $5C		VK_RWIN
 $5D		VK_APPS
 $60	Num Tastenblock 0	VK_NUMPAD0
 $61	Num Tastenblock 1	VK_NUMPAD1
 $62	Num Tastenblock 2	VK_NUMPAD2
 $63	Num Tastenblock 3	VK_NUMPAD3
 $64	Num Tastenblock 4	VK_NUMPAD4
 $65	Num Tastenblock 5	VK_NUMPAD5
 $66	Num Tastenblock 6	VK_NUMPAD6
 $67	Num Tastenblock 7	VK_NUMPAD7
 $68	Num Tastenblock 8	VK_NUMPAD8
 $69	Num Tastenblock 9	VK_NUMPAD9
 $6A	Multiplikationstaste (*)	VK_MULTIPLY
 $6B	Additionstaste (+)	VK_ADD
 $6C	Separatortaste	VK_SEPARATOR
 $6D	Subtraktionstaste (-)	VK_SUBTRACT
 $6E	Dezimaltaste (,)	VK_DECIMAL
 $6F	Divisionstaste (/)	VK_DIVIDE
 $70	F1	VK_F1
 $71	F2	VK_F2
 $72	F3	VK_F3
 $73	F4	VK_F4
 $74	F5	VK_F5
 $75	F6	VK_F6
 $76	F7	VK_F7
 $77	F8	VK_F8
 $78	F9	VK_F9
 $79	F10	VK_F10
 $7A	F11	VK_F11
 $7B	F12	VK_F12
 $7C	F13	VK_F13
 $7D	F14	VK_F14
 $7E	F15	VK_F15
 $7F	F16	VK_F16
 $80	F17	VK_F17
 $81	F18	VK_F18
 $82	F19	VK_F19
 $83	F20	VK_F20
 $84	F21	VK_F21
ass=s3> $85	F22	VK_F22
 $86	F23	VK_F23
 $87	F24	VK_F24
 $90	Numlocktaste	VK_NUMLOCK
 $91	Rollentaste	VK_SCROLL

Das Control, an das du den Tastendruck senden willst, muß den Eingabefocus haben - also vorher evtl. mit SetFocus aktivieren...
 
13.02.2005  
 




GDL
Hi Andreas,

Danke.Wie durch Geisterhand wird die Win.ini in Wordpad geladen.
Geht gleich in meine API Anwendugssammlung.Riesig net,dass Du mir gleich die Tastenbelegung mitgeliefert hast.

Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
13.02.2005  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

8.138 Views

Untitledvor 0 min.
H.Brill vor 15 Tagen
RudiB.27.09.2022
Matzbub30.12.2018
W.L.05.07.2017
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie