![]() |
Zahlen addieren
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 |
Re: Zahlen addieren
Also als erstes müsstest du natürlich die Textdatei öffnen
dazu suchst du am besten bei ![]() 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 |
Re: Zahlen addieren
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)); |
Re: Zahlen addieren
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; |
Re: Zahlen addieren
Was habt ihr alle gegen StrToIntDef() ? :-D
|
Re: Zahlen addieren
Zitat:
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 |
Re: Zahlen addieren
wieso, mit inc(x, StrToIntDef(line, 0)); kann man ohne probleme alles überspringen, mit dem man nicht rechnen kann.
|
Re: Zahlen addieren
Ich habe jetzt Michael Habbes Lösung genommen und es funktioniert wunderbar, danke! :-D
Was macht AssignFile? Gruss zebrafalke |
Re: Zahlen addieren
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz