AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

sendkey methode umbauen

Ein Thema von benny1452 · begonnen am 23. Sep 2008 · letzter Beitrag vom 23. Sep 2008
Antwort Antwort
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#1

Re: sendkey methode umbauen

  Alt 23. Sep 2008, 11:29
Okay, da haben wir doch schon das Problem. Wenn du auf einen Button klickst, erstellt dir die Entwicklungsumgebung automatisch eine Prozedur, welche beim einem Event (nämlich dem Klick auf den Button) ausgeführt wird. Diese Prozedur muss zunächst deklariert werden, also wird dem Compiler gesagt "Hallo, dieses Forumlar besitzt eine Methode, die so und so heißt, und folgende Parameter besitzt". Dies ist im oberen Teil der Fall:

procedure Button1Click(Sender: TObject); Später kommt dann die Implementierung der Prozedur, also die eigentliche Umsetzung, der Quelltext, der ausgeführt werden soll.
Dafür erstellt dir die Entwicklungsumgebung eine leere Prozedur, (die genauso heißen muss, wie vorher in der Deklaration)

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin




end;
Diese hast du aber gelöscht. Der Compiler sieht also die Deklaration im oberen Teil deiner Unit, aber findet die Umsetzung, also die Implementierung nicht. Deswegen gibt es einen fehler.

//edit:

Du könntest das ganze z.B. so lösen:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure SendKeyString(KStr: String);
var
  Scan: SHORT;
  key: Byte;
  i: Integer;
begin
  for i := 0 to length(KStr) do begin
    key := Byte(Kstr[i]);
    Scan := MapVirtualKey(key, 0);
    keybd_event(key, Scan, 0, 0);
    keybd_event(key, Scan, KEYEVENTF_KEYUP, 0);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin

  SendKeyString('test');

end;

end.
In diesem Beispielcode würde beim Klick auf den Button die Prozedur SendKeyString aufgerufen und der String 'test' übergeben.
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz