AGB  ·  Datenschutz  ·  Impressum  







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

Warten bis Event OnKeyDown abgearbeitet ist

Ein Thema von concept2015 · begonnen am 5. Jan 2017 · letzter Beitrag vom 8. Jan 2017
Thema geschlossen
concept2015

Registriert seit: 22. Dez 2015
Ort: Nähe Dortmund
44 Beiträge
 
Delphi 7 Professional
 
#1

Warten bis Event OnKeyDown abgearbeitet ist

  Alt 5. Jan 2017, 09:18
Delphi-Version: 7
Problem gelöst !!!
Ich habe in meiner Routine den Focus auf Edit26 gesetzt !
Das war der Fehler
Der Focus geht automatisch weiter.

************************************************** **************


Hallo Spezialisten,
ich habe ein Problem, welches ich auch nach längerem suchen nicht gelöst bekomme. (kann sein, dass ich auch nicht nach dem richtigen Begiff gesucht habe)
Ursprünglich habe ich meine Programme mit Visual Dbase programmiert.
Seit dem Tod des Mitarbeiters, in der Firma meines Freundes, der die Programme in dieser Firma entwickelt hat, beschäftige ich mich mit Delphi (freiwillig und kostenlos)
Jetzt zu meinem Problem:
In dem bestehenden Programm werden Zahlen von Hand, in mehrere Edit Felder eingetragen und ausgewertet.

Für dieses Programm habe ich eine optische Leseeinheit (Auswertung von Belegen in denen Zahlen markiert sind) eingebunden.
Hier werden jetzt mehrere Zahlen bereitgestellt.

Mein Problem ist: an Edit1 (bestehendes Prog.) wird eine Zahl gesendet und mit
Keybd_Event(VK_RETURN,0,0,0);
Keybd_Event(VK_RETURN,0,KEYEVENTF_KEYUP,0);
übergeben.
Jetzt wird das Event TForm1.Edit1KeyDown ausgelöst und eine Folge abgearbeitet.

In meiner Prozedur muss jetzt gewaret werden bis das Event TForm1.Edit1KeyDown abgearbeitet ist bevor ich in das nächste Feld(Edti26) die nächste Zahl eintragen kann.

Das bekomme ich nicht hin

Kurzfassung:
Mehrere Editfelder werden automatisch ausgefüllt.
Ich sende (aus meiner Procedure) Zahl 1 an Edit1 in der gleichen Form.
Bevor ich Zahl2 an Edit26 sende, muss das Event von Edit1 fertig sein.

Bitte dringend um HILFE

Geändert von concept2015 ( 5. Jan 2017 um 09:49 Uhr) Grund: gelöst
 
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: Warten bis Event OnKeyDown abgearbeitet ist

  Alt 5. Jan 2017, 09:49
Mir ist jetzt nicht ganz klar geworden, ob das alles im selben Programm stattfindet, oder ob das Programm mit den Edits von einem externen Programm gesteuert/gefüllt wird?
Ralph
 
concept2015

Registriert seit: 22. Dez 2015
Ort: Nähe Dortmund
44 Beiträge
 
Delphi 7 Professional
 
#3

AW: Warten bis Event OnKeyDown abgearbeitet ist

  Alt 5. Jan 2017, 09:52
Tut mir leid ... habe es hinbekommen.
Alles in einem Programm (6000 Zeilen)
 
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Warten bis Event OnKeyDown abgearbeitet ist

  Alt 5. Jan 2017, 12:35
Wenn alles innerhalb des Delphiprogramms läuft, würde ich statt irgendwelche Tasten auszulösen (z.B. VK_RETURN) lieber die Edits direkt füllen (Edit1.Text := 'blabla').
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
 
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Warten bis Event OnKeyDown abgearbeitet ist

  Alt 5. Jan 2017, 13:35
@Baumina
Ich vermute das:
Zitat:
Für dieses Programm habe ich eine optische Leseeinheit (Auswertung von Belegen in denen Zahlen markiert sind) eingebunden.
Hier werden jetzt mehrere Zahlen bereitgestellt.
steckt dahinter. Und da viele Benutzer/Chefs nicht in der Lage sind zu sagen was sie wollen/benötigen kommen dann solche Durchdiebrustinsaugekonstrukte heraus.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
 
concept2015

Registriert seit: 22. Dez 2015
Ort: Nähe Dortmund
44 Beiträge
 
Delphi 7 Professional
 
#6

AW: Warten bis Event OnKeyDown abgearbeitet ist

  Alt 5. Jan 2017, 15:17
Hallo,
meine Routine hat 6 Zahlen gelesen und soll sie nun in dem Hauptprogramm in die vorhandenen Felder eintragen.

Es geht darum, ca 300 Belege werden täglich eingegeben (von Hand)
Um diese Arbeit zu vereinfachen, werde ich die Belege umstellen.

Es werden keine Zahlen auf den Beleg geschrieben sondern Zahlen markiert.
Diese Markierungen werden von einem anderen Programm gelesen und
in die entsprechenden Zahlen umgewandelt.

Klappt alles !

Jetzt sollen diese Zahlen im eigentlichen Programm per Button übertragen werden ... Klappt auch alles ... bis auf einen Fehler,
der sich erst jetzt herausgestellt hat.

Die letzte Zahl z.B 118,50 (das ist die einzige Zahl mit Dezimalstellen)
wird nicht richtig übernommen ! das Komma fehlt !

Eingetragen wird 11850
Zum übertragen nutze ich die PostKeyExHWND Prozedur die hier im Forum schon mehrfach besprochen wurde.

Alles klappt wunderbar ! nur dieses Komma oder Punkt wird in der Procedure gelöscht oder übergangen

Habt Ihr eine Idee ?
 
Thema geschlossen

 

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 15:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz