| Autor |
Beitrag |
florida
      
Beiträge: 137
Windows 7 Home Premium, Windows XP Professional, Windows 2000
Delphi 2010 Architect
|
Verfasst: Fr 18.06.10 19:21
Wieso funktioniert das eigentlich nicht?
Delphi-Quelltext 1: 2: 3: 4:
| for I := 0 to Memo1.Lines.Count do begin keybd_event(VK_DOWN,0,0,0); end; |
|
|
der organist
      
Beiträge: 467
Erhaltene Danke: 17
WIN 7
NQC, Basic, Delphi 2010
|
Verfasst: Fr 18.06.10 19:49
Ich glaube, dass du mehr sagen solltest, als "Warum funzt das nicht?" Was genau passiert? Und was willst du erreichen? etc. hast ja schon etwas mehr im Forum geschrieben, weisst doch eigentlich, wie's hier läuft
Gruss, Lukas
_________________ »Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
|
|
icho2099
      
Beiträge: 101
Erhaltene Danke: 12
WIN XP, WIN 7, WIN 10
Delphi 6 Prof, Delphi 2005, FPC
|
Verfasst: Fr 18.06.10 20:03
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Fr 18.06.10 20:06
Das -1 ist in dem fall egal, da er ja nicht auf das Memo zugreift. -1 müsste nur hinten dran wenn er wirklich dann mit der Laufvariable auf die einzelnen Zeilen zugreifen will.
Am besten wäre es wenn wir warten bis uns der Threadersteller erzählt was er machen will und was derzeit passiert, vielleicht gibts ja ne einfachere Methode oder so.
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
florida 
      
Beiträge: 137
Windows 7 Home Premium, Windows XP Professional, Windows 2000
Delphi 2010 Architect
|
Verfasst: Fr 18.06.10 20:28
Ich möchte, dass das ganze Memo anhand dieser Schleife durchsucht wird und dabei soll nach jeder Zeile "Pfeil unten" gedrückt werden.
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Fr 18.06.10 20:34
Du weißt das du da nichts durchsuchst, sondern einfach die schleife solange laufen lässt wie die größe des Memos ist? Durchsucht im eigentlichen sinn wird hier nix.
und was hoffst du das Passiert wenn du die Pfeil-Runter-Taste drücken lässt? Wenn der Fokus auf einem Button oder so liegt (weil dort die schleife drin steht) wird gar nix passieren. Deswegen noch mal meine Frage, was soll passieren wenn du das VK_Down losschickst? Soll ein Cursor im Memo eine Zeile runter wandern, oder...?
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
MaPsTaR
      
Beiträge: 90
Erhaltene Danke: 4
Win XP
Delphi 7 Enterprise
|
Verfasst: Sa 19.06.10 00:14
Wenn ich ihn richtig verstanden habe sucht er sowas:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| for i := 0 to Memo1.Lines.Count-1 do begin if Memo1.Lines[i] = irgendwas then end; |
_________________ Liebe Kinder, es stimmt ... solnage auch nur der ertse und lezte Bchutsabe rihctig ist und alle andreen Bcuhsatben irgendwie vorahnden sind,
dann knan man es dennonch lesen, also macht nur weiter so, wir verstehen euch schon
|
|
Gerd Kayser
      
Beiträge: 632
Erhaltene Danke: 121
Win 7 32-bit
Delphi 2006/XE
|
Verfasst: Sa 19.06.10 06:01
|
|
florida 
      
Beiträge: 137
Windows 7 Home Premium, Windows XP Professional, Windows 2000
Delphi 2010 Architect
|
Verfasst: Sa 19.06.10 07:25
Ja, aber ohne for funktioniert es auch, wenn man nur die erste obere Zeile stehen lässt.
|
|
Gerd Kayser
      
Beiträge: 632
Erhaltene Danke: 121
Win 7 32-bit
Delphi 2006/XE
|
Verfasst: Sa 19.06.10 07:43
florida hat folgendes geschrieben : | | Ja, aber ohne for funktioniert es auch, wenn man nur die erste obere Zeile stehen lässt. |
Eine mit Keybd_Event gedrückte Taste ist auch wieder los zu lassen. Alles andere ist Murks.
msdn.microsoft.com/e...ms646304(VS.85).aspx
Und da steht: KEYEVENTF_KEYUP - If specified, the key is being released. If not specified, the key is being depressed.
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Sa 19.06.10 09:16
florida hat folgendes geschrieben : | | Ja, aber ohne for funktioniert es auch, wenn man nur die erste obere Zeile stehen lässt. |
ja, aber in einer Schleife nicht!! Ohne Schleife machst Du ja wieder ein Buttonclick z.B.
Ansonsten musst Du in der Schleife das mit reinnehemen!
Delphi-Quelltext
Um es richtig zu machen nimm einfach dieses:
Delphi-Quelltext 1:
| Memo1.Perform(WM_VSCROLL, SB_LINEDOWN, 0); |
Gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Sa 19.06.10 11:48
Hi,
Du versuchst vermutlich, den Cursor zu setzen? (vk_DOWN 1x für jede Zeile im Memo)
Sieh' dir mal die Property 'SelStart' von TMemo bzw. TRichEdit an, damit kannst du den Curser direkt setzen! Die Anzahl der Zeichen im Memo erhältst du über Length(Memo1.Text).
lg,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|