Einzelnen Beitrag anzeigen

MikeC

Registriert seit: 30. Dez 2003
Ort: Home sweet home
11 Beiträge
 
#5

Re: Problem mit StringList.IndexOf(s)

  Alt 1. Jan 2004, 18:07
ok, sorry. ich beschriebe das problem nochmal

ich habe einen compiler, der mit 2 stringlists arbeitet. in der einen steht der quelltext, so wie der user ihn schriebt, in der anderen die bereinigte version, in der alle leeren zeilen gelöscht wurden (das erspart abfragen, ob die zeile leer ist oder nicht). jetzt taucht in irgendeiner zeile ein fehler auf und eben diese zeile taucht nocheinmal irgendwo anders im sourcecode auf (ob mit fehler oder nicht ist ja egal). der compiler soll jetzt eine fehlermeldung rausgeben, in der auch die zeile im programm enthalten ist. (also sowas wie "Error 1 (in line 19): "blablabla" "). da der compiler mit der bereinigten version vom source-code arbeitet, stellt sich die frage, woher weiß der compiler, wo er sich gerade im programm befindet? er könnte natürlich einfach die zeile aus der bereinigten version nehmen, nur bringt das dem user nix, weil die zeilenangabe dann nicht mehr mit seiner sourcecode-version übereinstimmt. also muss der compiler (meiner imho) nach auf einen index zurückgreifen, den er sich am besten aus der unbereinigten version von seinem quelltext holt. problem dabei: wenn in diesem quelltext eine zeile mehrfach auftritt, wird er nur den ersten eintrag erhalten, weil TStringlist.IndexOf(s) halt mal so arbeitet. Erare humanum est aber ich wüsste keine andere möglichkeit meinen bescheidenen kleinen compiler zu schreiben.
wie macht borland das denn?
Yesterday it worked, today it doesn't work - Windows is like that!
  Mit Zitat antworten Zitat