Autor |
Beitrag |
spielkind
Hält's aus hier
Beiträge: 7
|
Verfasst: 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 raziel: 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
      
Beiträge: 2453
Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
|
Verfasst: 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 
Hält's aus hier
Beiträge: 7
|
Verfasst: 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
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Di 08.03.05 21:18
Ich versteh die Frage (isses ne Frage  ) überhaupt nich... 
|
|
spielkind 
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 08.03.05 21:22
vielleicht warst du so fleißig und hast dir das bild angeschaut...
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 Tino: Code- durch Delphi-Tags ersetzt.
|
|
WeBsPaCe
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Di 08.03.05 21:39
spielkind hat folgendes geschrieben: | vielleicht warst du so fleißig und hast dir das bild angeschaut... |
Ja. Hab ich.
spielkind hat folgendes geschrieben: | 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:
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.  Sollte auch so sein...
spielkind hat folgendes geschrieben: | warum ändert sich durch vertauschen der reihenfolge der operanden das ergebnis? |
Probier's mal so wie ich oben.
spielkind 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:
spielkind 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
      
Beiträge: 629
D7
|
Verfasst: Di 08.03.05 21:58
WeBsPaCe 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
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: 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
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Di 08.03.05 23:00
|
|
spielkind 
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 08.03.05 23:01
WeBsPaCe hat folgendes geschrieben: |
Ich weiß nicht, was das sein soll. Wenn ich das:
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. Sollte auch so sein...
|
richtig, sollte so sein. meine frage impliziert, warum es bei mir NICHT so ist.
WeBsPaCe 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:
spielkind 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:
delfiphan hat folgendes geschrieben: | Ich denke dass du da irgendwas verwechselst. |
ich habe definitiv nichts verwechselt, danke trotzdem.
mfg
$me
|
|
spielkind 
Hält's aus hier
Beiträge: 7
|
Verfasst: Di 08.03.05 23:06
IngoD7 hat folgendes geschrieben: | WeBsPaCe 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.
IngoD7 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
      
Beiträge: 629
D7
|
Verfasst: 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:
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
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Mi 09.03.05 00:02
Hallo WeBsPaCe und spielkind,
Aussagen wie
WeBsPaCe 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
spielkind 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
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: 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 
Hält's aus hier
Beiträge: 7
|
Verfasst: 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
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: 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 
Hält's aus hier
Beiträge: 7
|
Verfasst: 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
|
|
|