AGB  ·  Datenschutz  ·  Impressum  







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

Grundlagennachhilfe Ereignis OnEnter

Ein Thema von VolksTobi · begonnen am 11. Mär 2005 · letzter Beitrag vom 16. Mär 2005
Antwort Antwort
Seite 1 von 2  1 2      
VolksTobi

Registriert seit: 9. Mär 2005
Ort: Jena
7 Beiträge
 
Delphi 2005 Professional
 
#1

Grundlagennachhilfe Ereignis OnEnter

  Alt 11. Mär 2005, 15:02
OnEnter Ereignis einer Listbox

Das Problem: Zur Laufzeit des Programms wird eine Listbox erzeugt und mit Werten gefüllt. Jetzt müßte ich das Ereignis OnEnter der Listbox auswerten, um einen ausgesuchten Wert herauszulesen.
Einer bereits beim Laden des Formulars vorhandenen Listbox würde ich im ObjectInspector einfach dem Ereignis OnEnter eine Routine zuweisen. Wie geht das aber zur Laufzeit?

Ich habe es zwar mit Listbox1.onEnter(Sender) := Routine versucht, aber das geht nicht. Die Syntax
ist auch procedure onEnter(Sender: TObject) of object.

MfG -- VolksTobi
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Grundlagennachhilfe Ereignis OnEnter

  Alt 11. Mär 2005, 15:10
Delphi-Quellcode:
unit Unit1;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.DeinOnEnter(Sender : TObject);
begin
  // schreib was rein
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.OnEnter := DeinOnEnter;
end;

end.
So müsste es gehn. Die Procedure bei TForm1 unter public deklarieren und dann zuweisen.
Michael
  Mit Zitat antworten Zitat
VolksTobi

Registriert seit: 9. Mär 2005
Ort: Jena
7 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Grundlagennachhilfe Ereignis OnEnter

  Alt 11. Mär 2005, 16:38
Erst mal - danke fürs Nachdenken!

Ich habe es ausprobiert:

Der Compiler schlägt mit folgender Fehlermeldung zurück

[Fehler] HProg.pas(102): E2010 Inkompatible Typen: 'TNotifyEvent' und 'procedure, untyped pointer or untyped parameter'

mfg VolksTobi
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Grundlagennachhilfe Ereignis OnEnter

  Alt 11. Mär 2005, 17:01
dann wirst du wohl nicht
procedure TForm1.DeinOnEnter(Sender : TObject); sondern
procedure DeinOnEnter(Sender : TObject); geschrieben. Also einfach die Procedure als Methode eines Objectes declarieren.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
VolksTobi

Registriert seit: 9. Mär 2005
Ort: Jena
7 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Grundlagennachhilfe Ereignis OnEnter

  Alt 14. Mär 2005, 20:45
Ich habe die Syntax hinbekommen. Sie war genauso wie beschrieben. Ich konnte aber das Ereignis OnEnter nicht auswerten (falls jemand weiß warum, würde mich interessieren).

Meine Lösung sieht jetzt so aus:

Delphi-Quellcode:
     .....
 LBox1.OnKeyUp := LBox1KeyUp;
      ......

procedure TForm1.LBox1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
var vbefehl: String;
begin
  if (Key = VK_RETURN) and (Shift = []) then
   begin
    LBox1 := TListbox(Sender);
    vBefehl := '';
    if (LBox1.Items.Count > 0) then
      begin
       vBefehl := BoxAuswahl(LBox1);
          ....
Gruß -- VolksTobi

[edit=Luckie]Benutz das nächste mal Bitte [ delphi]-Tags. Danke. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Grundlagennachhilfe Ereignis OnEnter

  Alt 14. Mär 2005, 21:15
Hai VolksTobi,

in deinem Code arbeitest Du doch mit dem OnKeyUp Ereigniss. Was hat das denn mit dem urspünglich gefragten OnEnter zu tun?

Beschreibe doch einmal was Du machen möchtest. Ich habe das Gefühl das Du da etwas Grundlegendes falsch verstanden hast
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
VolksTobi

Registriert seit: 9. Mär 2005
Ort: Jena
7 Beiträge
 
Delphi 2005 Professional
 
#7

Re: Grundlagennachhilfe Ereignis OnEnter

  Alt 14. Mär 2005, 23:31
Hallo Sharky,

Zitat:
Ich habe das Gefühl das Du da etwas Grundlegendes falsch verstanden hast
ich fürchte, damit hast Du nicht ganz unrecht. Wenn Du Dir vorstellen willst, was ich vorhabe, brauchst Du nur die Borland IDE zu nehmen. Ich lese aus einem Memo das letzte Wort und suche damit in einer Datenbank. Das Ergebnis lese ich in eine Listbox ein, die zur Laufzeit erzeugt wird. Ein Eintrag wird markiert und mit Enter ausgewählt, anschließend in das Memo eingetragen. Die Listbox wird danach zerstört.

Wann verwendet man denn nun das OnEnter - Ereignis. In diesem Fall wie ich gemerkt habe offensichtlich nicht.

Gruß -- VolksTobi

Entschuldige Luckie - ich hatte die Buttons nicht beachtet, bin erst wenige Tage hier vertreten!
  Mit Zitat antworten Zitat
Quake

Registriert seit: 25. Aug 2003
222 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Grundlagennachhilfe Ereignis OnEnter

  Alt 15. Mär 2005, 07:21
Hat dein Delphi keine Hilfe?

OnEnter hat nix mit der Enter Taste zu tun. Es wird ausgelöst wenn das Steuerelement den Focus erhält.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Grundlagennachhilfe Ereignis OnEnter

  Alt 15. Mär 2005, 08:35
Hai VolksTobi,

ich habe mal ein Beispiel getippelt wie ich es lösen würde. Natürlich müsstest Du das füllen der ListBox noch anpassen
Angehängte Dateien
Dateityp: zip demo_155.zip (6,5 KB, 8x aufgerufen)
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
VolksTobi

Registriert seit: 9. Mär 2005
Ort: Jena
7 Beiträge
 
Delphi 2005 Professional
 
#10

Re: Grundlagennachhilfe Ereignis OnEnter

  Alt 15. Mär 2005, 23:45
Hallo Sharky,

erst mal vielen Dank für den Quellcode. Interessant war für mich, wie oft Du Sender einsetzt. Damit stehe ich noch etwas auf Kriegsfuß. Aber solche Dinge kann man nach einem 12 Wochen (!!) - Lehrgang noch nicht erwarten. Literaturstudium wirds richten.

Eine Sache ist mir etwas unklar geblieben. Ich hatte händeringend nach einem Ereignis gesucht, innerhalb dessen ich die Listbox zerstören kann.

Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if Assigned(LBox1) then FreeAndNil(LBox1);
end;
Da hier ja nicht das Formular geschlossen wird, nehme ich an, das hängt mit dem Assignet zusammen. Die Delphi-Hilfe ist da etwas wenig verständlich (für mich). Obwohl es ganz hervorragend funktioniert.

Gruß -- VolksTobi
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:44 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