AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Programmergebnis je nach Rechner verschieden!?
Thema durchsuchen
Ansicht
Themen-Optionen

Programmergebnis je nach Rechner verschieden!?

Ein Thema von Dirk Enzmann · begonnen am 13. Dez 2005 · letzter Beitrag vom 13. Dez 2005
Antwort Antwort
Dirk Enzmann

Registriert seit: 13. Dez 2005
2 Beiträge
 
Delphi 6 Professional
 
#1

Programmergebnis je nach Rechner verschieden!?

  Alt 13. Dez 2005, 02:26
Hat irgendjemand eine Erklärung/Lösung für folgendes Problem (habe bisher nur sehr wenig in Delphi 6.0 programmiert!):

Ein schlichtes Delphi 6.0 Programm liefert auf zwei verschiedenen Rechnern unterschiedliche Ergebnisse: auf einem ein richtiges, auf einem anderen ein falsches ohne irgendeine sonstige Fehlermeldung.

Das Programm soll (in Analogie zur ISBN-Nummer) eine Prüfnummer berechnen, sie stellt den Divisionsrest der Summe der ersten 9 Zahlen eines Codes dar.

Den Quellcode (unit ISRD_ID.pas) sowie das compilierte Programm habe ich angehängt (in ISRD_ID-Code.zip). Der richtige Wert der "Check-number" muss für den Code 001-11-7-001 genau 08 lauten. Auf Windows XP (Pentium Model 2 Stepping 9) läuft es korrekt, auf einem Notebook mit Windows XP (Pentium Model 9 Stepping 5) nicht, hier liefert es als "Check-number" 06 (was falsch ist). Übrigens kann ich auf diesem Rechner auch die Hilfedatei nicht via F1 öffnen (nicht schön, aber nicht katastrophal).

Hilfe!
Angehängte Dateien
Dateityp: zip isrd_id-code_749.zip (225,7 KB, 14x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Programmergebnis je nach Rechner verschieden!?

  Alt 13. Dez 2005, 02:51
Ohne das vollständige Projekt wird das nichts. Wie sollen wir das debuggen? Hast du die Möglichkeit es auf beiden Rechnern zu debuggen?

Aber warum 08?
Zitat:
The check number is constructed analogous to the ISBN number: It is the remainder of the sum of the first 9 digits divided by 11.
0+0+1+1+1+7+0+0+1 = 11
11 : 11 = 1.
Da gibt es keinen Rest. Die Prüfziffer müsste also 0 sein.

Zitat von Dirk Enzmann:
Übrigens kann ich auf diesem Rechner auch die Hilfedatei nicht via F1 öffnen (nicht schön, aber nicht katastrophal).
Geht bei mir auch nicht. Windows 2000 SP4.

Mir war langweilig. Ergebnis siehe Anhang.
Angehängte Dateien
Dateityp: zip isrd_idcode_207.zip (216,2 KB, 9x aufgerufen)
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Programmergebnis je nach Rechner verschieden!?

  Alt 13. Dez 2005, 07:49
@Luckie,

bei der ISBN wir die gewichtete Summe verwendet. D.h. jede Stelle wird vor dem Addieren mit einem anderen Faktor (Gewichtung) multipliziert. 1. Stelle x 10+ 2.Stelle x 9 etc.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#4

Re: Programmergebnis je nach Rechner verschieden!?

  Alt 13. Dez 2005, 08:13
Wenn es so ist wie du sagst, kommt tatsächlich 6 raus (Taschenrechner) ...



Toni
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Programmergebnis je nach Rechner verschieden!?

  Alt 13. Dez 2005, 10:35
Zitat von Union:
@Luckie,

bei der ISBN wir die gewichtete Summe verwendet. D.h. jede Stelle wird vor dem Addieren mit einem anderen Faktor (Gewichtung) multipliziert. 1. Stelle x 10+ 2.Stelle x 9 etc.
Davon hat er in seiner Hilfe aber nichts geschrieben. Und da es ja gerade um den Rechenfehler geht, bion ich eigentlich davon ausgegangen, dass seine Information vollständig ist.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Dirk Enzmann

Registriert seit: 13. Dez 2005
2 Beiträge
 
Delphi 6 Professional
 
#6

Re: Programmergebnis je nach Rechner verschieden!?

  Alt 13. Dez 2005, 12:16
Luckie hat recht: So wie ich es beschrieben habe, *müsste* sich ein Rest von 0 ergeben. Allerdings habe ich es falsch beschrieben. So wie Union schrieb verwende ich auch die gewichtete Summe (von links aufsteigend). Also:

001117001.. -> 0*1+0*2+1*3+1*4+1*5+7*6+0*7+0*8+1*9 =
0+ 0+ 3+ 4+ 5+ 42+ 0+ 0+ 9 = 63
63:11 = 55 Rest 8 -> Prüfnummer = 08

Das Hauptproblem, das ich nicht verstehe, ist, dass das Programm auf verschiedenen Rechnern verschiedene Ergebnisse liefert!

Rechner 1, PC (Pentium Model 2 Stepping 9), Win-XP Professional 5.1 (Build 2600.xpsp-sp2-gdr.050301-1519:sp2 = korrekt (08)

Rechner 2, Notebook (Pentium Model 9 Stepping 5), Win-XP Professional 5.1 (Build 2600.xpsp-s2-gdr.050301-1519:sp2 = falsch (06)

Rechner 3, Notebook (?), Win-XP Home-Edition 5.1 (Build 2600.xpsp 050301-1521:sp2) = korrekt (08)

Rechner 4, Notebook (Pentium Model ?), Win-XP Professional (?) = korrekt (08)

Rechner 5, PC (Pentium Model ?), Win-XP Professional (?) = falsch (06) ABER: der gleiche Rechner mit Win-NT4 (SP6): korrekt (08).

Alle Rechner haben 512 MB physischen Speicher.

Da offenbar die kompletten Projektdateien (Delphi 6.0) nötig sind, habe ich sie hier noch einmal angehängt (die Beschreibung des Algorithmus der Check-Nummer in der Hilfe ist noch nicht korrigiert!).

Probleme habe ich übrigens auch damit, dass die Hilfe via F1 nicht auf allen Rechnern funktioniert und dass auf zwei Rechnern parallel zum Programm noch ein DOS-Fenster (?) geöffnet wird.

In der Hoffnung auf eine hilfreiche Antwort (wie gesagt, mit Delphi und objektorientiertem Programmieren habe ich nur *sehr* wenig Erfahrung!),

Dirk
Angehängte Dateien
Dateityp: zip isrd_175.zip (455,9 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Programmergebnis je nach Rechner verschieden!?

  Alt 13. Dez 2005, 12:23
Korrigierte Fassung im Anhang. Bei mir kommt korrekterweise jetzt auch 08 raus. Guck mal was mein Programnm auf den anderen Rechnern macht. Ich vermute mal, dass du eine variable nicht initialisiert hast und sie statt dessen irgend einen zufälligen Wert hat, der natürlcih auf jeden Rechner unterschiedlich sein kann, je nach dem, was an dieser Stelle gerade im Speicher liegt.
Angehängte Dateien
Dateityp: zip isrd_192.zip (216,2 KB, 5x aufgerufen)
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#8

Re: Programmergebnis je nach Rechner verschieden!?

  Alt 13. Dez 2005, 12:30
vllt liegt es daran dass dein trunc manchmal nicht richtig interpretiert wird?
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz