AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

schleife für Rechenaufgabe...

Ein Thema von TheMiller · begonnen am 2. Sep 2003 · letzter Beitrag vom 14. Sep 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

schleife für Rechenaufgabe...

  Alt 2. Sep 2003, 19:53
Hi Leute,

ich habe ein Problem. Ich weis nicht wie ich eine Schleife erstellen soll, die aus einem unsichtbaren Memo mit immer wieder neu dazukommenden €-Beträgen die Summe ausrechnet. Habe echt keine Ahnung. Wäre lieb, wenn der Code gepostet werden könnte, bitte, wenn möglich, mit Erklärung.

vielen Dank
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#2

Re: schleife für Rechenaufgabe...

  Alt 2. Sep 2003, 20:27
Moin !

Ich würd die zahlen lieber in einen dynamischen array speichern da ist's
einfacher die Summe auszurechen!
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#3

Re: schleife für Rechenaufgabe...

  Alt 2. Sep 2003, 21:14
Ja, tut mri leid, davon habe ich noch weniger Ahnung. Könntest du mri das mal erklären?

Wäre nett
  Mit Zitat antworten Zitat
Benutzerbild von n00b_on_knees
n00b_on_knees

Registriert seit: 5. Apr 2003
128 Beiträge
 
#4

Re: schleife für Rechenaufgabe...

  Alt 2. Sep 2003, 21:26
Meinst du einfach ein Memofeld und addieren der Zahlen?

Wenn ja, schau nach wieviele Zeilen das ganze hat (mit zb. MMein.Lines.Count), und mach eine Schleife von i:= 1, bis zu dieser Anzahl. Dann Speicherst du dem Feld die einzelnen Werte zu, und addierst diese anschließend zur Summe die du zu Beginn auf 0 gesetzt hast.
Wenn weitere hinzukommen, schaust du wieder nach wieviel vorher da waren, rechnest vom vorigen und diesem die Differenz, und vom vorigen+1 bis zum vorigen+Differenz addierst du wieder hinzu.

Ich hoffe mal das ist nicht etwas zu kompliziert für was einfaches...
Against TCPA & And I think we should live our dreams
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#5

Re: schleife für Rechenaufgabe...

  Alt 2. Sep 2003, 21:29
jep :

Delphi-Quellcode:
type Tintarray = array of integer;



var zahlen : Tintarray; //global


//im code um ne zahl zum array hinzuzufügen
...
setlength(zahlen,high(zahlen)+2);
zahlen[high(zahlen)) := x //x ist die zahl deiner wahl
...

//funtion um die summe zu errechnen
function getsum(intarray : Tintarray):integer;
var i :integer;
begin
for i := 0 to high(intarray) do
result := result + intarray[i];
end;


//funtion aufrufen im code
...
summe := getsum(zahlen);
...
is jetzt nich getested , aber müsste funzen
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#6

Re: schleife für Rechenaufgabe...

  Alt 13. Sep 2003, 17:29
Hi, danke für die Antwort...

muss ich das in TForm4.Create schreiben oder muss nur das Arrey und die Function unter implementation und der aufruf ins Create?

Wenn ihr mir das noch sagen könntet...
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#7

Re: schleife für Rechenaufgabe...

  Alt 13. Sep 2003, 19:58
Machs einfach so:

Delphi-Quellcode:
var
  a, b, c, d, z1, z2, er: Extended;
begin
  Z1 := strtofloat(Edit1.text);
  Z2 := strtofloat(Edit2.text);
  
  Z1 := a + b; //oder auch +-*/
  Z2 := Z1+ c; //oder auch +-*/
  er := Z2+ d; //oder auch +-*/

Panel1.caption := floattostr (er);

end;
Spider
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#8

Re: schleife für Rechenaufgabe...

  Alt 13. Sep 2003, 20:12
Hier sorry, das geht net, ich nehme die Beträge aus einem Memo-feld...
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: schleife für Rechenaufgabe...

  Alt 13. Sep 2003, 20:34
Ich hoffe, ich habe dich nicht falsch verstanden.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer; Ergebnis: extended;
begin
  Ergebnis:=0;
  for i:=0 to Memo1.Lines.Count-1 do
  begin
    Ergebnis:=Ergebnis+StrToFloat(Memo1.Lines[i]);
  end;
  Label1.Caption:=FloatToStr(Ergebnis);
end;
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#10

Re: schleife für Rechenaufgabe...

  Alt 14. Sep 2003, 03:26
Hey Matze,

danke, deinen Code habe ich verstanden und angewandt. Nur ein Fehler ist drin:

Momentan sieht's so aus:

Delphi-Quellcode:
var i1: integer; Ergebnis2: extended;
begin
  Ergebnis2:=0;
  for i1:=0 to Memo3.Lines.Count-1 do
  begin
    Ergebnis2:=Ergebnis2+StrToFloat(Memo3.Lines[i1]);
  end;
  Edit42.text:=FloatToStr(Ergebnis2);
  .
  .
  .
So. er rechnet und gibt alles gut aus - Solange keine Kommazahlen im Spiel sind.

Ich gebe ein: 200+200+200+200. Es kommt raus 800.
Ich gebe ein: 200+200+200+200+1549,33+1000,12 Es kommt raus: 3354,4
Es müsste 3349,45 rauskommen.

D.H, der Pc addiert die zweite zahl nach dem Komma vor die Kommastelle und verfälscht das ergebnis. Warum?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:57 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