Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Edit Felder (https://www.delphipraxis.net/54112-edit-felder.html)

Grishnak 28. Sep 2005 13:09

Re: Edit Felder
 
einfach per "ShowMessage('Blablabla');"

superstar025 28. Sep 2005 13:21

Re: Edit Felder
 
einfach ich bin laie

Delphi-Quellcode:
if StrToFloat(edit1.Text)+
         StrToFloat(edit2.Text)+
         StrToFloat(edit3.Text)+
         StrToFloat(edit4.Text)+
         StrToFloat(edit5.Text)+
         StrToFloat(edit6.Text)+
         StrToFloat(edit7.Text)+
         StrToFloat(edit8.Text)+
         StrToFloat(edit9.Text)+
         StrToFloat(edit10.Text)+
         StrToFloat(edit11.Text)+
         StrToFloat(edit12.Text)

möchte das ergebnis irgendwo optisch ausgeben??!!

leddl 28. Sep 2005 13:26

Re: Edit Felder
 
Delphi-Quellcode:
ShowMessage(FloatToStr(StrToFloat(edit1.Text)+StrToFloat(edit2.Text)+
         StrToFloat(edit3.Text)+StrToFloat(edit4.Text)+
         StrToFloat(edit5.Text)+StrToFloat(edit6.Text)+
         StrToFloat(edit7.Text)+StrToFloat(edit8.Text)+
         StrToFloat(edit9.Text)+StrToFloat(edit10.Text)+
         StrToFloat(edit11.Text)+StrToFloat(edit12.Text)));

Kroko1999 28. Sep 2005 13:46

Re: Edit Felder
 
oder so
Delphi-Quellcode:
procedure TForm1.CheckEdit;
var
  I: Word;
  Err: Boolean;
  S,V: Real;
begin
  S := 0;
  Err := False;
  for I := 1 to 12 do
  begin
    try
      V := StrToFloat (TEdit(FindComponent('Edit'+IntToStr(I))).Text);
      S := S+V;
    except
      Err := True;
    end;
  end;
  if Err then ShowMessage ('balblabla')
         else ShowMessage (FloatToStr(S));
end;
Jetzt kannst Du notfalls die Summe auch nach außen transportieren!

Matze 28. Sep 2005 14:15

Re: Edit Felder
 
Falls du die EIngabe gleich mit überprüfen möchtest:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
  Erg: double;
begin
  Erg := 0;

  for i := 1 to 12 do
    Erg := Erg + StrToFloat((FindComponent('Edit' + IntToStr(i)) as TEdit).Text);

  if Erg <> 1 then
    if MessageDlg('Die Summe der 12 Monate muss 1 ergeben, aktuelle Summe: ' + FloatToStr(Erg) + '. Bitte korrigieren', mtWarning, [mbYes], 0) = mrYes then
      Button2.Enabled := false
end;

procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
begin
  //Nur Ziffern, Backspace, Punkt und Komma zulassen
  if not (Key in [#48..#57, #8, '.', ',']) then
    key := #0;

  //Punkt durch Komma ersetzen
  if key = '.' then
    key := ',';
end;

leddl 28. Sep 2005 14:28

Re: Edit Felder
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
  Erg: double;
begin
  Erg := 0;

  for i := 1 to 12 do
    Erg := Erg + StrToFloat((FindComponent('Edit' + IntToStr(i)) as TEdit).Text);

  if Erg <> 1 then
    if MessageDlg('Die Summe der 12 Monate muss 1 ergeben, aktuelle Summe: ' + FloatToStr(Erg) + '. Bitte korrigieren', mtWarning, [mbYes], 0) = mrYes then
      Button2.Enabled := false
end;

procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
begin
  //Nur Ziffern, Backspace, Punkt und Komma zulassen
  if not (Key in [#48..#57, #8, '.', ',']) then
    key := #0;

  //Punkt durch Komma ersetzen
  if key = '.' then
    key := ',';

  //Komma überprüfen
  if key = ',' then
    with (Sender as TEdit) do
      if Text = '' then //wenn Komma als erstes Zeichen,
        Text := '0'    //dann eine 0 davor einfügen
      else
        if Pos(',',Text) > 0 then //Nur ein Komma möglich
          key := #0;
end;
Wenn man schon testet, dann sollte man auch gleich richtig testen. Allerdings hab ich bestimmt irgendwo falsch gedacht :stupid: Is auf jeden Fall ungetestet und nur kurz hingeschmiert. ;)
So wird auch getestet, ob das Komma das erste Zeichen war (dann wird eine 0 vors Komma geschrieben) und ob bereits ein Komma existiert (dann wird das Komma nicht akzeptiert).
Bin mir gerade nicht mehr sicher, ob das Setzen von Edit.Text den Text selektiert, falls das der Fall ist, müßte man evtl noch die Selektion löschen.

//Edit: Kleine Fehlerchen entfernt
//Edit: En bisserl kommentiert

DP-Maintenance 28. Sep 2005 17:14

DP-Maintenance
 
Dieses Thema wurde von "r_kerber" von "Datenbanken" nach "VCL / WinForms / Controls" verschoben.
Ich habe im gesamten eigentlich keinen Hinweis gefunden, daß es sich um DB-Problem handelt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:57 Uhr.
Seite 2 von 2     12   

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