AGB  ·  Datenschutz  ·  Impressum  







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

Auslöser

Ein Thema von maximus Caesar · begonnen am 12. Dez 2005 · letzter Beitrag vom 12. Dez 2005
Antwort Antwort
Benutzerbild von maximus Caesar
maximus Caesar

Registriert seit: 26. Sep 2004
Ort: Biberach
319 Beiträge
 
Turbo Delphi für Win32
 
#1

Auslöser

  Alt 12. Dez 2005, 13:02
Hallo!
Wenn jetzt z.B. eine Taste der Tastatur gedrückt wird, dann kann man ja dem Programm sagen, das es dann eine Prozeudre ausführen soll.
Wenn ich jetzt z.B. eine Variable vom Typ Integer habe, und diese einen bestimmten Wert erreicht oder übersteigt, ist es dann auch möglich, eine prozedur auszuführen, ohne dass ich andauernd im Hintergrund einen Timer oder was anderes laufen habe, das den Wert überprüft?
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#2

Re: Auslöser

  Alt 12. Dez 2005, 13:11
Nein das geht nicht. Du müsstest eine Funktion machen, über die der Integer gesetzt wird. Dann könntest du dort die Prüfung machen und eine Hier im Forum suchenCallback-Prozedur aufrufen.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Auslöser

  Alt 12. Dez 2005, 13:21
Was erhöht denn deinen Integer? Eine externe Quelle oder ne Procedure in deinem Programm?
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Auslöser

  Alt 12. Dez 2005, 13:23
Hi Maximus,
wenn es eine Integer Variable aus deinem Code ist, dann mach doch daraus ein Property mit einer Write - Methode. Da kannst du vor dem Setzen der Variablen entsprechend reagieren oder deine Procedure ausführen.
Gruß, Frank
Frank Reim
  Mit Zitat antworten Zitat
Benutzerbild von maximus Caesar
maximus Caesar

Registriert seit: 26. Sep 2004
Ort: Biberach
319 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Auslöser

  Alt 12. Dez 2005, 13:27
Zitat von dataspider:
Hi Maximus,
wenn es eine Integer Variable aus deinem Code ist, dann mach doch daraus ein Property mit einer Write - Methode. Da kannst du vor dem Setzen der Variablen entsprechend reagieren oder deine Procedure ausführen.
Gruß, Frank
Wie mach ich das?

Die Integervariable wird inerhalb des Programms bestimmt
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Auslöser

  Alt 12. Dez 2005, 14:55
Zitat von maximus Caesar:
Die Integervariable wird inerhalb des Programms bestimmt
Wenn das nur an einer Stelle geschieht prüfe dort ... ansonsten würd ich auf maximus verweisen.
(object erstelle unso .. )
EDIT: hilfe dazu: Delphi-Referenz durchsuchenProperty --> read, write
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Auslöser

  Alt 12. Dez 2005, 15:10
Wie mache ich das...
Statt einer Integer Variablen MyInteger die Variante mit Property:
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
  private
    FMyInteger: Integer;
    procedure SetMyInteger(const Value: Integer);
    { Private-Deklarationen }
  public
    property MyInteger: Integer read FMyInteger write SetMyInteger;
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.SetMyInteger(const Value: Integer);
begin
  if (FMyInteger <> Value) then
  begin
    // oder vorher procedure
    // if CheckValueOK(Value) then
    // FMeineInteger := Value
    if Value <= 10000 then
      FMyInteger := Value
    else
      ShowMessage('Nur bis 10000 gestattet...');
  end;
end;

end.
Gruß, Frank
Frank Reim
  Mit Zitat antworten Zitat
Benutzerbild von maximus Caesar
maximus Caesar

Registriert seit: 26. Sep 2004
Ort: Biberach
319 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Auslöser

  Alt 12. Dez 2005, 15:54
Danke!
  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 06:24 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