Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Anfängerfrage (https://www.delphipraxis.net/163767-anfaengerfrage.html)

seraph 14. Okt 2011 18:55

Delphi-Version: 2007

Anfängerfrage
 
hallo zusammen,
ich bin delphi anfänger und hab mir ein kleines programm bebastelt das eine einfache berechnung vornimmt aber leider sind die ergebnisse im release anders (und falsch) aber
im debug modus richtig? Fehlt mir etwas bei den "uses"?
vielleicht hat jemand eine idee. den code kann ich auch posten falls nötig.

gruß

Ralf Kaiser 14. Okt 2011 19:00

AW: Anfängerfrage
 
Zitat:

Zitat von seraph (Beitrag 1130535)
den code kann ich auch posten falls nötig.

Also ohne den Code oder auch nur eine ungefähre Beschreibung, was das für Berechnungen sind wird dir wohl kaum jemand helfen können. :gruebel:

seraph 14. Okt 2011 19:11

AW: Anfängerfrage
 
hier mein code:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Mask,math;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    ListView1: TListView;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label5: TLabel;
    Edit5: TEdit;
    Edit6: TEdit;
    Button2: TButton;
    Label6: TLabel;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Button3: TButton;
    Label4: TLabel;
    Edit4: TEdit;
    Label7: TLabel;
    Edit11: TEdit;
    Label8: TLabel;
    Button4: TButton;
    Button5: TButton;
    Edit12: TEdit;
    Edit13: TEdit;
    Button6: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var item:TListItem;
var br,ti,ho,art,mm:string;
var breite,tiefe,hoehe,qmz:double;
begin

br:=Edit1.Text;
ti:=Edit2.Text;
ho:=Edit3.Text;
breite:= StrToFloat(br);
tiefe:=StrToFloat(ti);
hoehe:=StrToFloat(ho);
qmz:=2*hoehe*(breite+tiefe);
mm:=FloatToStr(qmz);
item := ListView1.Items.Add;
item.Caption:=br;
item.SubItems.Add(ti);
item.SubItems.Add(ho);
item.SubItems.Add(mm);
item.SubItems.Add('Raum');
end;

procedure TForm1.Button2Click(Sender: TObject);
var item:TListItem;
var br,ho,mm:string;
var breite,hoehe,qmz:double;
begin
br:=Edit5.Text;
ho:=Edit6.Text;
breite:= StrToFloat(br);
hoehe:=StrToFloat(ho);
qmz:=-breite*hoehe;
mm:=FloatToStr(qmz);
item := ListView1.Items.Add;
item.Caption:=br;
item.SubItems.Add('-');
item.SubItems.Add(ho);
item.SubItems.Add(mm);
item.SubItems.Add('F/T');

end;

procedure TForm1.Button3Click(Sender: TObject);
var item:TListItem;
var sks,sls,sti,sho,qm:string;
var ks,ls,ho,ti,qmz: double;
begin
sks:=Edit7.Text;
sls:=Edit7.Text;
sti:=Edit7.Text;
sho:=Edit7.Text;
ks:=StrToFloat(sks);
ls:=StrToFloat(sls);
ti:=StrToFloat(sti);
ho:=StrToFloat(sho);
qmz:=ti*((ks+ls)/2);
qm:=FloatToStr(qmz);
item:=ListView1.Items.Add;
item.Caption:=sks+'/'+sls;
item.SubItems.Add(sti);
item.SubItems.Add(sho);
item.SubItems.Add(qm);
item.SubItems.Add('Trapez');

end;

procedure TForm1.Button4Click(Sender: TObject);
var i:integer;
var qmgz,bbz,tolz,rolz,rolbz,roloptz:double;
var qmg,bb,tol,rol,rolopt:string;
begin
  for i := 0 to ListView1.Items.Count - 1 do
    begin
      qmgz := qmgz + StrToFloat(ListView1.Items[i].SubItems[2]);
    end;
Edit12.Text:= 'Gesamt: ' + FloatToStr(qmgz) + 'qm';
rolbz:=StrToFloat(Edit4.Text);
tolz:=StrToFloat(Edit11.Text);
rolz := qmgz/(rolbz*(100-tolz)/100);
rol:= FloatToStr(rolz);
Delete(rol,5,length(rol)-5);
roloptz:=rolz+1;
rolopt:= FloatToStr(roloptz);
Delete(rolopt,2,length(rolopt)-2);
Edit13.Text:=rol + ' Rollen ' + '('+rolopt+'Stck)';
end;

procedure TForm1.Button6Click(Sender: TObject);
var item:TListItem;
var br,ho,mm:string;
var breite,hoehe,qmz:double;
begin
br:=Edit5.Text;
ho:=Edit6.Text;
breite:= StrToFloat(br);
hoehe:=StrToFloat(ho);
qmz:=breite*hoehe;
mm:=FloatToStr(qmz);
item := ListView1.Items.Add;
item.Caption:=br;
item.SubItems.Add('-');
item.SubItems.Add(ho);
item.SubItems.Add(mm);
item.SubItems.Add('F/T');

end;

procedure TForm1.Edit1Click(Sender: TObject);
begin
(Sender as TEdit).Clear;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#48..#57, #8, #44]) then key := #0
end;

end.
also das programm macht eigenlich was ich möchte aber nur so lange ich es aus der delphi ide heraus starte wenn ich es aus dem projekt-ordner öffne sind die rechenergebnisse anders

stahli 14. Okt 2011 19:16

AW: Anfängerfrage
 
Startest Du wirklich die richtige Exe?
Das Verhalten wäre sehr ungewöhnlich.

Ach so: Herzlich willkommen!

seraph 14. Okt 2011 19:28

AW: Anfängerfrage
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Ach so: Herzlich willkommen!
dankeschön :)

also ich hab in meinem projekte ordner ja nur die eine exe ich hab mal ein bild angehängt zur besseren erklärung
links das fehlerhafte ergebnis und rechts das richtige

Bjoerk 14. Okt 2011 19:28

AW: Anfängerfrage
 
in Button4Click fehlt vor der Schleife qmgz:= 0;
in Button2Click steht qmz:= - breite*hoehe; ist das richtig?

seraph 14. Okt 2011 19:37

AW: Anfängerfrage
 
Zitat:

in Button4Click fehlt vor der Schleife qmgz:= 0;
danke! das scheint es gewesen zu sein

Zitat:

in Button2Click steht qmz:= - breite*hoehe; ist das richtig?
ja das war so absicht


danke für die hilfe

und

schönen abend

Luckie 14. Okt 2011 19:43

AW: Anfängerfrage
 
Ein aussagekräftiger Beitragstitel wäre auch nicht schlecht.

stahli 14. Okt 2011 19:46

AW: Anfängerfrage
 
Stimmt. In qmgz steht dann irgend ein Zufallswert, zu dem Du dann Werte hinzurechnest.

Welche Delphi-Version hast Du denn?
Gibt Dir der Compiler einen Hinweis aus, dass qmgz nicht initialisiert wurde?

seraph 14. Okt 2011 20:06

AW: Anfängerfrage
 
ich verwende delphi 2007

ja den compiler hinweis habe ich gesehen aber da es ja im debug modus funktionsfähig war,
bin ich nicht auf die idee gekommen, dass es die ursache des problems sein könnte


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:59 Uhr.
Seite 1 von 2  1 2      

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