Einzelnen Beitrag anzeigen

ruffy407

Registriert seit: 17. Dez 2006
9 Beiträge
 
#1

Funktion für kommastelle

  Alt 17. Dez 2006, 23:26
Hey also ich hab gerade erst angefangen delphi zu lernen und muss eine große hausarbeit bald abgeben... ich bin aber echt am verzweifeln da ich mir das alles selber beibringen muss... hoffe ihr könnt mir helfen.
Also ich habe ein paar editfelder und möchte die eingegebenen daten in einer listbox widergeben.
das funktioniert auch soweit mittels der doppeltverketteten liste. Doch jetz habe ich das problem, dass ein editfeld körpergröße bestimmen soll (z.B. 1,70 m).
ich möchte dass wenn der benutzer eine ganzzahlige eingabe (z.b. 170) macht, ein warn fenster kommt mit der aufforderung es mit einem komma einzugeben.

ich habe mir gedacht ich könnte dies mit einer funktion lösen die sagt "wenn ein komma in der eingabe enthalten ist, gebe diese nachricht aus".
Es funktioniert aber noch gar nich.. vieleicht habei hc das ganze prinzip von funktionen noch nich verstanden. Naja hier der Quellcode Ausschnitt:



Delphi-Quellcode:
function kommawert(eingabe : string) : boolean;
var
i : integer;
begin
  for i:=1 to length(eingabe) do begin
    if eingabe[i]=',then begin
      result := eingabe[i]=',';
    end
    else
      result := eingabe[i]<>',';
  end;
end;

procedure TMyFriend.EintragenClick(Sender: TObject);
var
komma : string;
Neu : Tknoten;
begin
  komma:= editgroesse.Text;
  if (editname.Text <>(''))
  and (editvorname.Text <>(''))
  and (editalter.Text <>(''))
  and (editgroesse.Text <>('')) then begin
      if (kommawert(komma)) then begin
      Neu := TKnoten.Init;
      neu.name := editname.Text;
      neu.vorname := editvorname.Text;
      try
        neu.alter := (strtoint(editalter.Text));
      except
        showmessage('"Alter" muss eine Zahl sein!') ;
        editalter.Clear;
        activecontrol := editalter;
        exit;
      end;

      try
        neu.groesse := (strtofloat(editgroesse.Text));
      except
        showmessage('"Größe" muss eine Zahl sein!');
        editgroesse.Clear;
        activecontrol := editgroesse;
        exit;
      end;

      Neu.Nach := Anfang.Nach;
      Neu.Nach.Vor := Neu;
      Anfang.nach := Neu;
      Neu.Vor := Anfang;

      editname.clear;
      editvorname.Clear;
      editalter.Clear;
      editgroesse.Clear;

      activecontrol := editname;
      anzeige;
      end
      else
      showmessage('Bitte eine Zahl mit kommestelle eingeben!');

    end
  else begin
    showmessage('Felder dürfen nicht leer sein!');
  end;
end;
Ich drehe mich hier echt im kreis und komme nicht weiter... ich bin so ideenlos als anfänger.

Kann mir bitte jemand sagen was ich an diesem quellcode alles anders machen muss ?
Danke euch!

[edit=r_kerber]code- durch delphi-Tags ersetzt Mfg, r_kerber[/edit]
  Mit Zitat antworten Zitat