| |
|
|
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 |
|
|
| |
|
|
|
| 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 |
|
|
| |
|
|
|
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 |
|
|
| |
|
|
|
| Ah verstehe - dann probiere doch mal an den insertstring das chr$(10) oda 13 direkt anzuhängen statt per sendkey.
Salve, iF |
|
|
| |
|
|
|
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 |
|
|
| |
|
|
|
| Wie gesagt probiere doch mal ganz ohne Sendkey
InsertString editor&,wert$+chr$(10)
müsste doch eigendlich auch gehen.
Salve, iF |
|
|
| |
|
|
|
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 |
|
|
| |
|
|
|
GDL | Hi
habs komplett anders(ohne sendkey) jetzt gelöst.Auf normale Profandialoge geht sendkey allerdings richtig.
Georg |
|
|
| |
|
|
|
| Als weitere Alternative hätte ich da noch die API kb_event anzubieten... |
|
|
| |
|
|
|
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 |
|
|
| |
|
|
|
| Hallo Georg...
Kein Problem: KompilierenMarkierenSeparierenkbd_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... |
|
|
| |
|
|
|
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 |
|
|
| |
|
|