Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Probleme beim Einsatz mit FbEdit 1.0.7.6c?
Gehe zu Seite 1, 2, 3, 4  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1037
Wohnort: Niederbayern

BeitragVerfasst am: 14.07.2013, 00:07    Titel: Probleme beim Einsatz mit FbEdit 1.0.7.6c? Antworten mit Zitat

Kann es sein, dass durch den Einsatz mit FbEdit fehlerhafte Programme entstehen?

Ich habe 2 (fast) identische Quellcodes und bei dem einen Quellcode funktioniert das Programm nicht korrekt. Während bei dem anderen Quellcode das Programm ohne Probleme funktioniert!
Ich habe bei dem einen Quellcode wahrscheinlich irrtümlich was editiert und so einen Fehler ausgelöst?
Ich suche in dem einen Quellcode nach einem möglichen Fehler und finde keinen. Deswegen meine Frage!

Gruß
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 14.07.2013, 00:33    Titel: Antworten mit Zitat

Also damit ich das verstehe:
Du hast einen funktionierenden Quellcode. Du änderst den Quellcode. Der Quellcode funktioniert nicht mehr. Dein Verdacht ist, dass die IDE daran schuld ist.
Bitte was!?

Wenn du den Code änderst und er nicht funktioniert, dann bist natürlich du dafür verantwortlich und nicht die IDE. Die IDE hat deinen Code ja nicht selbstständig geändert, so dass er nicht mehr läuft.

Die Antwort ist also klar: NEIN, durch den Einsatz von FBEdit entstehen NICHT plötzlich fehlerhafte Programme.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1037
Wohnort: Niederbayern

BeitragVerfasst am: 14.07.2013, 00:37    Titel: Antworten mit Zitat

MOD hat Folgendes geschrieben:
Also damit ich das verstehe:
Du hast einen funktionierenden Quellcode. Du änderst den Quellcode. Der Quellcode funktioniert nicht mehr. Dein Verdacht ist, dass die IDE daran schuld ist.
Bitte was!?

Wenn du den Code änderst und er nicht funktioniert, dann bist natürlich du dafür verantwortlich und nicht die IDE. Die IDE hat deinen Code ja nicht selbstständig geändert, so dass er nicht mehr läuft.

Die Antwort ist also klar: NEIN, durch den Einsatz von FBEdit entstehen NICHT plötzlich fehlerhafte Programme.


Nein der Quellcode wurde irrtümlich editiert! Und natürlich wieder in den Ursprungszustand versetzt! Danach funktionierte der Quellcode nicht mehr so wie vorher! Das heißt ich habe 2 identische Programme, aber einen der nicht korrekt funktioniert!!!

Edit:
Das Problem hatte ich bei einem anderen Quellcode auch schon mal. Da habe ich was versehentlich geändert und danach ging nichts mehr. Da half auch das kopieren in eine andere .bas Datei nicht!!!

Edit2:
Habe so eben die 2 Quellcodes miteinander verglichen. Sie sind identisch!!!

Gruß
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1875
Wohnort: D59192

BeitragVerfasst am: 14.07.2013, 10:46    Titel: Antworten mit Zitat

Das ist gegen alle Logik, da scheinst du nicht richtig verglichen zu haben.

Code:
Dim As Byte b1,b2
Open "     .bas" For Binary As #1'hier deine Dateinamen eintragen
Open "     .bas" For Binary As #2
If Lof(1) <> Lof(2) Then
  Print "Dateien nicht gleich!"
Else
  Do
    Get #1,, b1
    Get #2,, b2
    If b1 <> b2 Then Print b1,b2, "ungleich"
  Loop Until EOF(1)
EndIf
Close #2
Close #1
Print "fertig..."

Sleep

_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1037
Wohnort: Niederbayern

BeitragVerfasst am: 14.07.2013, 14:12    Titel: Antworten mit Zitat

volta hat Folgendes geschrieben:
Das ist gegen alle Logik, da scheinst du nicht richtig verglichen zu haben.

Code:
Dim As Byte b1,b2
Open "     .bas" For Binary As #1'hier deine Dateinamen eintragen
Open "     .bas" For Binary As #2
If Lof(1) <> Lof(2) Then
  Print "Dateien nicht gleich!"
Else
  Do
    Get #1,, b1
    Get #2,, b2
    If b1 <> b2 Then Print b1,b2, "ungleich"
  Loop Until EOF(1)
EndIf
Close #2
Close #1
Print "fertig..."

Sleep


Ich wiederhole: Die 2 Quellcodes sind identisch! Der eine funktioniert, der andere nicht!!!
Auch wenn es gegen jede Logik ist!

Der Quellcode um den es sich handelt ist der von Hochwasser Dubletten!!!
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 14.07.2013, 14:40    Titel: Antworten mit Zitat

ALWIM hat Folgendes geschrieben:
Ich wiederhole: Die 2 Quellcodes sind identisch! Der eine funktioniert, der andere nicht!!!
Auch wenn es gegen jede Logik ist!
Der Quellcode um den es sich handelt ist der von Hochwasser Dubletten!!!
Es ist völlig irrelevant um welche Art von Quellcode es sich hier handelt - wenn beide (binär) identisch sind "funktionieren" beide genausoviel bzw. genausowenig.

Die Definition von "funktionieren" kannst du natürlich weit fassen. Wenn du damit meinst, dass ein Fehler beim Compilieren entsteht, muss ja z.B. der Quellcode überhaupt nicht verantwortlich sein. Es könnten z.B. Compiler Parameter fehlen oder falsch sein. Oder andere externe Abhängigkeiten (wie z.B. Dlls, Importbibliotheken, Includes, ...) im einen Fall vorhanden sein und im anderen nicht. Der Dateiname könnte unterschiedlich sein. Die Dateiattribute / Sicherheitsrichtlinien könnten unterschiedlich sein. usw. usf.

Jedenfalls ist es praktisch ausgeschlossen, dass zwei binär identische Quellcodedateien in der selben Umgebung unterschiedliche Resultate liefern.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1037
Wohnort: Niederbayern

BeitragVerfasst am: 14.07.2013, 15:15    Titel: Antworten mit Zitat

St_W hat Folgendes geschrieben:
ALWIM hat Folgendes geschrieben:
Ich wiederhole: Die 2 Quellcodes sind identisch! Der eine funktioniert, der andere nicht!!!
Auch wenn es gegen jede Logik ist!
Der Quellcode um den es sich handelt ist der von Hochwasser Dubletten!!!
Es ist völlig irrelevant um welche Art von Quellcode es sich hier handelt - wenn beide (binär) identisch sind "funktionieren" beide genausoviel bzw. genausowenig.

Die Definition von "funktionieren" kannst du natürlich weit fassen. Wenn du damit meinst, dass ein Fehler beim Compilieren entsteht, muss ja z.B. der Quellcode überhaupt nicht verantwortlich sein. Es könnten z.B. Compiler Parameter fehlen oder falsch sein. Oder andere externe Abhängigkeiten (wie z.B. Dlls, Importbibliotheken, Includes, ...) im einen Fall vorhanden sein und im anderen nicht. Der Dateiname könnte unterschiedlich sein. Die Dateiattribute / Sicherheitsrichtlinien könnten unterschiedlich sein. usw. usf.

Jedenfalls ist es praktisch ausgeschlossen, dass zwei binär identische Quellcodedateien in der selben Umgebung unterschiedliche Resultate liefern.


Dateien sind alle vorhanden! Einen Fehler im Quellcode finde ich nicht! Wie ist es aber dann möglich, dass bei dem einen Quellcode dieser nicht so funktioniert, wie bei dem anderen?

Beim Programm Hochwasser - Dubletten nimmt der Computer Karten die eigentlich schon aus dem Spiel sind. Bei der vorherigen Version (Version 1.9) ist das nicht der Fall. Von der Theorie her, dürfte der Computer keine Karte nehmen die schon aus dem Spiel ist. Tut es aber trotzdem? Bei Version 1.9 funktioniert der Computer ohne Probleme. Da konnte ich das mit der aus dem Spiel genommenen Karte nehmen bisher nicht feststellen!!!

Gibt es möglicherweise eine Freebasic Grenze die ich überschreite?
Meine Vermutung mittlerweile, dass der Compiler das Programm falsch kompiliert, durch überschreiten irgend einer Grenze?
Bzw. das Programm nicht mehr richtig funktioniert, weil eine Grenze erreicht wurde!

2. Vermutung: Die FBIde sorgt dafür dass der Quellcode fehlerhaft gespeichert wird. Man findet zwar keinen Fehler im Quellcode, aber trotzdem funktioniert das Programm nicht korrekt nach der Kompilation!

Ich habe es gerade nochmal getestet:

Version 1.9: an einer bestimmten Stelle im Programm wird eine Textdatei erstellt mit einem Wert der aussagt ob Karten aus dem Spiel genommen wurden. Also 2 gleiche Karten gefunden wurden! Sobald 2 Karten vom PC aufgedeckt wurden wird keine Textdatei erstellt! Die wird nur erstellt wenn 2 gleiche Karten gefunden wurden.

bei der Fehlerhaften Version:
Computer deckt zu Beginn 2 Karten auf! Textdatei wird erstellt??? In der Textdatei stehen 3 Werte drin????? Dass überhaupt ein Wert drin steht ist schon komisch! Die Karten waren ja nicht gleich! Aber gleich 3 Werte deutet definitiv auf einen Fehler bei der FBIde oder dem Compiler hin!

Darum meine 3. Vermutung: Ein Bug in der FB-Compilerversion 0.90!

Am Programmierer liegt es garantiert nicht! Außer ich überschreite tatsächlich irgend eine Grenze! Aber das bezweifle ich stark!!!

Gruß
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 14.07.2013, 15:42    Titel: Antworten mit Zitat

Bei der Qualität deiner Programme ist es ja auch absolut ausgeschlossen, dass du je einen Fehler machen könntest. Da müssen also die anderen daran schuld sein. Ich vermute sogar, dass sich KetilO, v1c, dkl und all die anderen verschworen haben, damit exakt zu diesem Zeitpunkt exakt dieses Programm von exakt diesem Entwickler nicht mehr geht. Das kann nur so sein!

mit dem Kopf durch die Mauer wollen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1037
Wohnort: Niederbayern

BeitragVerfasst am: 14.07.2013, 17:04    Titel: Antworten mit Zitat

MOD hat Folgendes geschrieben:
Bei der Qualität deiner Programme ist es ja auch absolut ausgeschlossen, dass du je einen Fehler machen könntest. Da müssen also die anderen daran schuld sein. Ich vermute sogar, dass sich KetilO, v1c, dkl und all die anderen verschworen haben, damit exakt zu diesem Zeitpunkt exakt dieses Programm von exakt diesem Entwickler nicht mehr geht. Das kann nur so sein!

mit dem Kopf durch die Mauer wollen


Ich weiß, ihr glaubt mir nicht! Ich habe wirklich 2 identische Programme, wo eines davon nicht korrekt funktioniert!
Es kann ja sein, dass die FBIde bei zu vielen Zeilen nicht mehr korrekt speichert! Irgendwie kommt mir das bekannt vor. Ich könnte eines versuchen: das Programm mal auf einem anderen Rechner kompilieren. Mit der Compiler Version 0.24. Vielleicht klappt es dann?

Ich bin ja schließlich nicht blind! Ich sehe ja, dass das ganze kurios ist! Aber ich habe wirklich 2 Identische Quellcodes! Einer geht, der andere nicht! An irgendwas muss es ja liegen!

Sie sind genau genommen fast identisch. Aber der Teil wo den Fehler
verursacht ist identisch mit dem anderen Quellcode!!!

verwundert verwundert verwundert

Gruß
ALWIM

Edit:
Lasse ich die Zeilen wieder weg, die reingekommen sind, funktioniert das ganze wieder???
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 14.07.2013, 17:41    Titel: Antworten mit Zitat

...

vermutung 1: du schreibst mit dem "neu dazugekommenen" teil unqualifiziert im speicher rum und machst dinge kaputt

vermutung 2: das ding macht auf andere art dinge kaputt

vermutung 3: vielleicht ist ja doch noch mehr geaendert
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1037
Wohnort: Niederbayern

BeitragVerfasst am: 14.07.2013, 18:50    Titel: Antworten mit Zitat

Flo hat Folgendes geschrieben:
...

vermutung 1: du schreibst mit dem "neu dazugekommenen" teil unqualifiziert im speicher rum und machst dinge kaputt

vermutung 2: das ding macht auf andere art dinge kaputt

vermutung 3: vielleicht ist ja doch noch mehr geaendert


