Autor Thema: [Themenvorschlag] Arrays / Textlisten  (Gelesen 11352 mal)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
[Themenvorschlag] Arrays / Textlisten
« am: 17.06.04 - 23:00:15 »
Eine spontane Idee:

Ich habe gerade gemerkt, dass ich da auch noch etwas Nachholbedarf habe.

Die Bücher die ich vorliegen habe, erklären die Themen zwar, aber nicht ausführlich genug. Ist zwar eigentlich ein reines Anfängerthema für Script-Neulinge, aber ich unterstelle mal, dass da auch fortgeschrittene Leute noch dann und wann hängen.

- Was ist ein Array
- Feste und dynamische Arrays
- Dimensionen
- Rückgabewerte bei Feldzugriff (UI und Backend)
- Umwandlung von String in Array und umgekehrt (Explode/Implode)
- Ich habe hier ein paar Strings, die will ich in ein Array setzen, wie mach ich das?
- Wie vergleiche ich 2 Arrays?
- Verwendung mehrdimensionaler Arrays
u.v.m.

Ist jetzt eine spontane Idee. Nach Lust und Laune werde ich das mal verfolgen. Evtl. baut man da auch ein paar Functions in die Doku mit ein, die es schon vielfach gibt (dabei saubere Re-Codierung und Versuch, möglichst alle möglichen Error-Cases abzufangen).
Ein @Formel - Teil sollte da imho auch nicht fehlen, da da auch immer wieder mal mit Mehrfachwerte-Textfeldern und Listen gearbeitet wird. Schwerpunkt sollte man aber imho auf LS legen.

Hat wer Lust mitzuwirken? Ist das Thema interessant? Was solll noch unbedingt da rein? Was wird in diesem Bezug immer wieder mal gefragt?
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Glombi

  • Gast
Re:[Themenvorschlag] Arrays / Textlisten
« Antwort #1 am: 17.06.04 - 23:12:53 »
Hi Matthias,

gute Idee. In dem Zusammenhang kann man auch die Listen in Script, die etwas stiefmütterlich behandelt werden, gleich mit erschlagen.

Grundaussage, die man verinnerlichen muss: Feldwerte werden alle in einem Array gespeichert. Insbesondere Feldwerte ohne Mehrfachwerte sind in einem 1-dimensionalen Array.

Dann einen Verweis zur "Schleifenkunde", Stichwort: Forall, Ubound und LBound.
Wichtig ist auch die Script Function IsArray(<var>)

Andreas
« Letzte Änderung: 17.06.04 - 23:13:21 von Glombi »

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:[Themenvorschlag] Arrays / Textlisten
« Antwort #2 am: 17.06.04 - 23:31:38 »
Andreas, schön, ich hoffe Du kannst mich da bei Bedarf beim ein- oder anderen unterstützen  ;)

Grundaussage, die man verinnerlichen muss: Feldwerte werden alle in einem Array gespeichert. Insbesondere Feldwerte ohne Mehrfachwerte sind in einem 1-dimensionalen Array.

Hatten wir letztens auch erst:
Backend-Zugriff auf Item: Man erhält ein Array.
Frontend-Zugriff auf Feld: Man erhält ein String.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:[Themenvorschlag] Arrays / Textlisten
« Antwort #3 am: 17.06.04 - 23:45:26 »
Listen: Oh ja, was man mit denen machen kann, steht im krassen Widerspruch zu ihrem üblichen Einsatz.
Basisroutinen: Implode, Explode, ArrayCompare hattest Du ja schon genannt. Interessant weiter:
- ein ArrayAppend, dem es wurscht ist, was schon vorhanden ist
- ein ArrayRemoveMember
- ein ArrayHasMember
usw., und das Ganze möglichst ohne immer an Strings gebunden zu werden.
Weiter: Interessant ist schon die Frage, ob ein Variant (also wieder: Irgendein Datatype dahinter) wirklich leer ist. IsArray ist eine Sache, aber es gibt ja auch noch IsEmpty, IsScalar, Isnull, Nothing  ;) Wenn man das allgemeingültig machen will, ist's ein weites Feld  ;)

Wenn das Ganze richtig läuft, steuere ich gerne auch Routinen bei. Für Fragen, Tipps, Kritiken usw. stehe ich natürlich jederzeit gerne zur Verfügung.

Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:[Themenvorschlag] Arrays / Textlisten
« Antwort #4 am: 17.06.04 - 23:59:16 »
Danke, Bernhard, für Deine Bereitschaft zur Unterstützung :-)

Du bestätigst mir irgendwie meine vorherige Vermutung, dass wir da wohl einige klassische Functions mit dazu ziehen sollten. Warum auch nicht - ich käme ohne Array-Functions in vielen Apps nicht mehr aus.

Vielleicht wird daraus ja ein 2Teiler. Erstmal das eigentliche "BP" (Verwendung, Praxisbeispiele, etc.), und als Annex die wichtigsten/meist benötigten von uns re-codierten Array-Routinen.
Das hätte schon was  :)

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:[Themenvorschlag] Arrays / Textlisten
« Antwort #5 am: 18.06.04 - 00:21:13 »
Das hätte wirklich was !
Was mir aber eben aufgefallen ist: Das Thema Arrays / Listen und ähnliches ist hier im Forum übrigens äusserst dürftig vertreten. Ob da die breite Masse meist gar nicht mit arbeitet oder einen Riesenbogen darum macht ?

Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:[Themenvorschlag] Arrays / Textlisten
« Antwort #6 am: 18.06.04 - 00:30:33 »
Ich glaub auch, Bernhard, dass viele gar nicht die simplen Möglichkeiten ausschöpfen die uns da dank Arrays geboten werden - und wohl lieber mit Workarounds arbeiten (ohne es vielleicht sogar zu wissen).
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:[Themenvorschlag] Arrays / Textlisten
« Antwort #7 am: 18.06.04 - 00:45:20 »
Um so wichtiger wäre es - wenn wir es machen - dann wirkliche Blackboxes anzubieten: Steckt 'rein, was Ihr wollt, die Routine kümmert sich  ;)

Bernhard

Offline Heiggo

  • @Notes Preisträger
  • Senior Mitglied
  • ****
  • Beiträge: 368
  • Geschlecht: Männlich
  • Ich habe nix gemacht!
Re:[Themenvorschlag] Arrays / Textlisten
« Antwort #8 am: 18.06.04 - 01:00:06 »
Ich glaube, den Bogen muss ich unumwunden zugeben.
Vieleicht kann Klein-Siebert dann doch mit einer neuen BP mal irgendwann hilfreich sein :-) Lernen tu ich ja recht schnell.

Das hätte wirklich was !
Was mir aber eben aufgefallen ist: Das Thema Arrays / Listen und ähnliches ist hier im Forum übrigens äusserst dürftig vertreten. Ob da die breite Masse meist gar nicht mit arbeitet oder einen Riesenbogen darum macht ?

Bernhard

PeEs: Christopher, sag bitte nix falsches *kicher*
« Letzte Änderung: 18.06.04 - 06:08:15 von SiebertH »
(¯`·._ (¯`·._-=- ...und für Bernhard... nur OFw d.R. :-) -=-_.·´¯)_.·´¯)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:[Themenvorschlag] Arrays / Textlisten
« Antwort #9 am: 18.06.04 - 08:25:29 »
Hi,

sehr gute Idee. Ich habe Listen bisher nur sehr rudimentär verwendet, bin aber von deren Mächtigkeit überzeugt.


Um so wichtiger wäre es - wenn wir es machen - dann wirkliche Blackboxes anzubieten: Steckt 'rein, was Ihr wollt, die Routine kümmert sich  ;)

Bernhard

Im Prinzip ja, aber...
Eigentlich wüsste ich schon ganz gerne was da in dem schwarzen Kasten vor sich geht. Vielleicht lassen sich Teile daraus auch für einen blauen Kasten verwenden. Und außerdem, man lernt nie aus.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:[Themenvorschlag] Arrays / Textlisten
« Antwort #10 am: 22.06.04 - 10:15:53 »
@TMC


bei vielen anderen hätte ich abgewunken, aber weil Deine Projekte
immer hand und fuss haben und meistens einfach nur gut sind bin ich
gerne dabei mein Scherflein beizutragen.

Ciao
Don Pasquale


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:[Themenvorschlag] Arrays / Textlisten
« Antwort #11 am: 20.07.04 - 22:13:46 »
Danke für Euer Feedback  :)

Ich möchte das Thema nun langsam mal angehen....

Hier mal ein erster Auszug Kap. 1:
----------------------------------------------------------
Was ist ein Array?

Ein Array ist eine Sammlung von Daten die alle denselben Datentyp haben und die über eine fortlaufende Nummer indexiert sind.

Beispiel:

