Einzelnen Beitrag anzeigen

torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Konvertierungsproblem zwischen string und integer

  Alt 10. Okt 2004, 19:10
Hallo Leute!

ich mache da irgendwo irgendwie einen mehr als dämlichen Fehler, finde ihn aber nicht...
Ich setze nach einer Combobox-Bedienung in einem anderen Edit einen Preis ein. Dies geschieht hier:

Delphi-Quellcode:
procedure TForm1.cmb_geb_nr1Change(Sender: TObject);
begin
    if cmb_geb_nr1.Text='1'    then ed_geb_nr1.Text:='4,40';
    if cmb_geb_nr1.Text='1200then ed_geb_nr1.Text:='3,60';
    if cmb_geb_nr1.Text='1216then ed_geb_nr1.Text:='5,55';
    if cmb_geb_nr1.Text='1229then ed_geb_nr1.Text:='11,11';
    if cmb_geb_nr1.Text='Dokumentationthen ed_geb_nr1.Text:='6,15';
    if cmb_geb_nr1.Text=''     then ed_geb_nr1.Text:='';
    //ShowMessage('nach dem zuweisen');
end;
In dem Edit löse ich im OnChange-Ereignis eine Berechnung aus. Natürlich ist das doof, dass ich dafür immer alles noch von string nach integer konvertieren muss, aber ich weiss nichts besseres. Jedenfalls hier die Routine, die dann den EditInhalt und den von 10 weiteren nimmt und alles zusammenrechnen soll. Hier schmiert aber die Routine ab. Die Messagebox bekomme ich noch und dann die Meldung, dass 4,40 kein Integerwert ist.

Delphi-Quellcode:
procedure TForm1.ed_geb_nr1Change(Sender: TObject);
var
  a,b,c,d,e,f,g,h,i,j:integer;
begin
    ShowMessage('vorm rechnen');
   if ed_geb_nr1.text >'then a:=StrToInt(ed_geb_nr1.text) else a:=0;
   if ed_geb_nr2.text >'then b:=strtoint(ed_geb_nr2.text) else b:=0;
   if ed_geb_nr3.text >'then c:=strtoint(ed_geb_nr3.text) else c:=0;
   if ed_geb_nr4.text >'then d:=strtoint(ed_geb_nr4.text) else d:=0;
   if ed_geb_nr5.text >'then e:=strtoint(ed_geb_nr5.text) else e:=0;
   if ed_geb_nr6.text >'then f:=strtoint(ed_geb_nr6.text) else f:=0;
   if ed_geb_nr7.text >'then g:=strtoint(ed_geb_nr7.text) else g:=0;
   if ed_geb_nr8.text >'then h:=strtoint(ed_geb_nr8.text) else h:=0;
   if ed_geb_nr9.text >'then i:=strtoint(ed_geb_nr9.text) else i:=0;
   if ed_geb_nr10.text >'then j:=strtoint(ed_geb_nr10.text) else j:=0;
   ed_ges1.Text:=inttostr(a+b+c+d+e+f+g+h+i+j);
end;

Wer weiss Rat oder hat eine bessere Idee???
Danke
Tom
  Mit Zitat antworten Zitat