Was heißt im Speicher rum schreiben? Selbst wenn ich das ganze in Kommentare setze, ist der Fehler noch vorhanden!
Das was kaputt gemacht wird ist klar! Sonst würde es ja gehen.
Wie gesagt: bei dem einen Programm funktioniert es ohne Probleme! Ich glaube ich muss den Quellcode noch einmal optimieren. Vielleicht bekomme ich dann das Problem in den Griff!

Würde es was helfen, das ganze mit einem normalen Texteditor zu schreiben und dann manuell zu kompilieren? Einen Versuch wäre es ja immerhin wert!

Ich hatte schon mal das Problem bei der FbIde, dass ich versehentlich was im Code geändert habe. Danach konnte ich das Programm nicht mehr kompilieren. Obwohl der ganze Quellcode keinen Fehler enthielt! Das andere mal konnte ich zwar kompilieren, aber das fertige Programm funktionierte nicht mehr korrekt! So wie jetzt!!!

mit dem Kopf durch die Mauer wollen traurig traurig mit dem Kopf durch die Mauer wollen

bestimmt läuft da was schief beim kompilieren! Ob die ide dran Schuld ist oder der Compiler, kann ich noch nicht sagen. Ärgerlich ist es halt! Vielleicht zu viele Unterprogramme erstellt? Die Vermutung habe ich auch noch. Wenn ich den Quellcode aufteile, vielleicht klappt es dann?

Könnt ja mal beim Quellcode 1.9 von Hochwasser Dubletten zum Test ganz unten und in der Mitte ein paar Zeilen dazuschreiben! Dann werdet ihr sehen, dass ich recht habe! Der Computermodus "Laie" funktioniert bei der Version 1.9 ohne Probleme! Sobald ich was dazu schreibe in den Quellcode, nimmt der Computer Karten, die eigentlich schon aus dem Spiel sind!!! Was eigentlich nicht sein kann, da in dem Unterprogrammteil mit dem Computer nichts dazu geschrieben, bzw. verändert wurde!!! Und das ist das was mich so wundert!!!

Gruß
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 14.07.2013, 20:59    Titel: Antworten mit Zitat

Zitat:
Ob die ide dran Schuld ist oder der Compiler[...]

Weder noch, nur DU bist schuld, wenn dein manuell veränderter Code nicht mehr läuft. Benutz ein Compare-Tool (z. B. Notepad++ mit entsprechendem Plugin) wenn du den Fehler nicht finden kannst.
Ganz ehrlich, den Fehler immer bei anderen suchen, das kann es doch echt nicht sein. Trotz der langen Zeit, in der du hier bist, scheinst du nicht wirklich weiterzukommen und deine Argumentationen sind seit Jahren die gleichen. Seh es einfach ein, dass der Fehler nur bei dir liegen kann und investiere deine Zeit in das Auffinden deines Fehlers in deinem Code.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4597
Wohnort: ~/

BeitragVerfasst am: 14.07.2013, 21:32    Titel: Antworten mit Zitat

Ist das Programm, das du ausführst, auch dasselbe, das du vorher compiliert hast? Die Frage mag seltsam klingen; aber wenn du immer noch eine alte (nicht funktionierende) exe-Datei startest, kannst du am Quellcode (und dem möglicherweise ganz wo anders liegenden neuen Programm) natürlich so viel ändern wie du magst ohne dass was passiert.

(Eine solche Doppel-Speicherung könnte übrigens auch der Grund dafür sein, wenn upgeloadete Quelltexte auf einem anderen Stand sind, als sie hätten sein sollen - dann wurde vielleicht einfach der falsche Speicherort erwischt.)
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1037
Wohnort: Niederbayern

BeitragVerfasst am: 14.07.2013, 21:35    Titel: Antworten mit Zitat

MOD hat Folgendes geschrieben:
Zitat:
Ob die ide dran Schuld ist oder der Compiler[...]

Weder noch, nur DU bist schuld, wenn dein manuell veränderter Code nicht mehr läuft. Benutz ein Compare-Tool (z. B. Notepad++ mit entsprechendem Plugin) wenn du den Fehler nicht finden kannst.
Ganz ehrlich, den Fehler immer bei anderen suchen, das kann es doch echt nicht sein. Trotz der langen Zeit, in der du hier bist, scheinst du nicht wirklich weiterzukommen und deine Argumentationen sind seit Jahren die gleichen. Seh es einfach ein, dass der Fehler nur bei dir liegen kann und investiere deine Zeit in das Auffinden deines Fehlers in deinem Code.


Im Quellcode kann kein Fehler drin sein!!! Da der Computermodus bei Version 1.9 einwandfrei funktioniert! Und, ich habe den Teil mit dem Computer im Unterprogramm bei beiden Quellcodes miteinander verglichen! Sie sind identisch!!!

Ich weiß mittlerweile sogar, dass ich nicht dran schuld bin! Habe eine Speicherfunktion mit eingebaut bei beiden Quellcodes! Es kommen unterschiedliche Ergebnisse bei raus!!! Allerdings wird bei Version 1.9 gar nichts gespeichert! Da keine 2 gleichen Karten angeklickt wurden! Bei dem anderen Quellcode wird gespeichert obwohl keine 2 gleichen Karten angeklickt wurden!

Dass das Problem bei euch nicht auftritt, heißt noch lange nicht, dass es bei mir auch nicht auftritt!!!

Bei mir tritt es nun mal auf! Theoretisch könnte auch mein Laptop dran schuld sein!

Wenn beide Quellcodes identisch sind und einer nicht richtig funktioniert, kann ich ja wohl nicht dran schuld sein! Und sie sind identisch! Da brauche ich auch nicht nach einem Fehler im Quellcode suchen! Wo keiner ist wird man auch keinen finden! Version 1.9 funktioniert einwandfrei! Test bestätigten mir das! 154 Versuche bei einem Spiel und der PC hat nicht einmal eine Karte genommen die schon aus dem Spiel ist! Bei dem anderen Quellcode brauchte ich nur 3 Versuche! Auch die Werte in den Variablen stimmen nicht mehr! Die bestätigte mir wiederum ein Test! Und jetzt werde ich noch einen Test machen! Der schließt wiederum meine Wenigkeit als möglichen Fehler aus! Da bin ich mir bereits ganz sicher!!! Es hilft mir leider bloß kein Stückchen weiter!

mit dem Kopf durch die Mauer wollen mit dem Kopf durch die Mauer wollen mit dem Kopf durch die Mauer wollen

Wieso glaubt mir bloß keiner???

Bei einem Schachturnier hatte ich auch schon mal Recht, aber nicht Recht bekommen! Da wurde mir auch nicht geglaubt!!!

Ich werd noch verrückt! Wieso funktioniert das nicht???

Schaut euch den Quellcode an: http://www.freebasic-portal.de/porticula/hochwasser-dubletten-fehlerhafter-quellcode-1624.html

Kein Fehler! Ich sehe keinen! Und der Computerteil im Unterprogramm ist mit der Version 1.9 identisch!!! Und die funktioniert!


Edit:
@nemored: Programm ist das selbe! kein falscher Quellcode!

Edit2:
Auch mit Compiler 0.24.0 und Win7 funktioniert es nicht!
Neue Idee, neuer Versuch, neues Glück...
Irgendwann muss es ja klappen!

Gruß
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4597
Wohnort: ~/

BeitragVerfasst am: 14.07.2013, 22:42    Titel: Antworten mit Zitat

Bei Version 1.9 handelt es sich um die aktuell im Downloadbereich verfügbare Datei? Dass die mit der von dir hier geposteten Version IDENTISCH ist wage ich zu bezweifeln, allein schon wegen der unterschiedlichen Länge der Prozeduren COMPUTER() - 192 Zeilen in der einen Datei und 200 Zeilen in der anderen. Unter IDENTISCH verstehe ich etwas anderes.

edit: in beiden Versionen erhalte ich übrigens regelmäßig einen segfault; habe mich jetzt dran gemacht und mit -exx compiliert. Er greift immer mal wieder in der Prozedur LADEN() auf einen falschen Indexwert zu.
Das muss mit deinem beobachteten Fehler natürlich nichts zu tun haben, möglich ist es allerdings schon, dass da einfach falsche Werte verwendet werden.

edit 2 (ich habe ja nichts anderes zu tun ...):
Code:
      ' aufgedeckte Karten in Wert speichern!!!
      aufgedeckteKarten(i) = TRUE
      aufgedeckteKarten(k) = TRUE

an der Stelle kann i durchaus den Wert 65 annehmen!! Nämlich dann, wenn ' keine Dubletten gefunden wurden und der Computer per Zufall wählt. Ist auch noch nicht die Ursache deines Problems; aber das Grundproblem wird dasselbe sein - viel zu viele Variablen, bei denen es sehr schwer ist den Überblick zu behalten.


Zitat:
Version 1.9 funktioniert einwandfrei! Test bestätigten mir das! 154 Versuche bei einem Spiel und der PC hat nicht einmal eine Karte genommen die schon aus dem Spiel ist!

Nur weil es 154 mal gut geht, heißt das noch lange nicht, dass es einwandfrei funktioniert. zwinkern
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.


Zuletzt bearbeitet von nemored am 14.07.2013, 23:20, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1037
Wohnort: Niederbayern

BeitragVerfasst am: 14.07.2013, 23:19    Titel: Antworten mit Zitat

Zitat:
Bei Version 1.9 handelt es sich um die aktuell im Downloadbereich verfügbare Datei? Dass die mit der von dir hier geposteten Version IDENTISCH ist wage ich zu bezweifeln, allein schon wegen der unterschiedlichen Länge der Prozeduren COMPUTER() - 192 Zeilen in der einen Datei und 200 Zeilen in der anderen. Unter IDENTISCH verstehe ich etwas anderes.


Die Version 1.9 ist die aktuellste die momentan zum Download zur Verfügung steht!

Ganz identisch sind sie nicht! Das habe ich ein paar Post weiter oben schon geschrieben!

Dass die eine Datei 8 Zeilen mehr hat, ändert nichts an der Tatsache das beide identisch sind!

Code:
IF Zaehler = 32 THEN
                                             OPEN "Statistik.TXT" FOR APPEND AS #f
                                              IF PunkteMensch = PunktePC then
                                                 IF Modus = 0 THEN PRINT #f, Zugzaehler, DATE, TIME, "Einzelspielermodus"
                                                 IF Modus = 1 AND Setup(4) = 1 THEN PRINT #f, Zugzaehler, DATE, TIME, "Computermodus: Laie", "Mensch:", PunkteMensch, "Computer:", PunktePC, "Remis!"
                                                 IF Modus = 1 AND Setup(4) = 2 THEN PRINT #f, Zugzaehler, DATE, TIME, "Computermodus: Anfänger", "Mensch:", PunkteMensch, "Computer:", PunktePC, "Remis!"
                                                 IF Modus = 1 AND Setup(4) = 3 THEN PRINT #f, Zugzaehler, DATE, TIME, "Computermodus: Leicht", "Mensch:", PunkteMensch, "Computer:", PunktePC, "Remis!"
                                                 IF Modus = 1 AND Setup(4) = 4 THEN PRINT #f, Zugzaehler, DATE, TIME, "Computermodus: Mittel", "Mensch:", PunkteMensch, "Computer:", PunktePC, "Remis!"
                                                 IF Modus = 1 AND Setup(4) = 5 THEN PRINT #f, Zugzaehler, DATE, TIME, "Computermodus: Schwer", "Mensch:", PunkteMensch, "Computer:", PunktePC, "Remis!"
                                             END IF
                                             CLOSE #f

Das sind die 8 Zeilen, die zusätzlich vorhanden sind! Selbst wenn die drin sind, ist der Quellcode im Computerteil immer noch identisch!

Wie gesagt: Der Computer nimmt Karten die schon aus dem Spiel sind! Was aber nach dem geposteten Quellcode beim FB-Portal normalerweise nicht der Fall sein dürfte! Bei der Version 1.9 ist das nicht der Fall! Auf jeden Fall konnte ich es da nicht feststellen! Computer funktioniert bei der Version 1.9 korrekt! Ich konnte keine Fehlzüge bisher feststellen! 7x und öfter getestet! Compiler schließe ich mittlerweile aus! Bei Version 0.90 und 0.24 ist der Fehler vorhanden!
Ich glaube es gibt noch eine Ide. Muss ich mal die testen! Es kann natürlich sein, dass durch meine Programmierweise (Programmierstil) Fehler hervorgerufen werden! So wie dieser! Bin ja auch kein Profi. Da braucht man sich ja auch nicht wundern, dass solche Quellcodes entstehen!

Gruß
ALWIM
_________________
SHELL SHUTDOWN -s -t 05


