Ersetzen mit ’Nur ganze Wörter’ funktioniert nicht richtig
Verfasst: 21.08.2019 03:37
Hallo,
ich wollte mal fragen, ob folgender Fehler auch bei Euch auftritt und ich ihn ggf. im englischen Forum posten soll.
Angenommen, ich will einen Variablennamen im gesamten Quellkode ändern. Ich habe das immer so gemacht, daß ich die entsprechenden Eingaben in den Feldern ’Suchen nach:’ und ’Ersetzen mit’ gemacht und den Haken bei ’Nur ganze Wörter’ gesetzt habe. Geht nicht (mehr), weil PureBasic nicht alles findet.
Wenn ich z.B. alle Variablen mit dem Namen Spa durch AdSp ersetzen will, so wird Spa in folgender Zeile nicht gefunden:
Dasselbe mit Sp in
Da der Fehler nur auftritt, wenn dem Variablennamen ein * (Multiplikationsoperator) folgt, bei ’Spa/4’ (Division) aber alles glatt läuft, liegt die Vermutung nahe, daß das irgendetwas mit der Funktion von * als Zeigerkennzeichner zu tun hat und es deshalb als zum Namen gehörig betrachtet wird. Leider eben auch in den Fällen, wenn es sich gar nicht um einen Zeiger handelt, sondern das * einfach nur Operator ist. Man wundert sich dann, warum nach dem Ersetzen plötzlich nichts mehr funktioniert, obwohl man doch am eigentlichen Kode gar nichts verändert hat.
Der beschriebene Fehler trat in der Version 5.62 auf und so auch in der neuen 5.71. Nach Möglichkeit keine Ratschläge wie: 'Wieso setźt Du keine Leerzeichen zwischen Faktoren?', denn jeder Programmierer hat seine bei eingewurzelten Gewohnheiten.
ich wollte mal fragen, ob folgender Fehler auch bei Euch auftritt und ich ihn ggf. im englischen Forum posten soll.
Angenommen, ich will einen Variablennamen im gesamten Quellkode ändern. Ich habe das immer so gemacht, daß ich die entsprechenden Eingaben in den Feldern ’Suchen nach:’ und ’Ersetzen mit’ gemacht und den Haken bei ’Nur ganze Wörter’ gesetzt habe. Geht nicht (mehr), weil PureBasic nicht alles findet.
Wenn ich z.B. alle Variablen mit dem Namen Spa durch AdSp ersetzen will, so wird Spa in folgender Zeile nicht gefunden:
Code: Alles auswählen
For S=2 To Spa*6-2 Step 2
Code: Alles auswählen
CopyImage(0, Sp*4)
Der beschriebene Fehler trat in der Version 5.62 auf und so auch in der neuen 5.71. Nach Möglichkeit keine Ratschläge wie: 'Wieso setźt Du keine Leerzeichen zwischen Faktoren?', denn jeder Programmierer hat seine bei eingewurzelten Gewohnheiten.