Code
Dim straBPMods(5) as String
straBPMods(0) = "Glombi"
straBPMods(1) = "koehlerbv"
straBPMods(2) = "MartinG"
straBPMods(3) = "Semeaphoros"
straBPMods(4) = "Thomas Völk"
straBPMods(5) = "TMC"

Erklärung des Beispiels:

Dim straBPMods(5) as String

Durch die Klammer am Ende des Variablen-Namens definieren wir das String als Array. Da wir einen fixen Wert in die Klammer geschrieben haben (hier: 5), definieren wir das Array als statisches Array – d.h. die Anzahl der Elemente des Arrays haben wir hier schon beim Dimmen fix vorgegeben.

Ein Array startet per Default immer bei "0" – hier spricht man oft auch von einem "null-basierten" oder "zero-based" - Array. Beim Dimmen kann man aber einen anderen Start vorgeben. Wir hätten oben auch schreiben können:

Dim straBPMods(0 to 5) as String

Wenn wir als Startnummer eine 1 vorziehen, können wir hier folgendes machen:

Dim straBPMods(1 to 6) as String

Alternativ kann man den Default-Wert von "0" als ersten Indexwert der Liste scriptweit auf "1" geändert werden mittels Option Base:

usw. usw.
----------------------------------------------------------

D.h.  im Kap. 1 würde ich anhand des Beispiels ein paar Basics erklären (incl. UBound und LBound).

Dann weitere Kapitel die enthalten:
- Dynamische Arrays (incl. wann nehme ich die her, Redim (Preserve) etc.)
- Mehrdimensionale Arrays
- Listen
- Nützliche Funktionen (IsValueEmpty, ArrayCompare, Explode/Implode etc. etc.)


Nun meine Fragen an Euch:
Weitere Vorschläge?
Konkreter Input?
Will wer von Euch einen Part übernehmen? Oder Teile davon?
Hat wer von Euch schicke Array/List-Funktionen die er/sie zur Verfügung stellen möchte?
Soll man das anders gliedern?
« Letzte Änderung: 20.07.04 - 22:15:37 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re:[Themenvorschlag] Arrays / Textlisten
« Antwort #12 am: 24.08.04 - 18:00:18 »
gerade zum Thema Arrays sollten auch Beispiele in Javascript (für alle FrontEnd-Sachen, ist schnell, es gibt überall Democode, hat gute Arrayfunktionen) und Java (hat zig Array- und Stringbehandlungsfunktionen) dabei sein.

Ich benutze Arrays hauptsächlich für Auswertungen (alles in n-dimensionale Arrays packen, dann Daten auswerten, Ergebnis dann verexceln oder so) . In Fällen, wo Dokumente einer DocumentCollection mehrmals durchlaufen werden müssen ist das viel schneller, die benötigten Werte in ein Riesenarray zu werfen als die Notes-Dokumente direkt zu nehmen und mehrmals durch die Collection zu gondeln.

Formelsprache hat natürlich viel bessere Arrayfunktionen als Skript, für die meisten findet man aber an jeder Ecke eine Skriptumsetzung (@Explode in Lotusscript etc.). Hier wäre es interessant, nur die wirklich sauber programmierten Workarounds zu präsentieren. Ich habe selbst schon zig verschiedene Explode-Funktionen in Skript gesehen. Witzig wird das Ganze, wenn die ehemaligen Workaround-Funktionen plötzlich mit gleichem Namen in Notes 6 auftauchen. Da hatte ich schon Abstürze in Notes 6, die in Notes 5 nicht passieren, obwohl alles auf einem 6er Server läuft.

Kurz zusammengefasst: Für Arrays sind BP sicher sehr nützlich!
« Letzte Änderung: 24.08.04 - 18:11:31 von mt69clp »
sagt Mark.



slowfood.de

Marinero Atlántico

  • Gast
Re:[Themenvorschlag] Arrays / Textlisten
« Antwort #13 am: 25.08.04 - 10:25:47 »
Sollte - wie auch schon manchmal angemerkt - gemeinsam mit List gesehen werden.
Das sind Container oder Collections. Datenstrukturen, deren einzige Aufgabe darin besteht andere Elemente zu halten.

Für Java halte ich die Ranch Journal Einträge von Thomas Paul - Storing Objects (ab Juni 2002, 4 Teile) für lesenswert und newbie tauglich. Leute mit stärkeren Nerven können sich Kapitel 11 von Bruce Eckel, Thinking in Java, durchlesen.
http://www.javaranch.com/journal.jsp  

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz