AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ist das hier Delphi ?

Ein Thema von Eifelhexe · begonnen am 25. Feb 2011 · letzter Beitrag vom 15. Feb 2013
Antwort Antwort
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Ist das hier Delphi ?

  Alt 9. Feb 2013, 02:39
Hallo,

ich habe gerade versucht, den Ablauf im Kopf nachzuvollziehen, aber auf die Schnelle seh ich den Fehler nicht. Bugs in solchen Parsern nur durch reines Draufschauen zu finden, ist aber auch sehr schwer. Ich würde dir daher empfehlen, die Log-Datei erst mal auf die relevanten Zeilen zu kürzen:

Code:
[11:20:27] <Begin Info: Obedience>
[11:20:27] Focus Bonuses:
[11:20:27] - ALL spell lines: 50  lvls
[11:20:27] <End Info>
Und anschließend hierrunter, z.B. in die Zeile mit bPercent, einen Breakpoint zu setzen:
Code:
      if (Line[11] == '-')
      {   // Alles danach ist ein Wert, der mich interessiert
         // Suche erstmal nach einem Zahlenwert. Sollte immer nur einer sein
         // Bonus-Argument ist immer der String vor einem Doppelpunkt,
         // oder der String hinter einer Zahl
         bool bValue = false;  // Gibts eine Zahl?
         bool bDoppel = false;  // gibt es einen Doppelpunkt im String
         bool bPercent = false;  // Es ist ein Prozent-Wert
Einen Breakpoint setzt du, indem du auf den Linken Editor-Rand neben der Zeile klickst (dort sollte dann ein roter Punkt erscheinen).

Wenn du das Programm dann anschließend aus der IDE heraus ausführst, hält das Programm an genau der Stelle an, wo der Breakpoint sitzt. Du kannst dann Zeile für Zeile die Ausführung fortsetzen (in Delphi geht es mit F8, im C++-Builder vielleicht auch?) und dabei die Werte, die Variablen annehmen, beobachten, indem du mit der Maus darüberfährst. Vielleicht siehst du dann, wo das Programm sich anders verhält als es sollte.

Ich hoffe das hilft dir ein bisschen weiter...

Und es wurde wahrscheinlich schon gefragt, aber ist der Autor des Programms denn nicht erreichbar?

Edit: Achja, und Glückwunsch zum erfolgreichen Kompilieren

Geändert von Namenloser ( 9. Feb 2013 um 02:48 Uhr)
  Mit Zitat antworten Zitat
Eifelhexe

Registriert seit: 25. Feb 2011
33 Beiträge
 
#2

AW: Ist das hier Delphi ?

  Alt 9. Feb 2013, 22:24
danke schonmal für deine Hilfe

ich werde das gleich mal versuchen

den Autor des Programms hatte ich vor 2 Jahren angeschrieben und er antwortete, das er weder die Zeit, noch den Compiler hat und mir deswegen nicht helfen kann.
ich habe ihn auch vor 3 Tagen angeschrieben um ihm mitzuteilen, das ich es geschafft habe und ihn um Hilfe bei diesem Problem gefragt, aber er antwortet leider nicht
  Mit Zitat antworten Zitat
Eifelhexe

Registriert seit: 25. Feb 2011
33 Beiträge
 
#3

AW: Ist das hier Delphi ?

  Alt 9. Feb 2013, 22:31
ich habe das jetzt mal probiert,
diesen Breakpoint in der Zeile gesetzt, und dann auf F8 gedrückt, danach gehen nach und nach einige Seiten auf,
bei einer die heisst: _istreambuf_iterator.h

bleibt es an dieser Stelle hängen und zwar springt es zwischen diesen beiden Zeilen hin und her

for(int i = 0; i < nItems; i++)
delete arItems[i];

edit/ ah ich hatte das Programm nicht gestartet

Geändert von Eifelhexe ( 9. Feb 2013 um 22:36 Uhr)
  Mit Zitat antworten Zitat
Eifelhexe

Registriert seit: 25. Feb 2011
33 Beiträge
 
#4

AW: Ist das hier Delphi ?

  Alt 11. Feb 2013, 16:59
Also ich habe deinen Tipp probiert, aber kam damit leider nicht weiter
nun habe ich aber herrausgefunden, das wenn ich das Leerzeichen hinter dem Doppelpunkt wegnehme, dann liest er es.

Code:
[11:20:27] - ALL spell lines: 50  lvls
Code:
[11:20:27] - ALL spell lines:50  lvls
also ist es nur ein dummes Leerzeichen ?

nur wo kann ich das ändern, damit es gleich hinter dem Doppelpunkt anfängt zu lesen und nicht erst nach dem Leerzeichen
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Ist das hier Delphi ?

  Alt 11. Feb 2013, 17:10
Ich hab nicht viel Ahnung von C
aber hier steigt er jedenfalls mit break aus der ForSchleife(?) aus, wenn ein Leerzeichen und ein Doppelpunkt auftreten:
Code:
               if (bValue && (bDoppel || (pArg > 0))) break;
Gruß, Jo
  Mit Zitat antworten Zitat
Eifelhexe

Registriert seit: 25. Feb 2011
33 Beiträge
 
#6

AW: Ist das hier Delphi ?

  Alt 11. Feb 2013, 18:21
jetzt habe ich das break einfach mal gelöscht, aber dann findet er den Wert auch nicht.

ich wünschte ich könnte das lesen, irgenwo muss da doch definiert sein wieviele Stellen hinter dem Doppelpunkt gelesen werden sollen.

Geändert von Eifelhexe (12. Feb 2013 um 12:33 Uhr)
  Mit Zitat antworten Zitat
Eifelhexe

Registriert seit: 25. Feb 2011
33 Beiträge
 
#7

AW: Ist das hier Delphi ?

  Alt 15. Feb 2013, 21:58
ja ich weiss ich bin eine Nervensäge und das noch im Falschen Forum, weil das ja eher c++ ist,
aber hier habe ich bis jetzt die meiste Hilfe bekommen und ich habe nicht vor aufzugeben, weil ich jetzt schon so weit gekommen bin,und nur noch der eine Haken da ist

also ich habe jetzt herausgefunden, wo der Fehler liegt
und zwar nicht die 3 Stellen hinter dem Doppelpunkt, sondern an dem blöden "-"

das hier liest es nicht (soll es aber, weil in dem chatlog, den es auslesen soll es genauso da steht):
[11:20:27] - Darkness Focus: 50 lvls

dagegen liest es das:
[11:20:27] - Darkness-Focus: 50 lvls (so steht es in dem originalen chatlog)

die dazugehörige config,xml Datei habe ich angepasst:

<bonus id="DARKNESS_FOCUS"><name>Darkness Focus</name>
</bonus>

hat das was mit diesen namespaces zu tun?
wenn ja, wo muss ich das ändern in der .xml Datei oder im Code?
wenn ja wie ?
  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 22:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz