AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Zahlen addieren

Ein Thema von zebrafalke · begonnen am 23. Jul 2006 · letzter Beitrag vom 24. Jul 2006
Antwort Antwort
Benutzerbild von zebrafalke
zebrafalke

Registriert seit: 25. Feb 2006
155 Beiträge
 
Turbo Delphi für Win32
 
#1

Zahlen addieren

  Alt 23. Jul 2006, 23:43
Hallo,
ich habe eine Textdatei mit vielen zahlen untereinander und möchte mithilfe ines Programms diese zahlen addieren, wie könnte man das machen?


Gruss
zebrafalke
  Mit Zitat antworten Zitat
jmd anders

Registriert seit: 13. Mai 2004
84 Beiträge
 
#2

Re: Zahlen addieren

  Alt 23. Jul 2006, 23:50
Also als erstes müsstest du natürlich die Textdatei öffnen
dazu suchst du am besten bei http://www.delphibasics.co.uk/
da ist dann auch ein beispiel zu finden.

dann ist zu klären, ob nur zahlen in der textdatei enthalten sind oder auch buchstaben oder vielleicht auch zahlen die du gar nicht addieren willst.
falls ja dann wird die sache ein wenig komplizierter.

aber falls nur deine zahlen enthalten sind, dann kannst du immer mit readln eine zahl auslesen und dann mit StrToInt in einen integer wert umwandeln

aber kläre erstmal wie die textdatei aufgebaut ist, dann sieht man ja wieviel aufwand dieses programm erfordert
  Mit Zitat antworten Zitat
mr.winkle

Registriert seit: 25. Mai 2006
98 Beiträge
 
Delphi 7 Personal
 
#3

Re: Zahlen addieren

  Alt 23. Jul 2006, 23:53
Hallo Zebrafalke
Die folgenden Zeilen hab ich nicht ausprobiert,
aber vom Prinzip her sollte man es so machen können:

(vorrausgesetzt ist ein Dokument das die Zahlen - ohne andere Zeichen - untereinander reiht)

Delphi-Quellcode:
var s:tstringlist;
    add:integer;

s:=tstringlist.create;
add:=0;
s.loadfromfile('datei.txt');
for i:=0 to s.lines.count-1 do inc(add,strtoint(s[i]));

showmessage('Summe: '+inttostr(add));
  Mit Zitat antworten Zitat
Benutzerbild von Michael Habbe
Michael Habbe

Registriert seit: 10. Aug 2005
264 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Zahlen addieren

  Alt 23. Jul 2006, 23:58
Mal ein (Simpel-)Beispiel:
Delphi-Quellcode:
procedure blablupp;
var
  f: TextFile;
  s: String;
  x: Double;
begin
  x := 0;
  AssignFile(f, 'meineDatei.xyz');
  Reset(f);
  while not Eof(f) do
  begin
    ReadLn(f, s);
    try
      x := x + StrToFloat(s);
    except
    end;
  end;
  ShowMessage(FloatToStr(x));
end;
  Mit Zitat antworten Zitat
Benutzerbild von NicNacMan
NicNacMan

Registriert seit: 28. Mai 2004
Ort: Hamburg
98 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Zahlen addieren

  Alt 23. Jul 2006, 23:59
Was habt ihr alle gegen StrToIntDef() ?
The Double-Crunch-Peanuts!
SwapIt:
  Mit Zitat antworten Zitat
jmd anders

Registriert seit: 13. Mai 2004
84 Beiträge
 
#6

Re: Zahlen addieren

  Alt 24. Jul 2006, 00:11
Zitat von NicNacMan:
Was habt ihr alle gegen StrToIntDef() ?
ehm?
Was hat das mit dem problem zu tun?
was will man mit default werten, besser ist doch wenn man bei einem Konvertierungsproblem, eine exception erhält, als falsche werte
  Mit Zitat antworten Zitat
Benutzerbild von NicNacMan
NicNacMan

Registriert seit: 28. Mai 2004
Ort: Hamburg
98 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Zahlen addieren

  Alt 24. Jul 2006, 00:25
wieso, mit inc(x, StrToIntDef(line, 0)); kann man ohne probleme alles überspringen, mit dem man nicht rechnen kann.
The Double-Crunch-Peanuts!
SwapIt:
  Mit Zitat antworten Zitat
Benutzerbild von zebrafalke
zebrafalke

Registriert seit: 25. Feb 2006
155 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Zahlen addieren

  Alt 24. Jul 2006, 16:54
Ich habe jetzt Michael Habbes Lösung genommen und es funktioniert wunderbar, danke!


Was macht AssignFile?


Gruss

zebrafalke
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.657 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Zahlen addieren

  Alt 24. Jul 2006, 17:00
aus der Hilfe:

[quote]procedure AssignFile(var F; FileName: string);

Description

Call AssignFile to initialize a file variable. F is a file variable of any file type. FileName is a string-type expression or an expression of type PChar if extended syntax is enabled.

After calling AssignFile, F is associated with the external file until F is closed. All further operations on the file variable F operate on the external file named by FileName.

When the FileName parameter is empty, AssignFile associates F with the standard input or standard output file. If assigned an empty name, after a call to Reset (F), F refers to the standard input file, and after a call to Rewrite (F), F refers to the standard output file.

Do not use AssignFile on a file variable that is already open.

Note: To avoid scope conflicts, AssignFile replaces the Assign procedure that was available in previous versions of Delphi. However, for backward compatibility Assign is still available.[/quote]


Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf