• Ähnlich wie %ErrLine würde ich mir eine Systemvariable %WorkLine wünschen, welche die Nummer der Zeile ausgibt, in der XProfan gerade arbeitet.
    Wäre sowas einzubauen, Roland? :)


    Klasse wäre auch ein $SourceLine, das den Text der aktuellen Sourcecode-Zeile gespeichert hat. Schätze, das wird schwieriger, oder? ;)

    Gruß, Frank

  • Müßte eigentlich beides machbar sein. Bei %WorkLine wird die Zeilennummer und bei $SourceLine ein Pointer auf das erste Zeichen der Zeile gesetzt. Beide Werte sind mal, denke ich, ohnehin beim Eintritt in eine Zeile intern vorhanden.


    Gruß Volkmar

  • Hallo,


    %WorkLine wäre kein Problem, wobei das bei Verwendung von Includes dann nicht mehr sehr aussagekräftig wäre, da der Quellcode zu diesem Zeitpunkt ja schon zusammengeführt ist. Natürlich könnte ich im Interpreter auch die Zeile im aktuellen Include nennen, da ich diese wegen der Fehlermeldungen ja mit verwalte. Dann wäre die Zeilennummer ja nicht eindeutig, da z.B. Zeile 10 in allen Includes und dem Hauptprogramm vorkommen könnte. Hier müsste man vielleicht zusätzlich $WorkFile einführen ... oder gleich eine interne Struktur #Work mit den Elementen .Line% und .File$ ...
    Im compilierten Programm könnte natürlich nur noch die absolute Zeilennummer ermittelt werden, ncht aber Zeilennummern im Include oder Namen von Include-Dateien. Für eine Zuordnung die Zeilennummern zu entsprechenden Include-Dateien kann man sich beim Compilieren allerdings eine Map-Datei erstellen lassen.


    $SourceLine wäre im Interpreter (mit Ausnahme eingebundener Includes) auch kein Problem. Schließlich wird die ja auch für Fehlermeldungen und TRACE vorgehalten. Im compilierten Programm ist das natürlich völlig unmöglich.


    Gruß
    Roland

    (Intel Duo E8400 3,0 GHz / 4 GB RAM / 250 GB HDD / ATI Radeon HD4770 512 MB / Windows Vista - ausgemustert zum Verkauf)
    AMD Athlon II X2 2,9 GHz / 8 GB RAM / 500 + 1000 GB HDD / ATI Radeon 3000 (onboard) / Windows 10(64) - XProfan X4


    http://www.xprofan.de

  • Wird halt das unnötige &GetTickCount ausgebaut, dann passt es wieder. ;)
    Ich bezweifle mal, dass der Effekt großartig messbar ist, nur weil XProfan nativ ein LongInt setzt.

    Gruß, Frank

  • Zitat von p. specht;837305

    Dann wirds aber langsamer...


    Ganz bestimmt nicht, da es intern eh eine Variable gibt, in der die aktuell bearbeitete Zeilennummer steht. (Wie könnte sie sonst bei Fehlern angezeigt werden?)


    Gruß
    Roland

    (Intel Duo E8400 3,0 GHz / 4 GB RAM / 250 GB HDD / ATI Radeon HD4770 512 MB / Windows Vista - ausgemustert zum Verkauf)
    AMD Athlon II X2 2,9 GHz / 8 GB RAM / 500 + 1000 GB HDD / ATI Radeon 3000 (onboard) / Windows 10(64) - XProfan X4


    http://www.xprofan.de

  • &GetTickCount ist alles andere als unnötig! Ich verbitte mir diese Aussage!!! :)

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)/PureBasic 6.00/RAD Studio 11 (Alexandria)/Perl 5.34.00/Python 3.10.0
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/46TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    Synology DS920+ mit 42TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 9 Pro (12GB/256GB)
    https://jacdelad.bplaced.net

  • Zitat von Jac de Lad;837346

    &GetTickCount ist alles andere als unnötig! Ich verbitte mir diese Aussage!!! :)


    Zudem: Die Existenz von Befehlen, Funktionen und Systemvariablen hat grundsätzlich keinerlei Einfluss auf die Geschwindigkeit der Runtime, lediglich auf ihre Größe.
    (Beim Interpreter sieht das etwas anders aus, fällt aber auch kaum messbar ins Gewicht.)


    Gruß
    Roland

    (Intel Duo E8400 3,0 GHz / 4 GB RAM / 250 GB HDD / ATI Radeon HD4770 512 MB / Windows Vista - ausgemustert zum Verkauf)
    AMD Athlon II X2 2,9 GHz / 8 GB RAM / 500 + 1000 GB HDD / ATI Radeon 3000 (onboard) / Windows 10(64) - XProfan X4


    http://www.xprofan.de

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!