Zuletzt bearbeitet von ALWIM am 14.07.2013, 23:21, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4597
Wohnort: ~/

BeitragVerfasst am: 14.07.2013, 23:20    Titel: Antworten mit Zitat

Ich hatte gerade noch eine Ergänzung zu meinem letzten Kommentar; siehe oben. Und falls es noch niemand erwähnt haben sollte: An der IDE liegt es NICHT.

Zitat:
Dass die eine Datei 8 Zeilen mehr hat, ändert nichts an der Tatsache das beide identisch sind!

Dann haben wir unterschiedliche Auffassungen von der Bedeutung des Wortes identisch.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1037
Wohnort: Niederbayern

BeitragVerfasst am: 14.07.2013, 23:25    Titel: Antworten mit Zitat

nemored hat Folgendes geschrieben:
Ich hatte gerade noch eine Ergänzung zu meinem letzten Kommentar; siehe oben. Und falls es noch niemand erwähnt haben sollte: An der IDE liegt es NICHT.

Zitat:
Dass die eine Datei 8 Zeilen mehr hat, ändert nichts an der Tatsache das beide identisch sind!

Dann haben wir unterschiedliche Auffassungen von der Bedeutung des Wortes identisch.

Gerade gelesen! Werde da nochmals schauen! Könnte ein Problem sein. Danke für den Hinweis!!!

Wenn nach 7 Spielen mit jeweils 154 Versuchen noch kein Fehlzug vorhanden ist, wird auch keiner kommen! Bloß kommt der bei dem anderen Quellcode schon im 1. Spiel spätestens nach 25 Versuchen!!!


edit:
Die Variable "aufgedeckteKarten" hat nichts mit den bereits entfernten Karten zu tun! Die ist nur dafür da, dass der Computer weiß welche Karte schon mal aufgedeckt wurde. Diese Variable kann ruhig den Wert 65 haben! Damit vergisst der Computer manchmal wo welche Karte liegt die gerade eben aufgedeckt wurde!
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4597
Wohnort: ~/

BeitragVerfasst am: 14.07.2013, 23:43    Titel: Antworten mit Zitat

ALWIM hat Folgendes geschrieben:
Die Variable "aufgedeckteKarten" hat nichts mit den bereits entfernten Karten zu tun! Die ist nur dafür da, dass der Computer weiß welche Karte schon mal aufgedeckt wurde. Diese Variable kann ruhig den Wert 65 haben!

Bist du dir da ganz sicher? Ein Speicherzugriffsfehler ist und bleibt ein Speicherzugriffsfehler, und das ist keine gute Idee. Dabei kann fälschlicherweise auf alle möglichen Werte zugegriffen werden.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1037
Wohnort: Niederbayern

BeitragVerfasst am: 14.07.2013, 23:58    Titel: Antworten mit Zitat

nemored hat Folgendes geschrieben:
ALWIM hat Folgendes geschrieben:
Die Variable "aufgedeckteKarten" hat nichts mit den bereits entfernten Karten zu tun! Die ist nur dafür da, dass der Computer weiß welche Karte schon mal aufgedeckt wurde. Diese Variable kann ruhig den Wert 65 haben!

Bist du dir da ganz sicher? Ein Speicherzugriffsfehler ist und bleibt ein Speicherzugriffsfehler, und das ist keine gute Idee. Dabei kann fälschlicherweise auf alle möglichen Werte zugegriffen werden.


Dann müsste der aber bei der Version 1.9 auch schon zu Fehlern führen!
Bei einem weiteren Test konnte ich feststellen, dass der Computermodus einwandfrei funktioniert!!! Eine Textdatei mit den Werten ob ein Kartenpaar bereits gefunden wurde, sagt mir dass alles korrekt funktioniert! Demnach kann der Computer bei Version 1.9 keine Karte nehmen die schon aus dem Spiel ist! Bei mittlerweile 15 Tests kein einziger falscher Computerzug!

Es kann natürlich sein, dass dann bei mehr Zeilen das Programm auf Grund der von dir festgestellten Sache nicht mehr korrekt funktioniert! Das wäre theoretisch möglich!
Das werde ich jetzt gleich mal testen! Bin mir aber sicher, dass das nicht die Lösung ist!

Gruß
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2, 3, 4  Weiter
Seite 1 von 4

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz