Programmieren - alles kontrollieren 4.937 Themen, 20.662 Beiträge

DOS-Programm: Sortier-Ergebnisse weichen von einander ab

dromedar / 14 Antworten / Flachansicht Nickles

Immer noch arbeite ich an und mit einem DOS-Programm, erstellt mit Turbo-Pascal 7.0. (Leider kenne ich nichts, was eine Umstellung auf Windows (Delphi) halbwegs automatisch ermöglicht.)
Auf meinem neuen Computer (Windows XP Prof.) stelle ich nun fest, dass Sortier-Ergebnisse, Ablauf mit denselben Daten auf demselben Weg, von einander abweichen: Mal sind sie in Ordnung, mal ist die Sortierung fehlerhaft. Kann die Ursache dafür sein, dass der Computer wegen seiner höheren Geschwindigkeit die Ursache dafür ist? Wenn ja: Wie kann ich diese für DOS-Programme drosseln? Oder wo kann die Ursache sonst liegen?
Für Hilfe wäre ich sehr dankbar.

bei Antwort benachrichtigen
Andreas42 dromedar „DOS-Programm: Sortier-Ergebnisse weichen von einander ab“
Optionen

Hi!

Ich kann mir nicht vorstellen, dass die CPU-Geschwindigkeit die Bearbeitungsreihenfolge von compilierten Turbo-Pascal anwendungen beeinflusst. Turbo-pascal erzeugt einen auf 286er CPUs optimierten Binärcode (soweit ich wiess). Der Code steht fix im Programm und die CPU führt ihn aus. Da kann es aus meiner Sicht keine Abweichungen in Sortierergebnissen geben, sofern die Sortierung im Programmcode erfolgt.
Einziges Problem ist die Zeitmessung bei Programmstart in der Standardbibliothek. Die musstest du ja vermutlich schon patchen.

Ich denke eher an die üblichen Fehler: man will alphabetisch sortieren, erwartet das Umlaute korrekt einsortiert werden, vergisst aber, dass die von ihrem CHR-Wert, ausserhalb des normalen Alphabets liegen.
Evtl. hat man die Umlaute auch berücksichtigt, aber dann nur für DOS-ASCII-Kodierung, nicht aber für die unter Windows verwendete ANSI-Kodierung.

Bis dann
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen