Autor Beitrag
crossit
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: So 13.12.09 22:13 
hallo delpier,
habe folgendes problem unzwar habe ich mehrere rechen aufgaben hintereinander die in ein endergebnis zusammen gefassst werden sollen jedoch finde ich den richtigen code dafür nicht
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
   zahl3 := strtoint(l55.Text);
   zahl4 := strtoint(l70.Text);
   zahl5 := strtoint(l80.Text);
   ergebnis1:= zahl1+zahl2+zahl3+zahl4+zahl5;
   zahl3 := strtoint(255.Text);
   zahl4 := strtoint(l270.Text);
   zahl5 := strtoint(l380.Text);
   ergebnis2:= zahl1+zahl2+zahl3+zahl4+zahl5;

endergebis:= ergebnis+ ....+ergebnis6 ;
liste.add('gesammtergebnis lauten ' + endergebnis);

dies ist eine verkleinerte variante von der rechnung zeigt aber glaube ich was ich meine.
dachte mir das geht so jedoch funz das nicht
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: So 13.12.09 22:31 
ausblenden Delphi-Quelltext
1:
liste.add('gesammtergebnis lauten ' + IntToStr(endergebnis));					



Wenn du einen Text ausgibst, musst du die Zahl in einen Text umwandeln. An dieser Stelle wäre links vom "+" ein String und rechts davon eine Zahl. Dann weiß der Compiler nicht, ob es sich um eine Addition von Zahlen handelt oder um ein Zusammenfügen von Texten.

Und was meinst du mit 255.Text??

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
crossit Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: So 13.12.09 22:39 
was meinst du damit? kann mir darunter irgendwie nichts vorstellen tut mir leid .

mit 255.text ist nur eine edit feld gemeint
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: So 13.12.09 22:42 
Worunter kannst du dir nichts vorstellen?

Zahlen als Objektnamen sind nicht erlaubt. Wähle sowas wie Zahl1, Zahl2...

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
crossit Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: So 13.12.09 22:51 
user profile iconplatzwart hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
liste.add('gesammtergebnis lauten ' + IntToStr(endergebnis));					

Wenn du einen Text ausgibst, musst du die Zahl in einen Text umwandeln. An dieser Stelle wäre links vom "+" ein String und rechts davon eine Zahl. Dann weiß der Compiler nicht, ob es sich um eine Addition von Zahlen handelt oder um ein Zusammenfügen von Texten.


dadrunter kann ich mir nichts vorstellen

die zahlen sollten hier im editfeld namen nur ein beispiel sein heißen natürlich anders ;)
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: So 13.12.09 22:55 
Und was ist nun ganz konkret das Problem?!?!?

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
crossit Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: So 13.12.09 22:57 
mein problem ist das sofern ich den code den ich oben geschrieben habe starte ich eine fehlermeldung bekomme da endergebnis ein integer und string ist und ich diesen fehler beheben möchte
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: So 13.12.09 22:59 
Und ich habe dir doch die Lösung auf dem Silbertablett geliefert. Hast du dir meine Quelltextzeile mal angeschaut bzw. die mal in dein Programm eingesetzt?

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
crossit Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: So 13.12.09 23:14 
tut mir leid hatte die () einfahc bei dir übersehen
ausblenden Delphi-Quelltext
1:
2:
endergebis:= ergebnis+ ....+ergebnis6 ; // hier erscheint ein fehler:  'inkorpartieble typen :string + integer
liste.add('gesammtergebnis lauten ' + endergebnis);
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: So 13.12.09 23:19 
Du machst es einem aber auch echt nicht einfach... Wie soll man da den Fehler sehen? Wie sind die Variablen denn deklariert?

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
crossit Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: So 13.12.09 23:23 
ich mache es dir mal leichter ^^ hier der dazu gehörige code aber ich wahrne vor bin noch kein delphi profi wenns ein bischen unübersichtlich ist und fehler drinn sind
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
procedure tform1.leistunskontrolle_text;
 var
  Liste : TStringlist ;
  endergebnis : string;
  zahl1, zahl2,zahl3,zahl4,zahl5,zahl6,zahl7,zahl8,zahl9,zahl10, ergebnis, ergebnis1,ergebnis2,ergebnis3,ergebnis4,ergebnis5: Integer;
begin
   zahl1 := strtoint(l1.Text);
   zahl2 := strtoint(l15.Text);
   zahl3 := strtoint(l2.Text);
   zahl4 := strtoint(l25.Text);
   zahl5 := strtoint(l3.Text);
   ergebnis:= zahl1+zahl2+zahl3+zahl4+zahl5;

  Liste:=TStringList.Create;
  Liste.Add('vorname:      '+ vorname.text);
  Liste.Add('Nachname:     '+ nachname.text);
  liste.Add('Mannschaft:   ' + mannschaft.text);
  liste.Add('hcp:          ' + handicap.text);
  Liste.Add('                    ');
  liste.Add('Datum:        ' + datum.text);
  liste.Add('Uhrzeit:      ' + uhrzeit.text);
  liste.Add('Wetter:       ' + Wetter.text);
  Liste.Add('                    ');
  Liste.Add('Leistungskontrolle' );
  Liste.Add('                    ');
  Liste.Add('1. Teil: kurzes Putten und Trouble shots               ');
  liste.add('kurze Putts');
  Liste.Add('Entfernung                       Ergebnis   ');
  Liste.Add('1,0   Meter:                    ' + L1.text+  '/' +  L1G.text );
  Liste.Add('1,5   Meter:                    ' + L15.text+  '/' +  L15G.text );
  Liste.Add('2,0   Meter:                    ' + l2.text+  '/' +  l2G.text );
  Liste.Add('2,5   Meter:                    ' + l25.text+  '/' +  l25G.text );
  Liste.Add('3,0   Meter:                    ' + l3.text+  '/' +  l3G.text );
  liste.Add('erreichte punkte:               ' + inttostr(ergebnis) + '/20');
  Liste.Add('                    ');
  liste.add('Trouble shots');
  Liste.Add('Entfernung                       Ergebnis   ');
  zahl1 := strtoint(t1.Text);
  Liste.Add(e1.text + 'meter                           ' + t1.Text+'/' + t1g.text);
  liste.Add('erreichte punkte:               '+ t1.Text +'/5');
    Liste.Add('                    ');
  Liste.Add('2. Teil: lange Putts und kurze Pitchs');
  liste.add('lange Putts:');
  Liste.Add('Entfernung                       Ergebnis   ');
  zahl1:= Strtoint (l6.text);
  zahl2:= strtoint (L12.text);
  zahl3:= strtoint (L18.text);
  ergebnis1 := zahl1+zahl2+zahl3;
  Liste.Add('6,0   Meter:                    ' + L6.text+  '/' +  L6G.text );
  Liste.Add('12,0  Meter:                    ' + L12.text+  '/' +  L12G.text );
  Liste.Add('18,0  Meter:                    ' + L18.text+  '/' +  L18G.text );
  liste.Add('erreichte punkte:               ' + inttostr(ergebnis1) + '/15');
  Liste.Add('                    ');
  liste.add('kurze Pitchs:');
  zahl1:= Strtoint (l150.text);
  zahl2:= strtoint (L20.text);
  ergebnis2 := zahl1+zahl2;
  Liste.Add('Entfernung                       Ergebnis   ');
  Liste.Add('15,0   Meter:                   ' + L150.text+  '/' +  L150G.text );
  Liste.Add('20,0   Meter:                   ' + L20.text+  '/' +  L20G.text );
  liste.Add('erreichte punkte:               ' + inttostr(ergebnis2) + '/10');
  Liste.Add('                    ');
  Liste.Add('3. Teil: lange Pitchs, Chips und Bunker');
  Liste.Add('lange Pitchs');
  Liste.Add('Entfernung                       Ergebnis   ');
   zahl1 := strtoint(l250.Text);
   zahl2 := strtoint(l40.Text);
   zahl3 := strtoint(l55.Text);
   zahl4 := strtoint(l70.Text);
   zahl5 := strtoint(l80.Text);
   ergebnis3:= zahl1+zahl2+zahl3+zahl4+zahl5;
  Liste.Add('25,0   Meter:                   ' + L250.text+  '/' +  L250G.text );
  Liste.Add('40,0   Meter:                   ' + L40.text+  '/' +  L40G.text );
  Liste.Add('55,0   Meter:                   ' + L55.text+  '/' +  L55G.text );
  Liste.Add('70,0   Meter:                   ' + L70.text+  '/' +  L70G.text );
  Liste.Add('80,0   Meter:                   ' + L80.text+  '/' +  L80G.text );
  liste.Add('erreichte punkte:               ' + inttostr(ergebnis3) + '/25');
  Liste.Add('                    ');
  Liste.Add('Chips');
  Liste.Add('Entfernung                       Ergebnis   ');
  zahl1 := strtoint(c12.Text);
  zahl2 := strtoint(c18.Text);
  ergebnis4 := zahl1+zahl2;
  Liste.Add('12,0   Meter:                   ' + C12.text+  '/' +  c12G.text );
  Liste.Add('18,0   Meter:                   ' + c18.text+  '/' +  c18G.text );
  liste.Add('erreichte punkte:               ' + inttostr(ergebnis4) + '/10');
  Liste.Add('                    ');
  Liste.Add('Bunker');
    zahl1 := strtoint(b6.Text);
  zahl2 := strtoint(b12.Text);
  zahl3:=strtoint(b18.text);
  ergebnis5 := zahl1+zahl2;
  Liste.Add('Entfernung                       Ergebnis   ');
  Liste.Add('6,0   Meter:                    ' + B6.text+  '/' +  B6G.text );
  Liste.Add('12,0   Meter:                   ' + b12.text+  '/' +  b12G.text );
  Liste.Add('18,0   Meter:                   ' + b18.text+  '/' +  b18G.text );
  liste.Add('erreichte punkte:               ' + inttostr(ergebnis5) + '/15');
  Liste.Add('_______________________________________________________________');
   endergebnis := ergebnis+ergebnis1+ergebnis2+ergebnis3+ergebnis4+ergebnis5;
liste.add('gesammtergebnis lauten ' + inttostr(endergebnis));
  Liste.SaveToFile('Leistungskontrolle_'+ datum.Text+ '.txt');
  Liste.Free;
end;
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: So 13.12.09 23:33 
ausblenden Delphi-Quelltext
1:
endergebnis := ergebnis+ergebnis1+ergebnis2+ergebnis3+ergebnis4+ergebnis5;					


So wie ich in meinem ersten Post geschrieben hatte: Auf der linken Seite des ":=" steht ein String, auf der rechten Seite stehen Zahlen. Du kannst einem String keine Zahl zuordnen. Daher musst du die das Ergebnis der Berechnung explizit in einen String umwandeln:

ausblenden Delphi-Quelltext
1:
endergebnis := IntToStr(ergebnis+ergebnis1+ergebnis2+ergebnis3+ergebnis4+ergebnis5);					

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
crossit Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 39



BeitragVerfasst: So 13.12.09 23:41 
top danke! hat alles geklappt