Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Sprungbefehl in Java Script!!!

315 views
Skip to first unread message

Mausmann

unread,
May 16, 2001, 7:10:26 PM5/16/01
to
Hallo liebe Java-Script Gemeinde,

ich bin Neuling und beschäftige mich erst seit kurzem mit dieser
Sprache. Ich habe ein Basicprogramm geschrieben, daß ich nun in diese
Scriptsprache Schritt für Schritt umwandel. Bisher hat auch alles
bestens funktioniert. Nur mit den Sprungbefehlen habe ich
Schwierigkeiten. Soweit ich es verstanden habe, gibt es ja in Java
Script keine Sprungmarken wie z.B. in Basic. Aber wie soll ich denn ohne
diese Marken wieder in die jeweilige Zeile springen? Weiß jemand, wie
man das nachfolgende Basiclisting in Java Script programmiert? Es sollte
dann in den vorgesehenen Platz im zweiten Listing eingefügt werden, daß
ich schon in Java Script programmiert habe. Tausend Dank schon mal im
voraus :-))

rem *** routine ***
start:
rem ** hier folgen die Befehle für den Start **
laufzeit:
rem ** hier folgen die Befehle für die Laufzeit **
if rs >0 then laufzeit
if t=1 then weiter
if (an) >einkommen then monat=0:t=t-1:goto start
weiter:

Hier nun ein Auszug aus meinem Script. Sobald man in der Formularmaske
einen bestimmten Button drückt, wird dieser Script ausgeführt.

function berechnen ()
{
<!-- Hier werden die Inhalte der Formularfelder ausgewertet
<!-- und mathematisch weiterverarbeitet

<!-- (hier soll nun die Routine eingefügt werden ....)

}


Andreas Ehlerding

unread,
May 17, 2001, 3:07:43 AM5/17/01
to
Mausmann schrieb:

>
> Hallo liebe Java-Script Gemeinde,
>
> ich bin Neuling und beschäftige mich erst seit kurzem mit dieser
> Sprache. Ich habe ein Basicprogramm geschrieben, daß ich nun in diese
> Scriptsprache Schritt für Schritt umwandel. Bisher hat auch alles
> bestens funktioniert. Nur mit den Sprungbefehlen habe ich
> Schwierigkeiten. Soweit ich es verstanden habe, gibt es ja in Java
> Script keine Sprungmarken wie z.B. in Basic.
Gibts zwar auch als Blocklabels - ist hier aber nicht relevant, da es
kein 'goto' gibt ...

> Aber wie soll ich denn ohne
> diese Marken wieder in die jeweilige Zeile springen? Weiß jemand, wie
> man das nachfolgende Basiclisting in Java Script programmiert? Es sollte
> dann in den vorgesehenen Platz im zweiten Listing eingefügt werden, daß
> ich schon in Java Script programmiert habe. Tausend Dank schon mal im
> voraus :-))
>
> rem *** routine ***
> start:

while (true) {

> rem ** hier folgen die Befehle für den Start **
> laufzeit:

do {

> rem ** hier folgen die Befehle für die Laufzeit **
> if rs >0 then laufzeit

} while (rs>0)

Bei mir gehoert Spaghetti eigentlich eher auf den Teller !
Da man jedoch nicht den Rest sieht, muss ich mich jetzt mal
dumm stellen und den Beweis fuehren, das man auch ohne 'goto'
vorzuegliche Spaghetti zubereiten kann :


> if t=1 then weiter
> if (an) >einkommen then monat=0:t=t-1:goto start
> weiter:

if (t==1||an<=einkommen) break;
monat=0;t--;
}
//ok das ist schon eher Schleifennudeln :)

> Hier nun ein Auszug aus meinem Script. Sobald man in der
> Formularmaske einen bestimmten Button drückt, wird dieser Script
> ausgeführt.
>
> function berechnen ()
> {
> <!-- Hier werden die Inhalte der Formularfelder ausgewertet
> <!-- und mathematisch weiterverarbeitet
>
> <!-- (hier soll nun die Routine eingefügt werden ....)
>
> }

Ich hoffe Du kommentiertst in deinem Script nicht wirklich so ?

Gruss

Andreas

J. Strübig

unread,
May 17, 2001, 6:41:01 AM5/17/01
to
Hi,

Mausmann wrote:
>
> Hallo liebe Java-Script Gemeinde,
>
> ich bin Neuling und beschäftige mich erst seit kurzem mit dieser
> Sprache. Ich habe ein Basicprogramm geschrieben, daß ich nun in diese
> Scriptsprache Schritt für Schritt umwandel. Bisher hat auch alles
> bestens funktioniert. Nur mit den Sprungbefehlen habe ich
> Schwierigkeiten. Soweit ich es verstanden habe, gibt es ja in Java
> Script keine Sprungmarken wie z.B. in Basic. Aber wie soll ich denn ohne
> diese Marken wieder in die jeweilige Zeile springen? Weiß jemand, wie

??? uiuiui - selbst in Basic sollte man heutzutage ohne Springmarken
auskommen. Dir solltest auf jedenfall die mal einige Bücher rund ums
programmieren besorgen.
Selbst als Laie (ich bin auch einer) ist das Basis wissen.

> rem *** routine ***
> start:
> rem ** hier folgen die Befehle für den Start **
> laufzeit:
> rem ** hier folgen die Befehle für die Laufzeit **
> if rs >0 then laufzeit
> if t=1 then weiter
> if (an) >einkommen then monat=0:t=t-1:goto start
> weiter:
>

while(rs > 0) {
if(t==1) break;
if(an > einkommen) {
monat = 0;
t--;
continue; // muss nicht sein, besser ist es...
// mit else zu arbeiten
}
}

Macht ungefähr das was du willst ihne goto usw.

Un natürlich sind <!-- --> das HTML Kommentare
in Javascript gibt es andere:
a.) Zeilenweise // ein kommentar
b.) Kommentarblöcke
/* ein langer kommentarblock auch über meherere Zeilen */

Struppi

Eugen Ernst

unread,
May 17, 2001, 7:35:39 AM5/17/01
to
Hi J. Strübig,

> ??? uiuiui - selbst in Basic sollte man heutzutage ohne
> Springmarken auskommen. Dir solltest auf jedenfall
> die mal einige Bücher rund ums programmieren besorgen.

Quichefresser.

Einige Blicke auf echte Programmierer und strukturierte
Programmierung:

Echte Programmierer haben keine Angst davor, GOTO's zu verwenden
Echte Programmierer können fünf Seiten lange DO-Schleifen schreiben,
ohne durcheinander zu kommen
Echte Programmierer lieben arithmetische IF-Anweisungen, weil sie den
Code interessanter machen
Echte Programmierer schreiben selbst-modifizierenden Code, besonders
dann, wenn es ihnen 20 Nanosekunden in der Mitte einer Schleife spart
Echte Programmierer brauchen keine Kommentare, der Code ist
einleuchtend
Weil FORTRAN keine strukturierte IF, REPEAT...UNTIL oder
CASE-Anweisung enthält, brauchen sich echte Programmierer keine Sorgen
darum zu machen, sie nicht zu benutzen, sie können notfalls durch
GOTO's simuliert werden.

Siehe auch http://www.bruder-franziskus.de/it0.htm

SCNR
Eugen


Jörg Nieswand

unread,
May 17, 2001, 11:16:54 AM5/17/01
to
Hi,

dank euch allen für Eure Hilfe. Werde den Script gleich mal ausprobieren
:-)))

Mausmann

unread,
May 18, 2001, 6:37:40 AM5/18/01
to
Hi allerseits,

noch mal vielen Dank für Eure Scripte. Sorry Struppi, aber mit Deinem
Script komme ich leider nicht so zurecht. Wo wird hier die Befehlsfolge
für "start" und "laufzeit" eingefügt. Der Script von Andreas (siehe
unten) ist da aussagekräftiger. Bloß gibt es da ein Problem. Beim
Ausführen meldet mir Frontpage, daß im Befehl "do" ein Syntaxfehler
auftritt. Ich habe aber beim besten Willen nicht rausbekommen, woran das
liegt. Hat jemand eine Idee?

mausmann :-))

Andreas Ehlerding schrieb:

> Mausmann schrieb:


> >
> > Hallo liebe Java-Script Gemeinde,
> >
> > ich bin Neuling und beschäftige mich erst seit kurzem mit dieser
> > Sprache. Ich habe ein Basicprogramm geschrieben, daß ich nun in
diese
> > Scriptsprache Schritt für Schritt umwandel. Bisher hat auch alles
> > bestens funktioniert. Nur mit den Sprungbefehlen habe ich
> > Schwierigkeiten. Soweit ich es verstanden habe, gibt es ja in Java
> > Script keine Sprungmarken wie z.B. in Basic.

> Gibts zwar auch als Blocklabels - ist hier aber nicht relevant, da
es
> kein 'goto' gibt ...
>

> > Aber wie soll ich denn ohne
> > diese Marken wieder in die jeweilige Zeile springen? Weiß jemand,
wie

> > man das nachfolgende Basiclisting in Java Script programmiert? Es
sollte
> > dann in den vorgesehenen Platz im zweiten Listing eingefügt werden,
daß
> > ich schon in Java Script programmiert habe. Tausend Dank schon mal
im
> > voraus :-))
> >

> > rem *** routine ***
> > start:
>

> while (true) {


>
> > rem ** hier folgen die Befehle für den Start **
> > laufzeit:
>

> do {


>
> > rem ** hier folgen die Befehle für die Laufzeit **
> > if rs >0 then laufzeit
>

> } while (rs>0)
>
> Bei mir gehoert Spaghetti eigentlich eher auf den Teller !
> Da man jedoch nicht den Rest sieht, muss ich mich jetzt mal
> dumm stellen und den Beweis fuehren, das man auch ohne 'goto'
> vorzuegliche Spaghetti zubereiten kann :

> > if t=1 then weiter
> > if (an) >einkommen then monat=0:t=t-1:goto start
> > weiter:
>

J. Strübig

unread,
May 18, 2001, 9:14:21 AM5/18/01
to
Mausmann wrote:
>
> Hi allerseits,
>
> noch mal vielen Dank für Eure Scripte. Sorry Struppi, aber mit Deinem
> Script komme ich leider nicht so zurecht. Wo wird hier die Befehlsfolge
> für "start" und "laufzeit" eingefügt. Der Script von Andreas (siehe
> unten) ist da aussagekräftiger. Bloß gibt es da ein Problem. Beim
> Ausführen meldet mir Frontpage, daß im Befehl "do" ein Syntaxfehler
> auftritt. Ich habe aber beim besten Willen nicht rausbekommen, woran das
> liegt. Hat jemand eine Idee?
>
> mausmann :-))


OK ich hatte es mir nicht 100% angekuckt, welche Logik dahinter steckt,
mir ging's mehr um's Prinzip.
Also wenn ich's richtig verstanden hab, dann sieht dein Ablauf so aus:

while(an < einkommen)
{
monat = 0;
t--;

// Start !

while(rs > 0)
{
// Laufzeit
}

if(t == 1) break;
}
// Weiter


richtiger wäre hier eine do {} while Schleife, weiss aber nicht ob die
in JS existiert. Offensichtlich aber nicht.

Struppi.

Andreas Ehlerding

unread,
May 18, 2001, 12:15:58 PM5/18/01
to
Hallo Joerg "Mausmann"

- alter Faulpelz ;-)

warum schreibst Du den Code denn nicht einmal so, in relevanten Teilen,
wie Du ihn nun benutzt hierher, statt den gesamten Muell mitzukopieren
und von deinen 'Realcode' nichts zu zeigen, das waere sehr nett und
wirklich 'aussagekraeftig' bzw. notwendig um dir helfen zu koennen.

Ob es Syntaxfehler in 'Frontpage' gibt, weiss ich auch nicht, ich
nehme mal an Du meinst den Vorschaumodus im Explorer oder sowas ?
Bei mir sind diese tollen Chaosverwalter ganz schnell von der Platte
geflogen, Golive hab ich woertlich genommen, Fusion fusioniert
anderswo und uebrigens auch Dreamweaver hat schon ausgetraeumt.
Das Leben ist schon schwer genug ohne diesen ganzen Irrsinn, bei
dem man eigentlich nur herausfinden kann unter welchen Neurosen
das jeweilige Entwicklerteam gerade am meisten gelitten hat ... ;-)

Also poste mal Realcode und probier die Skripte in nachvollziehbaren
Umgebungen aus - was ich vorschlage sollte ab NN4, IE4 funzen.

Bis dann

Andreas

Mausmann

unread,
May 18, 2001, 1:09:45 PM5/18/01
to
Hi Andreas,

du hast ja recht. Genau das wollte ich ja eigentlich auch machen. Ich weiß
selber nicht, warum ich nur einen Teil gemailt habe. Hier aber nun die
gesamte Routine in Basic. Der Rest vor und hinter dieser untenstehenden
Routine sind einfache Berechnungen, die soweit schon laufen. So, ich hoffe,
Du kannst mir weiterhelfen. Vielen Dank schon mal im voraus :-)))))))


rem *** Berechnung der monatlichen Darlehnszinsen ***
t=5
if art=1 then t=1
start:
zix=zinsen/12
tix=t/12
kp=kx
an=kp*(zix+tix)/100
laufzeit:
zi=(kp*zix)/100
ti=an-zi
rs=kp-ti
kp=rs
monat=monat+1


if rs >0 then laufzeit

if t=1 then weiter
if (an) >einkommen then monat=0:t=t-1:goto start
weiter:

monat=monat -1
mo=monat

Andreas Ehlerding schrieb:

Andreas Ehlerding

unread,
May 18, 2001, 3:59:53 PM5/18/01
to
Mausmann schrieb:

>
> Hi Andreas,
>
> du hast ja recht. Genau das wollte ich ja eigentlich auch machen.
> Ich weiß selber nicht, warum ich nur einen Teil gemailt habe.
> Hier aber nun die gesamte Routine in Basic. Der Rest vor und hinter
> dieser untenstehenden Routine sind einfache Berechnungen, die soweit
> schon laufen. So, ich hoffe,
> Du kannst mir weiterhelfen. Vielen Dank schon mal im voraus :-))))))
>
Du solltest mich nicht auslauchen, nur weil ich versuche zu helfen :-(
Zur 'Strafe' muss Du jetzt auch noch den JS-Code veroeffentlichen der
dir den 'Syntaxfehler in Frontpage' produziert hat :-)))))

Sonst streike ich ;-)

Gruss Andreas

<OT>
Ausserdem gibst jetz noch ein wenig TOFU zum Abgewoehnen :
Ich wuerde das in Basic so schreiben :

t=5
if art=1 then t=1

do
zix=zinsen/12
tix=t/12
kp=kx
an=kp*(zix+tix)/100
do
kp=kp-an+(kp*zix)/100
monat=monat+1
loop while rs >kp
t=t-1
if t=0 or an <einkommen then exit do
momat=0
loop
mo=monat

In QBX 7.1 laeuft es einwandfrei (ohne Errors)
ich hoffe VBx-weisnnichwas ist inzwischen nicht wieder verbloedet...
An der Eignung zur Errechnung von Monatzinsen/raten(?) kommen mir
allerdings doch inzwischen erhebliche Zweifel -
welche Bank rechnet denn so ?

>
> rem *** Berechnung der monatlichen Darlehnszinsen ***
> t=5
> if art=1 then t=1
> start:
> zix=zinsen/12
> tix=t/12
> kp=kx
> an=kp*(zix+tix)/100
> laufzeit:
> zi=(kp*zix)/100
> ti=an-zi
> rs=kp-ti
> kp=rs
> monat=monat+1
> if rs >0 then laufzeit
> if t=1 then weiter
> if (an) >einkommen then monat=0:t=t-1:goto start
> weiter:
> monat=monat -1
> mo=monat

(...)
</ot>

Mausmann

unread,
May 18, 2001, 8:30:48 PM5/18/01
to Andreas Ehlerding
Hi Andreas,

ja, Du schaust richtig. Es ist 2 Uhr morgens. Und ich glaube, daß ich der Lösung betreffend des Syntaxfehlers beim "do" Befehl wieder ein Stück näher gerückt bin. Laut meinem Java Script Handbuch gibt es wohl nur sogenannte "do-while" Schleifen wie in diesem Beispiel:

var x = 10;
  do
   {
    document.write("<br>x * x = " + (x * x));
    x = x + 1;
   }
  while(x < 10);

Ein Aufruf mehrerer "do" Befehle hintereinander ist wohl nicht möglich. Mann, ich habe mir wirklich das Hirn zermartert und alles mögliche ausprobiert aber ich kriege das einfach nicht hin ;-( Hast Du eine Ahnung... Wie dem auch sei. ich werde jetzt erstmal ins Bett kriechen. Bin hundemüde. Vielleicht hast Du ja mehr Erfolg :-)

Mausmann

PS: Die Formel müßte eigentlich richtig sein!!!
 
 
 
 

Andreas Ehlerding schrieb:

Andreas Ehlerding

unread,
May 19, 2001, 7:07:14 AM5/19/01
to
Dies nur zu deiner Information :

Mausmann schrieb:
>
> Part 1.1 Type: Plain Text (text/plain)
> Encoding: 8bit
>
Warum wechselst Du plotzlich den Modus ? merkwuerdig

Was soll ich mit den gleichlautenden e-Mails anfangen ?
(Ueberfluessig und laestig)

Wieso heisst Du nun immer 'Mausmann' - dachte erst, es waere
nur mal zwischendurch ueber ein 'Fremdaccount' gelaufen -

Warum postest Du nicht den Code, der den Fehler verursacht hat ?

Theorien kanns Du dir dann immer noch zurechtlegen -
Mehrfaches do( ... bla bala ... geht nicht ... ist jedenfalls Unsinn.

Also - wenn Du nun nicht im naechsten Schritt hier den Code
hinterlaesst, der die Probleme macht, und ganz konkret sagst wann
welcher Fehler(meldung) in welchem Zusammenhang auftaucht, kann ich
auch nicht weiter helfen, dann bleibt nur noch Steffen mit seiner
Glaskugel, falls er sie mal wiederfindet ;-)

Gruss

Andreas

0 new messages