Hat mich halt verdammt viel Zeit gekostet, …
Moin Reinhard,
Ich würde mal aus dem Bauch heraus sagen, der Code müßte m.E.
schneller ablaufen wenn du in einer Schleife eine Variable
mit (10000) dimensionierst, dann bei jedem hinzukommenden
Eintrag in dieser Variablen ein „mitlaufende“ Zählvariable um
eins erhöst.
Das geht sicher auch gut, halte ich programmiertechnisch aber für nicht so elegant. Bei meiner neuen Maschine (core i7, zugeschnitten auf Videobearbeitung) sieht man da wohl auch bei größeren Feldern keinen Unterschied.
- alles unter Option Base 1.
Warum?
Hmm, weiss ich nicht mehr so genau, habe das vor div. Jahren aus bestimmten Gründen so angefangen. Bei Base 0 müsste ich meine Denke umstellen: „Hamm wir schon immer so gemacht, kann ja jeder kommen“ )
? je nach Umständen kommt ja der Fehler.
Bei mir nicht - siehe auch unten.
Ein Dim arr(-10 To 5) d.h. negative Indices habe ich nicht.
*gg*, ich sah das bislang auch noch nie, es entstand als ich
aufgrund deiner Anfrage ein wenig rumspielte.
Solche Spielereien sind m.E. auch eine sehr gute Sache um
bestimmten Dingen auf den Grund zu gehen.
Das finde ich im Prinzip nicht schlecht. Bestimmte Aufgaben sind sehr elegant mit negativen Indices zu machen. Ist zwar schon lange her (40 Jahre, 'ne Abschlussarbeit mit Fortran), da waren symmetrische Vektoren, Matrizen. Deren Index lief von -n bis +n, konnte man sehr elegant formulieren. Frag mich aber nicht mehr nach Einzelheiten.
Hat mich halt verdammt viel Zeit gekostet, das zu finden.
Was genau? *verwirrt schau*
Eine Schleife, die eine Liste nach bestimmten Namen durchsucht und aussteigt, wenn er gefunden wurde:
For i\_verzeichnisliste = 1 To UBound(Verzeichnis\_Liste)
If ordnername = Verzeichnis\_Liste(i\_verzeichnisliste, 0) Then Exit For '\>\>\>\>\>\>
Next i\_verzeichnisliste
Das stieg immer sofort aus. Ich habe eine MsgBox in die Schleife gesetzt und mich gewundert, dass die gar nicht anspricht:
For i\_verzeichnisliste = 1 To UBound(Verzeichnis\_Liste)
MsgBox i\_verzeichnisliste
If ordnername = Verzeichnis\_Liste(i\_verzeichnisliste, 0) Then Exit For '\>\>\>\>\>\>
Next i\_verzeichnisliste
Dann habe ich die „0“ gesehen. Mit
For i\_verzeichnisliste = 1 To UBound(Verzeichnis\_Liste)
If ordnername = Verzeichnis\_Liste(i\_verzeichnisliste, 1) Then Exit For '\>\>\>\>\>\>
Next i\_verzeichnisliste
lief es dann richtig: Der zweite Index muss natürlich „1“ sein bei Base 1. Selbst bei intensivstem Draufschauen habe ich das erst nach Stunden gesehen … werde halt langsam älter. Andererseits: ich kenne das aus früheren Berufszeiten. Da haben Programmierer den ganzen Nachmittag rumgemacht, und es lief nicht. Feierabend … am nächsten Morgen fiel es ihnen wie Schuppen von den Augen.
Gruß
Laika