AGB  ·  Datenschutz  ·  Impressum  







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

Wie Sender ermitteln ?

Ein Thema von Armageddon · begonnen am 22. Aug 2003 · letzter Beitrag vom 23. Aug 2003
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#11

Re: Wie Sender ermitteln ?

  Alt 23. Aug 2003, 09:22
Ok Niko,

ich Versuch mal ob ich es hinkriege.
Das ich das Z_Position.Text durch (........ as TEdit).Text ersetzen kann habe ich mir auch schon gedacht.

Bin nur noch nicht ganz sicher wegen dem Z_Position.SelStart !

Will die Procedure ja für mehrer Edit's verwenden.

Querbohrdurchmesser.Text
Z_Position.Text
Y_Versatz.Text
Wirkdurchmesser.Text
Bohrdurchmesser.Text

Das sind se. Aber damit ich nicht bei jedem den ganze Kladeradatsch schreiben muß dachte ich mir wie mach ich es kürzer. Ne Function oder so aber da ist mir dann nach ner Weile die Puste ausgegangen.

Nen Beispiel fänd ich fein.

Gruß Arma.
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#12

Re: Wie Sender ermitteln ?

  Alt 23. Aug 2003, 11:31
dann gibst du jedem edit im tag einen wert an und ermittelst diesen über (sender as Tedit).tag raik
  Mit Zitat antworten Zitat
Niko

Registriert seit: 23. Jun 2003
416 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Wie Sender ermitteln ?

  Alt 23. Aug 2003, 17:29
Delphi-Quellcode:
procedure TForm1.EditsKeyPress(Sender: TObject; var Key: Char);
var
  Position: Integer;
  Stellenpuffer: String;
  Zeichenpuffer: String;
  Stellenanzahl: Integer;
begin
  Komma := False;
  Zeichenpuffer := (Sender as TEdit).Text;
  if Pos(',', Zeichenpuffer) > 0 then Komma := True;
  if (Komma = True) and (Key = #44) then Key := #0;
  if (Komma = True) and (Key = #46) then Key := #0;
  if (Komma = False) and (Key = #46) then Key := ',';
  if (Sender as TEdit).SelStart < Pos(',', (Sender as TEdit).Text) then
  else
  if Pos(',', Zeichenpuffer) > 0 then
    begin
    Stellenanzahl := Length(Zeichenpuffer);
    Position := Pos(',', Zeichenpuffer);
    Stellenpuffer := Copy(Zeichenpuffer, Position+1, Stellenanzahl-Position);
    Stellenanzahl := Length(Stellenpuffer);
    if Stellenanzahl = 3 then
    begin
      if (Key in [#44, #46, #48..#57]) then Key := #0
    end;
  end;
  if (Sender as TEdit).SelStart < Pos('-', (Sender as TEdit).Text) then
    begin
    if (Key in [#48..#57]) then Key := #0;
    end;
  if Key = #13 then Key := #0;
  if not (Key in [#8, #44..#46, #48..#57]) then Key := #0;
  if(Sender as TEdit).SelStart = 0 then
    begin
    if Key = #45 then Key := #45;
    end;
  if (Sender as TEdit).SelStart > 0 then
    begin
    if Key = #45 then Key := #0
    end;
  if Pos('-', (Sender as TEdit).Text) > 0 then
    begin
    if Key = #45 then Key := #0
    end;
end;
Diese Prozedur weist du einfach jedem Edit als OnKeyPress-Ereignis zu - fertig.

Erklärung:
Sender verweist immer auf das Objekt, das die Ereignisprozedur aufgerufen hat - in diesem Fall ein Edit. Nach einer Typumwandlung mit "as TEdit", "as TLabel", etc. kannst du dann auf alle Eigenschaften und Methoden des aufrufenden Objekts zugreifen.
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)
  Mit Zitat antworten Zitat
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#14

Re: Wie Sender ermitteln ?

  Alt 23. Aug 2003, 18:16
Cool,

danke Niko.

Wie es der Zufall will habe ich genau das was Du geschrieben hast selber gemacht. Wollte nur nochmal wegen dem .tag hier reinschauen weil ich das nicht ganz nachvollziehen kann. Das mit dem Sender ist ja eigentlich logisch.

Besten Dank

Arma.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 17:07 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