@meaga... bzw wie erstelle ich ein konstantes globales 3dimensionales array?

  • hi

    is das so richtig?... für die anderen.. ich versuch ein constantes, globales Array mit 3 dimensionen zu erstellen...

    [autoit]

    Global Const $array[71][3] = [ _
    [34,'MM_GRAVIS','Advanced Gravis Computer Technology, Ltd.'], _
    [31,'MM_ANTEX','Antex Electronics Corporation'], _
    [42,'MM_APPS','APPS Software '], _
    [20,'MM_ARTISOFT','Artisoft, Inc.'], _
    [64,'MM_AST','AST Research, Inc.'], _
    [27,'MM_ATI','ATI Technologies, Inc.'], _
    [47,'MM_AUDIOFILE','Audio, Inc.'], _
    [56,'MM_APT','Audio Processing Technology'], _
    [74,'MM_AUDIOPT','Audio Processing Technology'], _
    [80,'MM_AURAVISION','Auravision Corporation'], _
    [52,'MM_AZTECH','Aztech Labs, Inc.'], _
    [49,'MM_CANOPUS','Canopus, Co., Ltd.'], _
    [89,'MM_COMPUSIC','Compusic'], _
    [41,'MM_CAT','Computer Aided Technology, Inc.'], _
    [45,'MM_COMPUTER_FRIENDS','Computer Friends, Inc.'], _
    [84,'MM_CONTROLRES','Control Resources Corporation'], _
    [ 2,'MM_CREATIVE','Creative Labs, Inc.'], _
    [93,'MM_DIALOGIC','Dialogic Corporation'], _
    [78,'MM_DOLBY','Dolby Laboratories, Inc.'], _
    [43,'MM_DSP_GROUP','DSP Group, Inc.'], _
    [25,'MM_DSP_SOLUTIONS','DSP Solutions, Inc.'], _
    [39,'MM_ECHO','Echo Speech Corporation'], _
    [46,'MM_ESS','ESS Technology, Inc.'], _
    [38,'MM_EVEREX','Everex Systems, Inc.'], _
    [63,'MM_EXAN','EXAN, Ltd.'], _
    [ 4,'MM_FUJITSU','Fujitsu, Ltd.'], _
    [82,'MM_IOMAGIC','I/O Magic Corporation'], _
    [32,'MM_ICL_PS','ICL Personal Systems'], _
    [81,'MM_OLIVETTI','Ing. C. Olivetti & C., S.p.A.'], _
    [57,'MM_ICS','Integrated Circuit Systems, Inc.'], _
    [33,'MM_INTEL','Intel Corporation'], _
    [36,'MM_INTERACTIVE','InterActive, Inc.'], _
    [22,'MM_IBM','International Business Machines '], _
    [58,'MM_ITERATEDSYS ','Iterated Systems, Inc.'], _
    [60,'MM_LOGITECH','Logitech, Inc.'], _
    [88,'MM_LYRRUS','Lyrrus, Inc.'], _
    [83,'MM_MATSUSHITA','Matsushita Electric Corporation of America'], _
    [ 3,'MM_MEDIAVISION','Media Vision, Inc.'], _
    [59,'MM_METHEUS','Metheus Corporation'], _
    [44,'MM_MELABS','microEngineering Labs'], _
    [ 1,'MM_MICROSOFT','Microsoft Corporation'], _
    [68,'MM_MOSCOM','MOSCOM Corporation'], _
    [48,'MM_MOTOROLA','Motorola, Inc.'], _
    [87,'MM_NMS','Natural MicroSystems Corporation'], _
    [62,'MM_NCR','NCR Corporation'], _
    [26,'MM_NEC','NEC Corporation'], _
    [86,'MM_NEWMEDIA','New Media Corporation'], _
    [79,'MM_OKI','OKI'], _
    [90,'MM_OPTI','OPTi, Inc.'], _
    [24,'MM_ROLAND','Roland Corporation'], _
    [54,'MM_SCALACS','SCALACS'], _
    [50,'MM_EPSON','Seiko Epson Corporation, Inc.'], _
    [40,'MM_SIERRA','Sierra Semiconductor Corporation'], _
    [69,'MM_SILICONSOFT','Silicon Software, Inc.'], _
    [66,'MM_SONICFOUNDRY','Sonic Foundry'], _
    [76,'MM_SPEECHCOMP','Speech Compression'], _
    [73,'MM_SUPERMAC','Supermac Technology, Inc.'], _
    [29,'MM_TANDY','Tandy Corporation'], _
    [55,'MM_KORG','Toshihiko Okuhura, Korg, Inc.'], _
    [51,'MM_TRUEVISION','Truevision, Inc.'], _
    [21,'MM_TURTLE_BEACH','Turtle Beach Systems'], _
    [35,'MM_VAL','Video Associates Labs, Inc.'], _
    [53,'MM_VIDEOLOGIC','VideoLogic, Inc.'], _
    [67,'MM_VITEC','Visual Information Technologies, Inc.'], _
    [23,'MM_VOCALTEC','VocalTec, Inc.'], _
    [30,'MM_VOYETRA','Voyetra Technologies'], _
    [28,'MM_WANGLABS','Wang Laboratories'], _
    [65,'MM_WILLOWPOND','Willow Pond Corporation'], _
    [61,'MM_WINNOV','Winnov, LP'], _
    [85,'MM_XEBEC','Xebec Multimedia Solutions Limited'], _
    [37,'MM_YAMAHA','Yamaha Corporation of America'], _
    ]

    [/autoit]


    grez

    • Offizieller Beitrag

    Hi,

    oder halt jedes Element einzeln zuweisen und dann zurückgeben lassen.

    [autoit]

    Global Const $Array = _belegen() ; oder halt [[231, 123],[ "test", 123]]
    _ArrayDisplay($Array)
    Func _belegen()
    Local $Array[2][2]
    $Array[0][0] = "String0|SubString0"
    $Array[1][0] = "String1|SubString1"
    $Array[0][1] = "String2|SubString2"
    $Array[1][1] = "String3|SubString3"
    Return $Array
    EndFunc ;==>_belegen

    [/autoit]

    So long,

    Mega

  • hi


    naja... alles was ich versuch scheitert :(

    ich möchte einfach nur ein konstantes array das so aufgebaut ist...:
    $array[72][3]

    in $array[$i][0] ist dann meine zahl, in $array[$i][1] der kurzname und in $array[$i][2] ist der lange name ^^

    @xeno... auf die Idee mit einer Funktion bin ich auch schon gekommen... nur soll das ein bestandteil einer udf sein, und da sollen ja keine Funktionen ausgeführt werden...

    grez

    • Offizieller Beitrag

    Hallo

    $array[x] = 1Dimensionales Array
    $array[x][y] = 2Dimensionales Array
    $array[x][y][z] = 3Dimensionales Array
    Was in x/y/z steht ist vollkommen irrelevant für die Dimension!

    @Mega: Es soll ja aber Konstant sein..

    In der Hilfe Unter Dim / Global / Local gibt es ein Beispiel um 2D arrays zu erstellen:

    [autoit]

    Dim $Grid[2][4]=[["Paul", "Jim", "Richard", "Louis"], [485.44, 160.68, 275.16, 320.00]]

    [/autoit]

    Mfg Spider

  • Meger´s Variante ist doch konstant.
    Das Array ist nicht mehr veränderbar.

    Allerdings ist es nicht die glücklichste Lösung da damit zumindestens kurzzeitig die doppelte Arraygröße im Speicher reserviert wird.
    Einmal das lokale Array was zwar dann wieder aus dem Speicher verschwindet und dann das global konstante Array.

  • hi

    Zitat

    Naja, und wenn es so ein Riesen array wie beim ersten Post ist, wird das auch sehr viel Schreibarbeit ;)

    naja... nur für autoit :P

    ich habs jetzt so gemacht, wie aspirinjunkie/mega gesagt hat... wird eine ziemlich große (für meine verhältnisse :/) udf zur ansteuerung des waveoutports...

    aber danach kann ich dlls sicher xD


    grez