Autor Beitrag
spielkind
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 08.03.05 21:03 
hi leute!

ich hab ein leicht verrücktes problem... ich war mir eigentlich immer sicher, dass in delphi egal wie, in welcher reihenfolge man eine summe schreibt... ich war baff.

könnte mir einer erklären, was das ist !?!?

mfg
spieLkinD

Moderiert von user profile iconraziel: Screenshot entfernt und als Anhang eingefügt.
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von spielkind am Di 08.03.05 21:12, insgesamt 1-mal bearbeitet
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Di 08.03.05 21:09 
Hallo,

Bitte ändere den Titel des Topics da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den Delphi-Forum.de Richtlinien:
Richtlinien:

1.1 Beiträge
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...]


Einfach oben bei deinem ersten Beitrag auf "Edit" klicken und den Titel ändern. Dank Dir!

Gruß,
raziel

_________________
JSXGraph
spielkind Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 08.03.05 21:14 
ein danke ;)

ich hab nicht an die jungs gedacht, die kein dsl bzw 10mbit standleitung haben...
und eine präzisierung des titels ist mir schwergefallen, es kann ja sein, dass es nicht an der summenbildung liegt ;) ich wart einfach mal ab

mfg
$me
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Di 08.03.05 21:18 
Ich versteh die Frage (isses ne Frage :lol:) überhaupt nich... ;)
spielkind Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 08.03.05 21:22 
vielleicht warst du so fleißig und hast dir das bild angeschaut...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
screen.width = 1024
width = 436
width + screen.width = 1460
screen.width + width = -227972


warum ändert sich durch vertauschen der reihenfolge der operanden das ergebnis?
DAS ist die frage - und sie lag auf der hand, meister ;)

mfg
spieLkind

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Di 08.03.05 21:39 
user profile iconspielkind hat folgendes geschrieben:
vielleicht warst du so fleißig und hast dir das bild angeschaut...

Ja. Hab ich.

user profile iconspielkind hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
screen.width = 1024
width = 436
width + screen.width = 1460
screen.width + width = -227972

Ich weiß nicht, was das sein soll. Wenn ich das:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
ShowMessage(IntToStr(Width));
ShowMessage(IntToStr(Screen.Width));
ShowMessage(IntToStr(Width + Screen.Width));
ShowMessage(IntToStr(Screen.Width + Width));

bei mir ausführe, dann bekomme ich für die letzten zwei denselben Wert. :lol: Sollte auch so sein...

user profile iconspielkind hat folgendes geschrieben:
warum ändert sich durch vertauschen der reihenfolge der operanden das ergebnis?

Probier's mal so wie ich oben.

user profile iconspielkind hat folgendes geschrieben:
DAS ist die frage - und sie lag auf der hand, meister ;)

Nun ja, diese Aussage bezweifle ich, denn sonst hätte ich ja keine Frage gepostet, ja?? Wenn ich Meister bin, dann bist du mein Lehrling und dann empfehle ich dir, mal die DF-Regeln durchzulesen oder, wenn du das schon getan hastm, richtig Deutsch zu lernen, weil das da:
user profile iconspielkind hat folgendes geschrieben:
ich war mir eigentlich immer sicher, dass in delphi egal wie, in welcher reihenfolge man eine summe schreibt

ist einfach kein richtiger deutscher Satz. Und wenn du dann verlangst, dass ich sowas versteh, dann weiß ich auch nicht.

cu, WeBBy
IngoD7
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 629


D7
BeitragVerfasst: Di 08.03.05 21:58 
user profile iconWeBsPaCe hat folgendes geschrieben:
Probier's mal so wie ich oben.

Was soll das bringen? Die seltsame Anzeige "passiert" ja in der Überwachung von Ausdrücken, nicht im Programm.

@spielkind:
Bist du sicher, dass das richtige "Width" bei "Screen.Width+Width" in der Liste der überwachten Ausdrücke herangezogen wird? Ist doch irgendwie unsicher, ob er wirklich das von Form1 nimmt. Schreibe dochmal anstatt "Width" jeweils "Form1.Width" in die Liste.
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: Di 08.03.05 22:47 
Ich denke dass du da irgendwas verwechselst. Bei so vielen Widths hast du bestimmt was übersehn. Wenn man Integers addiert, spielt die Reihenfolge natürlich überhaupt keine Rolle! Man muss einfach aufpassen, dass es keine Überläufe gibt.
PS: Bei Floats ist das übrigens ganz anders: Dort spielt die Reihenfolge sehr wohl eine Rolle! Man sollte, wenn möglich, stets die kleineren Beträge zuerst addieren und danach die grossen.
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Di 08.03.05 23:00 
user profile iconIngoD7 hat folgendes geschrieben:
user profile iconWeBsPaCe hat folgendes geschrieben:
Probier's mal so wie ich oben.

Was soll das bringen? Die seltsame Anzeige "passiert" ja in der Überwachung von Ausdrücken, nicht im Programm.

Genau deshalb kannst du dir absolut sicher sein, dass diese Debug-Information, die du per ShowMessage rausgibst auch genau diesselben sind, die das Programm bei der Ausführung vom Code hat. ;)
spielkind Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 08.03.05 23:01 
user profile iconWeBsPaCe hat folgendes geschrieben:

Ich weiß nicht, was das sein soll. Wenn ich das:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
ShowMessage(IntToStr(Width));
ShowMessage(IntToStr(Screen.Width));
ShowMessage(IntToStr(Width + Screen.Width));
ShowMessage(IntToStr(Screen.Width + Width));

bei mir ausführe, dann bekomme ich für die letzten zwei denselben Wert. :lol: Sollte auch so sein...

richtig, sollte so sein. meine frage impliziert, warum es bei mir NICHT so ist.

user profile iconWeBsPaCe hat folgendes geschrieben:

Nun ja, diese Aussage bezweifle ich, denn sonst hätte ich ja keine Frage gepostet, ja?? Wenn ich Meister bin, dann bist du mein Lehrling und dann empfehle ich dir, mal die DF-Regeln durchzulesen oder, wenn du das schon getan hastm, richtig Deutsch zu lernen, weil das da:
user profile iconspielkind hat folgendes geschrieben:
ich war mir eigentlich immer sicher, dass in delphi egal wie, in welcher reihenfolge man eine summe schreibt

ist einfach kein richtiger deutscher Satz. Und wenn du dann verlangst, dass ich sowas versteh, dann weiß ich auch nicht.

Es überrascht mich, dass du das merkst...


Ich habe eher darauf gehofft, dass manche leute mit einem gewissen potential und wissen mir sagen können, wie oft diese FEHLER in delphi (v7) vorkommen und warum dies passiert.

man kann auch den mund halten, wenn man kein plan hat, meister...

und jetzt noch eine entspannte antwort:
user profile icondelfiphan hat folgendes geschrieben:
Ich denke dass du da irgendwas verwechselst.

ich habe definitiv nichts verwechselt, danke trotzdem.


mfg
$me
spielkind Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 08.03.05 23:06 
user profile iconIngoD7 hat folgendes geschrieben:
user profile iconWeBsPaCe hat folgendes geschrieben:
Probier's mal so wie ich oben.

Was soll das bringen? Die seltsame Anzeige "passiert" ja in der Überwachung von Ausdrücken, nicht im Programm.

Es gibt keinen Unterschied zwischen Überwachung und Programm. Wie du auf dem Bild siehst, war ich beim Debuggen... der Fehler hat sich also auch auf das Programm ausgewirkt.

user profile iconIngoD7 hat folgendes geschrieben:

@spielkind:
Bist du sicher, dass das richtige "Width" bei "Screen.Width+Width" in der Liste der überwachten Ausdrücke herangezogen wird? Ist doch irgendwie unsicher, ob er wirklich das von Form1 nimmt. Schreibe dochmal anstatt "Width" jeweils "Form1.Width" in die Liste.

Sinnvoller Einwand, aber ich habe sowohl Form1.Width als auch self.Width probiert (dreifach gemoppelt quasi ;) ).

mfg
$me
IngoD7
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 629


D7
BeitragVerfasst: Di 08.03.05 23:46 
Also Zement mal. Irgendwie bestreite ich, dass Programmwerte und die Werte in der Auflistung von überwachten Ausdrücken immer dieselben sein müssen. Beweisführung folgt gleich.

Zu einem bestimmten Zeitpunkt (zum Beispiel beim Stoppen des Programms wegen erreichten Haltepunkts) zeigt die Überwachung den ihrer Meinung nach vorhandenen Wert für "Screen.Width+Width" an. Welche Werte für "Width" sie da wann und woher zieht, bleibt ungewiss, solange "Width" so unscharf da steht!

Ich habe ein kleine Routine:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Button1Click(Sender: TObject);
begin
  label1.Caption:=inttostr(Screen.Width);
  label2.Caption:=inttostr(Width);
  label3.Caption:=inttostr(Screen.Width+Width);
  label4.Caption:=inttostr(Width+Screen.Width);
end;

Zu jedem Zeitpunkt zeigen die Labels die korrekten Werte. Hier im Programm ist ja auch unstrittig, welches Width gemeint ist, da es eine Procedure von Form1 ist. Woher aber soll die Überwachung das wissen???
Jedenfalls, die Überwachung habe ich so eingerichtet wie spielkind auch. Und siehe da, dort erhalte ich denselben "Fehler" wie spielkind.

Ergo: Programm (jederzeit) korrekt, aber die Überwachung ist anders.

Wenn ich nun in der Überwachung aus "Screen.Width+Width" ein "Screen.Width+Form1.Width" mache, so wird künftig der Wert auch in der Überwachung korrekt angezeigt! Da ist ja schließlich nun auch genau definiert, welches Width gemeint ist, nämlich das von Form1.

Warum das (angeblich) bei dir, spielkind, so nicht geklappt hat, ist mir ein Rätsel. Hattest du "Form1" vielleicht im Programm eingesetzt, anstatt in der Überwachung???


Zuletzt bearbeitet von IngoD7 am Mi 09.03.05 00:05, insgesamt 1-mal bearbeitet
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mi 09.03.05 00:02 
Hallo WeBsPaCe und spielkind,

Aussagen wie
user profile iconWeBsPaCe hat folgendes geschrieben:
Wenn ich Meister bin, dann bist du mein Lehrling und dann empfehle ich dir, mal die DF-Regeln durchzulesen oder [...] richtig Deutsch zu lernen, weil das da [...] ist einfach kein richtiger deutscher Satz.

und
user profile iconspielkind hat folgendes geschrieben:
Es überrascht mich, dass du das merkst... [...] man kann auch den mund halten, wenn man kein plan hat, meister...

gehören hier nicht rein und werden bitte in Zukunft per PN oder E-Mail diskutiert - auf jeden Fall nicht im Forum. Danke!

Gruß
Tino
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mi 09.03.05 00:41 
Endlich bekommen es mal die Programmierer zu spüren die sich nicht die Mühe machen nen Form1. davor zu schreiben :)

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
spielkind Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 09.03.05 00:50 
hehe ja, die faulheit ist wahrscheinlich mein tod
(kleine anmerkung: in java find ich das debuggen (@ eclipse) wesentlich angenehmer :)

@ tino: du hast recht, aber unsinnige antworten regen mich auf. ich habe mich meiner meinung nach dennoch relativ freundlich ausgedrückt...

@ ingo: japp, das war wohl der fehler. ich bin davon ausgegangen, dass WENN schon ein wert beim debuggen angezeigt ist, dieser auch gültig ist (ist in java @ eclipse auch so ;) )

ciao ciao
spieLkind
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mi 09.03.05 00:54 
in java schreibt man aber üblicherweise auch nen this. davor auch wenns net gebraucht wird und man es nur amchen muss wenn ein parameter der funktion den selben namen hat aber man sollte es sich schon angewöhnen

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
spielkind Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 09.03.05 02:12 
ja, aber da in eclipse globale variablen farbig dargestellt werden... normal reicht das schon.
vom prinzip her schadets natürlich trotzdem nichts, hast a recht.

mfg
$me