VBS: aktuelle zeilennummer ausgeben

tach Community,

scheinbar unloesbar…

ich moechte zwecks debugging (weil mein script mitlerweile
exorbitante ausmaße annimmt) die aktuelle Zeilennummer
via MsgBox ausgeben… um das script anhalten zu koennen und
zu kontrollieren.

leider ist es mir nicht gelungen, die aktuelle zeilennummer
zu bekommen. habs schon mit dem Err Objekt versucht indem ich einfach einen fehler schmeisse… aber selbst das hat dieses attribut scheinabr nicht.

zum verstaendnis:

ein simples script

CONST debugModus = 1

'ganz viel code hier

if debugModus = 1 Then 
 msgBox("DebugStop in Zeile " & \_LINE\_)
end if
' noch mehr code

wo zum teufel bekomme ich die zeilennummer her???`?

merci beaucoup

PixelKoenig

Hallo PK,

ich moechte zwecks debugging (weil mein script mitlerweile
exorbitante ausmaße annimmt) die aktuelle Zeilennummer
via MsgBox ausgeben… um das script anhalten zu koennen und
zu kontrollieren.

wie meinst du das mit dem Anhalten?

Mir fällt da nur ein

Befehlszeile1 : zeile=1
Befehlszeile2 : zeile=2
Befehlszeile3 : zeile=3

Anstatt da die Variable zeile hochzuzählen kannst du natürlich auch Err.raise nehmen. Bleibt sich aber gleich irgendwie.

Wie wäre es grundsätzlich, du kaufst dir bei ebay VB5.0, entwickelst damit deinen Code, da hast du eine Entwicklungsumgebung.
Wenn es dann in VB läuft mußt du es „nur noch“ nach VBS umschreiben?

Gruß
Reinhard

unsolved : VBS: aktuelle zeilennummer ausgeben

wie meinst du das mit dem Anhalten?

ich steuere mit meinem VBS ein ABAP prograemmchen.
uebergebe damit diverse werte. da damit nicht alles
sauber laeuft und dieses makroscript von sap
nicht immer sehr aussagekraeftig ist, muss ich zwischendrin
mal anhalten (pause), um das aktuelle ergebnis auf dem bildschirm
mit meinem script zu vergleichen. da es kein PAUSE in VBS gibt,
nutze ich eine messagebox. da ich viele „stoppunkte“ in mein script setzen will und diese sich logischerweise auch staendig verschieben
finde ich es praktisch die zeilennummer auszugeben, an der mein script gerade „stoppt“.

Anstatt da die Variable zeile hochzuzählen kannst du natürlich
auch Err.raise nehmen. Bleibt sich aber gleich irgendwie.

??? das ergibt ja nie die position im script an der ich die msgbox stehen habe… sondern die msgbox nummer … oder fehlernummer (anzahl)

Wie wäre es grundsätzlich, du kaufst dir bei ebay VB5.0,
entwickelst damit deinen Code, da hast du eine
Entwicklungsumgebung.
Wenn es dann in VB läuft mußt du es „nur noch“ nach VBS
umschreiben?

hachje…
ich fang mal von hinten an :smiley:
dieses „nur noch“ ist glaub ich das groesste problem…
weil so vieles in VBS nicht funktioniert, was man so schick in VB anstellen kann :frowning:
und dann … das ist leider kein „privatvergnuegen“. mein arbeitgeber will nichts mehr in VB investieren… aber nur noch „schnell“ so ein paar tools fertig haben… *grummel* somit sitze ich auf diesem problemchen und klaube mir im netz alles noetige zusammen.
bin schon recht weit gekommen… nur hakts leider immer wieder an so kleinigkeiten …und im web findet man vorwiegend VB / ASP / NET beispiele. somit wuerde mir ein VB buch auch nicht weiterhelfen.
und eine entwicklungsumgebung… nun … ich nutze notepad++
da sind alle (denke ich mal) notwendigen befehle enthalten.

kurzum…
ich bin froh, wenn ich dieses script fertig habe… weil ich dann danach wohl nichts mehr damit zu tun haben werde :smiley:

habe meine ganze kraft in eine javaausbildung gesteckt … und
habe den kanal diesbezueglich eignetlich voll *grins. also… intension ist jetzt nicht wirklich nach microsoft programmierung ausgerichtet…

aber ich schweife ab.

ich brauche doch „nur“ die aktuelle position im script…
wer weiss es…wer weiss es ??? :smile:)))))

Hallo PK,

wie meinst du das mit dem Anhalten?

mit meinem script zu vergleichen. da es kein PAUSE in VBS
gibt,

ich beneide dich nicht daß du in VBS programmieren mußt. Naja Vorgestzte heißen so weil sie einem vor die nase vorgesetzt werden,
wenn man kein Stuhlsäger ist ist es schwierig sie wieder loszuwerden und gegen einen mit Hirn auszutauschen der mal die 100€ für VB%.0 rausrückt :smile:

Anstatt da die Variable zeile hochzuzählen kannst du natürlich
auch Err.raise nehmen. Bleibt sich aber gleich irgendwie.

??? das ergibt ja nie die position im script an der ich die
msgbox stehen habe… sondern die msgbox nummer … oder
fehlernummer (anzahl)

?
Zeile=2
Befehl1
Zeile= zeile+2
Befehl2 :Msgbox Zeile
Zeile= zeile+2
Befehl3
Zeile= zeile+2
Befehl4 :Msgbox Zeile

Warum soll das in der Art nicht klappen? Auch mit Err.Raise?

ich fang mal von hinten an :smiley:
dieses „nur noch“ ist glaub ich das groesste problem…
weil so vieles in VBS nicht funktioniert, was man so schick in
VB anstellen kann :frowning:

Dann soll dein Chef mal in die tasche gehen, ist doch Schwachsinn daß du Zeit=Arbeitsstunden verheizt um da in VBS etwas zu entwickeln, was du mit einer vielleicht kommerzieller Entwicklungsumgebung im Bruchteil der zeit hinkriegen würdest.

Selbst wenn du nur lausige 80 € die Stunde verdienst *grins* *achte aufs heutige Datum*, so sind das 3200€ die Woche, da ist doch eine kommerzielle VBS-Entwicklungsumgebung für 1000€ ein Schnäppchen :smile:

Und sich Codezeilen aus dem Internet zusammenzuklauben, für ein zwei zeilen brauchte ich Monate und fand die daann einmal im hintersten Texas, das andere mal auf einer chinesichen Seite, aber immer erst nach sehr langem Suchen:frowning:
Von daher weiß ich genau wie zeitraubend das sein kann.

Gruß
Reinhard

tach again

?
Zeile=2
Befehl1
Zeile= zeile+2
Befehl2 :Msgbox Zeile
Zeile= zeile+2
Befehl3
Zeile= zeile+2
Befehl4 :Msgbox Zeile

ohgott… nein… das ist gar nicht in meinem sinne…
man realisiere pro inkludiertem script ca 1500 zeilen code.
das ganze ueber netz ausgefuehrt… muesste ich jede zeile hochzaehlen
kann ich den zwischendrin mittag machen *ggg*
mal ganz abgesehen davon, dass das natuerlich unheimlich viel codemuell gibt, den ich nachher wieder rausloeschen muss. nein. das ist keine akzeptable loesung.

Warum soll das in der Art nicht klappen? Auch mit Err.Raise?

Err.Raise ? habe jetzt keinen ansatz dafuer wie ich die aktuelle position im script rausfinden soll… zaehlt ja eignetlich nur die fehlernummer hoch… oder?

Selbst wenn du nur lausige 80 € die Stunde verdienst *grins*
*achte aufs heutige Datum*, so sind das 3200€ die Woche, da
ist doch eine kommerzielle VBS-Entwicklungsumgebung für 1000€
ein Schnäppchen :smile:

ich werde sogar mit 120€ fakturiert :wink:
allerdings ist s immer eine frage dessen, wofuer das budget draufgeht.
insgeheim soll keiner wissen, dass noch VB programmiert wird.
und schulungsmittel stehen nun mal auf nem kassenzettel… und muessen von der firma freigegeben werden :wink:
will sagen… eignetlich … mach ich das gar nicht was ich mache :smiley:
somit kostet es auch nichts… ich weiss… es ist schwer diese logik nachzuvollziehen… ist aber nicht aenderbar *grummel

Und sich Codezeilen aus dem Internet zusammenzuklauben, für
ein zwei zeilen brauchte ich Monate und fand die daann einmal
im hintersten Texas, das andere mal auf einer chinesichen
Seite, aber immer erst nach sehr langem Suchen:frowning:
Von daher weiß ich genau wie zeitraubend das sein kann.

du sagst es…
wenn mir jemand ne klasse VBS referenz (auch in buchform) empfehlen koennte… ich wuerde es mir ja glatt privat kaufen… weil mitlerweile bin ich schon arg genervt *zwinker

gruss

PK

Hallo PK,

tja dann mußt du tapfer sein, googlen bis die Augen verschwimmen :smile:

In Excel-Vba kann man ein Spreadsheet als ActiveX-Steuerelement einbauen.
Mit F1 kriegste dazu keine Hilfe.
Also Google.
Dummerweise bedeutet Spreadsheet auch Tabellenblatt.
Das bedeutet bei Fahndung im Internet bekam ich sehr viele Treffer.
Was ja schön ist, aber 99,99% davon waren für mich absolut nutzlos:frowning:

So ähnlich stelle ich es mir vor wenn du nach VBS-Code forscht.

Mein Beileid :smile:

Du siehst es ja an den Antworten hier, sicher liest Rainer mit, vielleicht auch Anno74, oder andere, wenn da jmd. was wüßte wegen VBS wäre das schon gekommen, so, sieht es halt für dich sehr trübe aus hier Hilfe zu bekommen.

Gruß
Reinhard

Hallo Reinhard,

sicher liest Rainer mit

nur eine Bestätigung, natürlich lese ich jeden Beitrag in den Brettern, die ich moderiere. Das ist wohl die Mindestanforderung. :smile:

Und ja, keine Ahnung, wie man VBS dazu bewegen kann, zur Laufzeit die Zeilennummer von sich zu geben. Die wird für den Ablauf nicht gebraucht. Deshalb glaube ich nicht, daß die zur Laufzeit verwaltet wird.

Aber das ist geraten, geht nicht als Antwort durch.

Gruß Rainer

OT mal so
hallo Rainer,

sicher liest Rainer mit

nur eine Bestätigung, natürlich lese ich jeden Beitrag
in den Brettern, die ich moderiere. Das ist wohl die
Mindestanforderung. :smile:

im Esoterik-Brett auch? Ich habe ja da mal kurz reingelunst, mir fiel auf, das besteht ja nur aus 5-8 Beiträgen, dafür hatten die aber jeweils irre lange Beitragsfolgen.
Dann las ich kurz mal mit, glaub es war loderunner, kann aber den Namen verwechseln, jedenfalls ein vertrauter Nickname, jedenfalls hat er da erläutert daß es nicht mööglich ist Wasseradern mit so Holzgäbelchen zu erkunden und noch anderes was ich genauso sehe.

Ich glaube da halt nicht daran, also an Esoterik iws.
Sicher, es kann schon Pech bringen wenn eine Katze auf deinem Weg vor dir von links nach rechts läuft.
Aber doch nur wenn du eine Maus bist, oder die Katze ist ein Tiger :smile:)
In beiden Fällen ist es doch egal von welcher Seite das Kätzchen kommt.

Und ja, keine Ahnung, wie man VBS dazu bewegen kann, zur
Laufzeit die Zeilennummer von sich zu geben. Die wird für den
Ablauf nicht gebraucht. Deshalb glaube ich nicht, daß die zur
Laufzeit verwaltet wird.

Ich hatte mal vor langer Zeit einen Link zu einer Seite wo man Code runterladen konnte der den eigenen Code durchnummeriert.
Okay, lange her, inzwischen könnte ich mir den selber basteln. Problem ist, der Debugger mag es gar nicht wenn da Zahlen anfangs einer Zeile stehen :smile:

Auch wenn PK das nicht so sieht, ich bleib dabei, wobei auch sonst, das Einzige was mir dazu einfällt, jede zweite zeile einen Zeilenzähler einbauen.

Da eine .vbs nur Text ist kann man das bequem mit einem anderen vbs-Code erledigen lassen.
Die MsgBoxen dann halt manuell setzen.

Gruß
Reinhard

Hallo Reinhard,

natürlich lese ich jeden Beitrag
in den Brettern, die ich moderiere.

im Esoterik-Brett auch?

So lange ich das mit moderiert habe, natürlich.

Ich hatte mal vor langer Zeit einen Link zu einer Seite wo man
Code runterladen konnte der den eigenen Code durchnummeriert.

Ja, kein Problem. Das ändert aber nur den Quellcode.
Sobald das Programm läuft, spielen vom Quellcode nur noch relevante Daten eine Rolle.

Auch wenn PK das nicht so sieht, ich bleib dabei, wobei auch
sonst, das Einzige was mir dazu einfällt, jede zweite zeile
einen Zeilenzähler einbauen.

Oder einen anderen Weg suchen.

Ich misch mich mal ein. :smile:

Gruß Rainer

Hallo,

beim Suchen nach den zeilennummern kann ich nicht helfen.

ich steuere mit meinem VBS ein ABAP prograemmchen.
uebergebe damit diverse werte. da damit nicht alles
sauber laeuft

Das heißt? Das Programm ist instabil? Dann solltest Du das Problem lösen und nicht die Symptome bekämpfen. Sorry. Das habe ich auch schon versucht, hat noch nie funktioniert.

und dieses makroscript von sap
nicht immer sehr aussagekraeftig ist, muss ich zwischendrin
mal anhalten (pause), um das aktuelle ergebnis auf dem
bildschirm
mit meinem script zu vergleichen. da es kein PAUSE in VBS
gibt,

Doch gibt es. Wenn das Programm stehen bleiben darf, kannst Du Sleep verwenden. Wenn nicht, eine Timer gesteuerte Warteschleife einbauen.

nutze ich eine messagebox. da ich viele „stoppunkte“ in mein
script setzen will und diese sich logischerweise auch staendig
verschieben
finde ich es praktisch die zeilennummer auszugeben, an der
mein script gerade „stoppt“.

Das scheint gar nicht so praktisch zu sein, wenn die Zeilennummer nicht zu finden ist. Wie wär’s statt dessen mit einem Counter?
Einfach eine Variable hoch zählen und die ausgeben. Erfüllt das den Zweck nicht?

ich nutze notepad++
da sind alle (denke ich mal) notwendigen befehle enthalten.

Aber leider kein Debugger. :frowning:

ich brauche doch „nur“ die aktuelle position im script…

Ich verstehe immer noch nicht warum. Ich würde nach einer anderen Lösung suchen. Es kann sein, daß die Zeilennummer zur Laufzeit nicht verfügbar ist.

Gruß Rainer

Hallo Pixelkönig

schau einmal ob unter VBS die Function ERL funktioniert!
ERL gibt dir die zeilennummer aus *zwinker*
ERL funktioniert aber nur in Punkto einer Fehlerbehandlung. Aber da kann man ja genuesslich tricksen :wink:

MfG Alex