AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Möchte meinen Script verkürzen bzw. function erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Möchte meinen Script verkürzen bzw. function erstellen

Ein Thema von Homie15 · begonnen am 15. Aug 2013 · letzter Beitrag vom 16. Aug 2013
Antwort Antwort
Seite 2 von 2     12   
Furtbichler
(Gast)

n/a Beiträge
 
#11

AW: Möchte meinen Script verkürzen bzw. function erstellen

  Alt 16. Aug 2013, 07:48
...(der Code ist allerdings ungetestet).
Hättste mal .
Der Code ist leider 'Müll'. Hier sollen einfach nur Ziffern erlaubt sein, bei einem Komma gibt es eine kleine Sonderbehandlung. So geht's.

Delphi-Quellcode:
procedure DoOnKeyPress(Sender: TObject; var Key: char);
const
   BACKSPACE = #8;
var
   TheEdit: TEdit;

begin
   TheEdit := Sender as TEdit;
   If Key = ',then
     if Pos(',', TheEdit.Text) > 0 then
       Key := #0
     else if TheEdit.Text = 'then begin
       TheEdit.Text := '0,';
       TheEdit.Selstart := Length(TheEdit.Text);
     end
   else if Not (Key in ['0'..'9', BACKSPACE]) then
     Key := #0;
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#12

AW: Möchte meinen Script verkürzen bzw. function erstellen

  Alt 16. Aug 2013, 10:01
Selber Müll, an begin und end gespart, so sind auch Buchstaben zulässig
Delphi-Quellcode:
const
   BACKSPACE = #8;
var
   TheEdit: TEdit;
begin
   TheEdit := Sender as TEdit;
   If Key = ',then
    begin //<-- darf nicht fehlen
     if Pos(',', TheEdit.Text) > 0 then
       Key := #0
     else if TheEdit.Text = 'then begin
       TheEdit.Text := '0,';
       TheEdit.Selstart := Length(TheEdit.Text);
     end
    end //<-- auch nicht
   else if Not (Key in ['0'..'9', BACKSPACE]) then
     Key := #0;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von user0815
user0815

Registriert seit: 5. Okt 2007
331 Beiträge
 
Delphi XE2 Professional
 
#13

AW: Möchte meinen Script verkürzen bzw. function erstellen

  Alt 16. Aug 2013, 11:14
@DeddyH: gib mal als erstes ein Komma ein.

Warum nicht einfach so:

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
const
  BACKSPACE = #8;
begin
  if not (Key in ['0'..'9', DecimalSeparator, BACKSPACE]) then Key := #0;
end;

procedure TForm1.Edit1Exit(Sender: TObject);
begin
  try
    Edit1.Text := FormatFloat('0.00', StrToFloat(Edit1.Text));
  except
    Edit1.Text := FormatFloat('0.00', 0);;
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#14

AW: Möchte meinen Script verkürzen bzw. function erstellen

  Alt 16. Aug 2013, 11:25
Wieso sollte ich, ist ja nicht mein Code (obwohl man in dem Fall auch nur den Key entwerten oder das Komma aus der Vorlage entfernen müsste)?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 18:43 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