Willkommen
Gast
. Bitte
einloggen
oder
registrieren
.
22.05.12 - 11:37:50
News:
Schnellsuche:
Das Notes Forum
Lotus Notes / Domino Sonstiges
Projekt Bereich
(Moderator:
_Arne_
)
Welche Schleife wann in Script
« vorheriges
nächstes »
Seiten:
1
2
3
[
4
]
Autor
Thema: Welche Schleife wann in Script (Gelesen 11231 mal)
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 3660
meden agan
Re:Welche Schleife wann in Script
«
Antworten #60 am:
08.11.03 - 16:08:54 »
Danke Glombi und Jens für den neuen Input!
Das ganze ist jetzt in der aktuellen Beta 5 eingearbeitet.
(Attachment siehe 1.Posting).
Weiterer Input und Anregungen sind willkommen.
Jens schicke ich das jetzt noch als Word, weil er auch noch Ergänzungen machen möchte.
Schön langsam wird's aber!
Endgültige Gliederung der Doku und Index erstelle ich noch, nachdem die Inhalte alle soweit fertig sind.
Grüße,
TMC
Gespeichert
Matthias
—
A good programmer is someone who looks both ways before crossing a one-way street.
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 3660
meden agan
Re:Welche Schleife wann in Script
«
Antworten #61 am:
08.11.03 - 16:38:27 »
Noch ein Hinweis zu den offenen Punkten:
1) Do...Loop – Schleife (Kap. 7.1)
--> offen wer das macht (bzw. Jens)
2) Performance (Kap. 10)
--> mein Part (analysiere gerade Rob's Links)
3) Links (Kap. 11)
--> Vorschläge willkommen, Rob hat ja auch schon einiges gepostet
TMC
Gespeichert
Matthias
—
A good programmer is someone who looks both ways before crossing a one-way street.
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 3660
meden agan
Re:Welche Schleife wann in Script
«
Antworten #62 am:
08.11.03 - 17:35:18 »
Zitat von: Rob Green am 02.10.03 - 10:17:49
- measuring script performance
1.
http://www.ferdychristant.com/fchristant/homepage.nsf/archive/20030325-0812%20AM?OpenDocument&count=-1
2.
http://www.ferdychristant.com/fchristant/homepage.nsf/archive/20030328-0657%20AM?OpenDocument&count=-1
- perfomance testing
http://www.eview.com/eview/viewr5.nsf/e640f630a3361f84852568f600070fd3/61fb8d0e2748d24c85256a55007c9543?OpenDocument
@Rob, leider funktionieren diese Links nicht (mehr), hast Du da vielleicht eine aktuelle Quelle?
Danke,
TMC
Gespeichert
Matthias
—
A good programmer is someone who looks both ways before crossing a one-way street.
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 3660
meden agan
Re:Welche Schleife wann in Script
«
Antworten #63 am:
08.11.03 - 17:53:24 »
So, nun habe ich auch noch den Part "Performance" und "Links" ergänzt.
(Attachment Beta 6: siehe wie immer 1.Posting).
Nachdem ich bereits 2 Artikel von Rob's Links sinngemäß ins deutsche übersetzt und in die Doku integriert hatte, ist mir gekommen:
"So ein Schmarrn".
Ich behaupte mal, fast jeder, der sich mit Programmierung auseinandersetzt, versteht zumindest in Grundsätzen die geschriebene englische Sprache.
Daher habe ich nun darauf verzichtet, hier Übersetzungsarbeit zu leisten.
Ich habe daher nur die Links reingesetzt, ein Fazit in deutsch drin, und Original-Zusammenfassungen.
Meines Erachtens muss das so reichen. Einzigste Befürchtung ist, dass die Weblinks irgendwann mal tot sind....
TMC
Gespeichert
Matthias
—
A good programmer is someone who looks both ways before crossing a one-way street.
koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 19044
Re:Welche Schleife wann in Script
«
Antworten #64 am:
08.11.03 - 19:26:08 »
Noch eine Bemerkung zum "Durchwandern" von Collections und GetNthDocument (entrynumber):
- Schreibfehler (GetNthDocument = 1 Wort)
- Sollte aus Performancegründen in der Tat nicht verwendet werden, weil der (neue) Pointer jedes Mal vom Pointer auf den ersten Eintrag aus (!) neu gebildet werden muss. Bei wenigen Elementen stellt dies kein (wahrnehmbares) Problem dar, der Rechenaufwand steigt jedoch exponentiell (!) an und kann nach einigen Tausenden Einträgen schon in den Bereich 1 Sekunde/Pointerbildung gelangen.
- Tritt sowohl in Collections als auch in Views auf.
- Benötigt man eine Nummerierung der gerade bearbeiteten Elemente, sollte parallel zur Instantiierung ein separater Zähler mitgeführt werden.
Bernhard
Gespeichert
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 3660
meden agan
Re:Welche Schleife wann in Script
«
Antworten #65 am:
08.11.03 - 19:31:11 »
@Bernhard:
Danke für Deinen Input!
Sagst Du mir bitte auch noch den Bezug (Kapitel-Nr.) der Doku?
Merci,
TMC
(verliere sonst die Übersicht)
Gespeichert
Matthias
—
A good programmer is someone who looks both ways before crossing a one-way street.
koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 19044
Re:Welche Schleife wann in Script
«
Antworten #66 am:
08.11.03 - 19:46:19 »
Zur Do ... Loop-Schleife:
Eine reine Do ... Loop-Schleife ist die primitiveste Form der Do ... Loop-Konstrukte, die weder kopf- noch fussgesteuert ist, sondern de-facto eine Endlosschleife bedeutet. Ihr Verlassen muß explizit mit
Exit Loop oder
Goto (Sprungmarke ausserhalb des Do ... Loop-Konstrukts)
erzwungen werden.
Die reine Do ... Loop-Schleife eignet sich für Situationen, in denen nicht eine bekannte bzw. ermittelbare Anzahl von Elementen abgearbeitet werden soll, sondern auf bestimmtes Ereignis gewartet wird.
Beispiel:
Const EXIT_INPUT = "EXIT"
Dim szInput as String
Do
szInput = InputBox$ ("Bitte geben Sie das Suchwort ein. Geben Sie Exit ein, um die Suche abzubrechen.", "Suche formulieren")
If Ucase (szInput) = EXIT_INPUT then
Exit Do
End If
If szInput <> "" then
Call SearchResults (szInput) 'Suche durchführen ...
End If
Loop
HTH,
Bernhard
Gespeichert
koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 19044
Re:Welche Schleife wann in Script
«
Antworten #67 am:
08.11.03 - 19:49:54 »
Sorry, Du hast natürlich recht. Hier die Kapitelnummern zu meinen letzten beiden Postings:
- GetNthDocument: 3.1.4 (aber das sollte vielleicht herausgelöst werden und in ein eigenes Kapitel, da es ja auch andere Schleifentypen betrifft)
- Reine Do ... Loop-Schleife: 7.1
Ciao,
Bernhard
Gespeichert
Semeaphoros
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 8152
ho semeaphoros - agr.: der Notesträger
Re:Welche Schleife wann in Script
«
Antworten #68 am:
08.11.03 - 20:15:01 »
Bernhard: Das Verlassen einer Schleife mit Goto ist eigentlich nach ANSI-Standard verboten. Der Grund ist einfach: der Compiler erkennt das Verlassen der Scheife nicht und räumt den Stack erst beim Verlassen des nächst-äusseren Blocks auf. Wenn das ein Loop im Loop ist, kann das durchaus mal zu Memory-Problemen (bzw. Stack-Size) führen.
Gespeichert
Jens-B. Augustiny
Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen
Homepage:
http://www.ligonet.ch
IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6
koehlerbv
Moderatoren
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 19044
Re:Welche Schleife wann in Script
«
Antworten #69 am:
08.11.03 - 20:36:31 »
Vollkommen richtig, Jens. Man *kann* eine Schlaufe mit Goto verlassen, *sollte* aber nicht - genau aus den von Dir genannten Gründen: Der Loop-Stack bleibt erhalten, bis das komplette Objekt "zerstört" wird. Häufig macht das nix - kurz nach der Goto-Sprungmarke ist ja eh' "Ende Gelände" für das Modul, aber irgendwann passiert es dann doch: Goto 'raus aus der Schleife ist einfach eine "Sauerei".
Etwas anderes wäre das Goto innerhalb eine "slynge" (das war dänisch ;-)
Und hier wäre ein eigenes Kapitel "Wie beherrscht man innerhalb einer Schleife Ordnung und Sauberkeit im Schlachthaus?" durchaus interessant.
Goto führt zu unstrukturierter, unübersichtlicher Programmierung. Richtig. Aber innerhalb einer Schleife kann es passieren, daß n (mit n = wird sehr gross) Bedingungen zu beachten sind. Wenn das mit Select Case zu erschlagen ist: Wunderbar. Wenn nicht, dann schachtelt man sich mit Ifs dumm und dämlich. Da kann es m.E. durchaus zur Les- und Pflegbarkeit des Codes beitragen, wenn das (compilerfreundliche !) Goto-Statement eingesetzt wird - ordentlichst dokumentiert (vor der Schleife ! In der Schleife nochmal !). Und in der Regel führt dieses Goto dann zum Fuss der Schleife. Hier mal ein stark vereinfachtes Beispiel mit Verzicht auf x-fach verschachtelte Conditions:
Set viewDocToChange = dbCurrent.GetView ("...")
Set docToChange = viewToChange.GetFirstDocument
While Not (docToChange is Nothing)
If ... then
'code
else
Goto GetNextDocument
GetNextDocument:
Set docToChange = viewToChange.GetNextDocument (docToChange)
Wend
Bernhard
Gespeichert
Rob Green
Freund des Hauses!
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 2651
Re:Welche Schleife wann in Script
«
Antworten #70 am:
08.11.03 - 21:34:04 »
hi TMC, Ferdy hat leider mit dem Bloggen aufgehört, kurz nachdem er bei einem Großkotzern in Holland angefangen hatte. Wohl Stress ... hehehe .. auf jeden Fall war sein Blog lange Zeit noch lesbar, nun scheint er ihn versenkt zu haben. Helfen kann ich auch nicht mehr, sorry. Aber merke für die Zukunft, alte Gamerregel, immer richtig: save early, save often ... und mit Notes ist es noch einfacher, Webseiten zu saven, sobald man was Wichtiges hat.
Gespeichert
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)
Meiporblog:
http://www.meipor.de/blog
allg. Unternehmerblog:
http://www.m-e-x.de/blog
Semeaphoros
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 8152
ho semeaphoros - agr.: der Notesträger
Re:Welche Schleife wann in Script
«
Antworten #71 am:
08.11.03 - 21:40:25 »
Bernhard: Sehr gute zusätzliche Bemerkungen und - auch wenn ich es praktisch nie verwende - sehe das mit dem Goto innerhalb der Schleife auch so. Goto wird verdammt, dabei ist ein exit loop ja nix anderes als auch ein Goto hinter das Ende des loops, dürfte also eigentlich auch nicht sein, wenn man gotos ganz verbietet, wird aber auffallend ganz besonders von denjenigen, die goto vehement verbieten, genauso vehement als Allheilmittel gepriesen ---- irgendwie merkwürdig, scheint mir.
Weitere Möglichkeit, das Verwenden von Subroutinen innerhalb einer Schleife, um das Schlachthaus etwas besser in Ordnung zu behalten, auch wenn dadurch natürlich ein Performance-Penalty zu bezahlen ist. Völlig richtig, dass das einen eigenen Abschnitt abgeben könnte.
«
Letzte Änderung: 09.11.03 - 12:22:27 von Semeaphoros
»
Gespeichert
Jens-B. Augustiny
Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen
Homepage:
http://www.ligonet.ch
IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6
Semeaphoros
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 8152
ho semeaphoros - agr.: der Notesträger
Re:Welche Schleife wann in Script
«
Antworten #72 am:
09.11.03 - 12:27:11 »
Habe ins Document von TMC jetzt noch den Abschnitt 7.1 aus Bernhards Vorgabe (unter Weglassung des Goto aus der Schlaife raus) ergänzt und auch sonst noch ein paar Feinheiten ins Dokument eingebaut und an TMC zur Redaktion zurückgeschickt. Die Betrachtungen zur übersichtlichen Strukturierung innerhalb des Loops, was Bernhard hier auch angedeutet hat, ist (noch) nicht drin, wir brauchen ja schliesslich Stoff für Version 1.1 ....
Ich möchte TMC für die geleistete Arbeit von Herzen danken, er hat aus den vielen Fetzen, die hier zusammengetragen wurden, wirlich einen gut lesbaren und gut strukturierten Text erstellt.
Und ich denke tatsächlich darüber nach, ob man das insbesondere anhand der Performance - Betrachtungen zu einem Vortrag verarbeiten könnte. Keep tuned, ich informiere, sobald sich was auf der Vortragsseite tut.
Gespeichert
Jens-B. Augustiny
Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen
Homepage:
http://www.ligonet.ch
IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 3660
meden agan
Re:Welche Schleife wann in Script
«
Antworten #73 am:
09.11.03 - 14:27:24 »
OK, dank Eurer Hilfe wäre nun dieses Projekt vorerst abgeschlossen
Endversion 1.0 ist im 1.Posting downloadbar.
Ich danke allen Autoren und Helfern!
Anregungen, Verbesserungsvorschläge und neuer Input sind natürlich gerne gesehen.
Viele Grüße,
TMC
Gespeichert
Matthias
—
A good programmer is someone who looks both ways before crossing a one-way street.
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 3660
meden agan
Re:Welche Schleife wann in Script
«
Antworten #74 am:
10.11.03 - 20:17:19 »
OK nun gibts noch Version 1.01 im ersten Posting.
Hat sich aber fast nix geändert.
Habe nur die Kontatdaten von Don Pasquale hinzugefügt und Änderungshistorie eingefügt.
TMC
Gespeichert
Matthias
—
A good programmer is someone who looks both ways before crossing a one-way street.
Glombi
Global Moderator
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 8401
Re:Welche Schleife wann in Script
«
Antworten #75 am:
12.11.03 - 10:56:04 »
Ich weiß nicht, ob es bereits erwähnt habe, daher möchte ich noch auf etwas wichtiges bzgl. der For-Next-Schleife hinweisen:
Die Laufvariable sollte nicht innerhalb der Schleife geändert werden. LotusScript inkrementiert die Laufvariable selbst:
Bsp:
Dim i as Integer
For i = 0 to 6
Print i
Next
erzeugt 0,1,2,3,4,5,6
Dim i as Integer
For i = 0 to 6
Print i
i = i + 1 'DAS SOLLTE MAN NICHT MACHEN !!!
Next
erzeugt 0,2,4,6 !!!
Will man nicht in 1-er Schritte iterieren, kann man dieses mittels Step definieren.
Bsp.
Dim i as Integer
For i = 0 to 6 Step 3
Print i
Next
erzeugt 0.3.6
Andreas
Gespeichert
IBM Certified Application Developer - Lotus Notes and Domino 8
Glombitza Informations-Systeme ist nun Teamstudio Bronze Partner!
Ihr interessiert Euch für Teamstudio Produkte, Spam-Lösungen, Antiviren-Lösungen oder Lotus Notes Lizenzen? Dann einfach Mail oder PM an mich!
Rob Green
Freund des Hauses!
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 2651
Re:Welche Schleife wann in Script
«
Antworten #76 am:
12.11.03 - 11:16:53 »
weitere Hinweise:
- ich würde separat die Reichweite von Variablen in Schleifen kurz in einem kleinen Unterkapitel ansprechen. Ebenso - auch wenn es nicht unbedingt nur in Schleifen ein Problem ist - zusätzlich globale Variablen ansprechen, die auch außerhalb des Schleifenkörpers ihre Gültigkeit nicht verlieren, aber bei einem erneuten Lauf entsprechend neu gesetzt werden müssen, da sie sonst mit dem alten Wert starten, was zu Fehlern führen kann.
- ein beliebtes Spiel ist das Befüllen von Listenwerten in Schleifen. Hier kommt es meiner Erfahrung nach häufig zu Problemen. Beispiel: es gilt im Rahmen einer Schleife mehrer Docs abzuchecken und Ergebnisse festzuhalten. Ergebnis soll sein zB sowas:
"Test A ist ok"
"Test B ist ok"
"Test C ist nicht ok"
Genau da kommen viele ins Schwimmen: der User soll das Ergebnis wie oben visualisiert bekommen. Also mit Zeiulenumbruch. Aber halt ... Problem ... erzeuge ich die Variable so
schleifenkörper
...
Inhalt="Test ist" & Cstr(CheckausDoc) & Chr(10) & Inhalt // oder wars Chr(0)? Bin mir jetzt nicht sicher
....
bekomme ich dummerweise
"Test C ist nicht ok"
"Test B ist ok"
"Test A ist ok"
""
Nehme ich
schleifenkörper
...
Inhalt=Inhalt & Chr(10) & "Test ist" & Cstr(CheckausDoc) // oder wars Chr(0)? Bin mir jetzt nicht sicher
....
bekomme ich
""
"Test A ist ok"
"Test B ist ok"
"Test C ist nicht ok"
Was tun?
check auf ersten Lauf, und ab zweiten Durchlauf Variable anpassen
...
if i<1 then
inhalt = "test ist " & Cstr(CheckausDoc)
else
inhalt = inhalt & chr(0) & "test ist" & Cstr(CheckausDoc)
end if
Hoffe, das war einigermassen verständlich
Gespeichert
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)
Meiporblog:
http://www.meipor.de/blog
allg. Unternehmerblog:
http://www.m-e-x.de/blog
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
Offline
Geschlecht:
Beiträge: 3660
meden agan
Re:Welche Schleife wann in Script
«
Antworten #77 am:
26.01.04 - 20:34:05 »
Die Dokumentation "Schleifen in Lotus Script" befindet sich ab sofort unter Best Practices als PDF zum Download:
Best Practices - Schleifen in Lotus Script
Es können aber gerne weiter hier im Thread weitere Anregungen, Verbesserungsvorschläge etc. gepostet werden.
Matthias
Gespeichert
Matthias
—
A good programmer is someone who looks both ways before crossing a one-way street.
Seiten:
1
2
3
[
4
]
« vorheriges
nächstes »
Gehe zu:
Bitte wählen Sie ein Ziel:
-----------------------------
ATNOTES TEAM
-----------------------------
=> Neuigkeiten - Wichtiges
===> Archiv
-----------------------------
Lotus Notes / Domino 8
-----------------------------
=> ND8: Administration & Userprobleme
=> ND8: Entwicklung
=> ND8: Entwicklung - XPages
-----------------------------
Lotus Notes / Domino 7
-----------------------------
=> ND7: Administration & Userprobleme
=> ND7: Entwicklung
-----------------------------
Lotus Notes / Domino 6
-----------------------------
=> ND6: Administration & Userprobleme
=> ND6: Entwicklung
-----------------------------
Domino 5 und frühere Versionen
-----------------------------
=> Administration & Userprobleme
=> Entwicklung
-----------------------------
Lotus Notes / Domino Sonstiges
-----------------------------
=> Tipps und Tricks
=> Tools & Downloads
=> Projekt Bereich
===> Help-Desk Applikation !!Help!!
=> Java und .NET mit Notes/Domino
=> Companion Products
=> OLE/COM-Programmierung
=> Aus- und Weiterbildung
-----------------------------
Best Practices
-----------------------------
=> At Notes Best Practices
=> Diskussionen zu Best Practices
-----------------------------
Sonstiges
-----------------------------
=> Offtopic
=> Kritik & Vorschläge
=> Infrastruktur
=> Job Suche/Angebote
1 Stunde
1 Tag
1 Woche
1 Monat
Immer
Einloggen mit Benutzername, Passwort und Sitzungslänge
Powered by SMF 1.1.16
|
SMF © 2006, Simple Machines
Impressum Atnotes.de -
Powered by Syslords Solutions -
Datenschutz
| Partner:
Tinte / Toner günstig