Domino 9 und frühere Versionen > Entwicklung

Einem String-Array ein Array zuordnen

<< < (4/5) > >>

koehlerbv:

--- Zitat von: TMC am 12.09.04 - 00:02:58 ---Wenn man da 1 + 1 zusammenzählen würde, könnte man gleich wieder hergehen und Option Declare streichen und gleich mal alle Variablen als Variant durchlaufen lassen.  :P

--- Ende Zitat ---

Uiii, da bin ich mir aber sicher, dass Du weisst, dass das hinten und vorne nicht stimmt und Du da Äpfel und Birnen vergleichst.
Option Declare hat mit den Datentypen nicht primär etwas zu tun:


--- Code: ---%REM
Option Declare
%ENDREM

Dim MeineMeldung

MeineMelldung = "BlaBla"

MessageBox MeineMeldung

--- Ende Code ---

Woran liegt es jetzt, das die Massagekiste leer bleibt ?

Andererseits:

Function QuickSort (vOrigValues as Variant) as Variant

Damit kann ich ich jetzt ein String - oder ein Zahlen-Array sortieren lassen. Sträflich ?

Bernhard

TMC:

--- Zitat von: koehlerbv am 12.09.04 - 00:10:39 ---Function QuickSort (vOrigValues as Variant) as Variant

Damit kann ich ich jetzt ein String - oder ein Zahlen-Array sortieren lassen. Sträflich ?

--- Ende Zitat ---

Ich möchte jetzt keine Grundsatzdiskussion auslösen, Bernhard.

Aber was machst Du, wenn Du nur String haben möchtest? Du setzt trotzdem "OrigValues as Variant" ? Genau das wollte ich vermeiden.

Setzt Du alles in Functions gleich mal auf Variant?
Was machst Du, wenn Du ein Integer (scalar) erwartest? Trotzdem erstmal myInteger as Variant in der Function?

Ich halte das für nicht richtig.

koehlerbv:
Warum keine Grundsatzdiskussion, Matthias ?

Aber wir reden hier aneinander vorbei, befürchte ich.

Will ich "irgendwas" sortieren, brauche ich Variant. Logisch sicherlich.

Erwarte ich einen speziellen Datentyp, übergeb ich diesen explizit. Auch logisch.

Übergebe ich Arrays, muss ich mit Variants arbeiten. Das geht leider nicht anders - ausser ByVal. ByVal ist aber auch nicht ohne (falls der "User" nicht daran denkt, dass das Original dabei "verfälscht" wird). Und in Deinem Beispiel - ein Array einem anderen zuordnen - geht das natürlich auch nicht. Wobei das auch aus meiner Sicht nicht sauber war - Deine Sub hätte eigentlich eine Function sein müssen (wegen ByVal und so  ;) )

Bernhard

PS: Warum eigentlich überhaupt "Grundsatzdiskussion" oder nicht ? Dafür ist das Forum doch da, denke ich. Und bei derartigen Threads hat noch jeder von uns gelernt, oder ?

TMC:

--- Zitat von: koehlerbv am 12.09.04 - 00:31:06 ---Erwarte ich einen speziellen Datentyp, übergeb ich diesen explizit. Auch logisch.
--- Ende Zitat ---

Klar logisch. Genau so erwarte ich aber auch, dass die Function (egal ob von einem Programmierer oder fest im Client verdrahtet) bei True/False NICHT mit Variants sondern eben mit weniger Speicherfressendem wie Boolean arbeitet.
Das halte ich schon für beklagenswert, auch wenn Du das nicht so siehst oben (der Bezug war auf mein Posting, wo IBM für True/False Variants verwendet):

--- Zitat von: koehlerbv am 11.09.04 - 23:57:57 ---Auch in R6 kannst Du True Variablen vom Typ Variant, Integer oder Byte zuordnen. Single geht auch und ...
True =1    False = 0
Gemeiner ist vielmehr, dass @True / @False in Formelsprache andere Werte haben. Das ist beklagenswert, das andere in keinster Weise.
--- Ende Zitat ---

Aber Du hast Recht, Grundsatzdiskussionen sind oft sehr lehrreich hier  :)

TMC:

--- Zitat von: koehlerbv am 12.09.04 - 00:31:06 ---Übergebe ich Arrays, muss ich mit Variants arbeiten.
--- Ende Zitat ---

Meinst Du das allgemein, Bernhard?

Ich habe schon mehrere Routinen geschrieben, wo ich z.B. String-Arrays übergebe bzw. erwarte in der Routine.
Den einzigsten Haken, den ich bisher damit hatte, war der Auslöser dieses Threads.

Ansonsten sah ich da nur Vorteile, und afaik schlägt auch der Compiler mit einer Fehlermeldung zu, wenn kein String-Array übergeben wird an die Sub/Function - was bei einem Variant nicht passiert.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln