Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 6 von 6

Thema: Array in mehrdiomensionales Array kopieren

  1. #1
    Registriert seit
    28.01.2014
    Beiträge
    29
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo Leute,

    ich bin neu in der Welt von CodeSys und bevor ich lange probiere und mir einen Wolf suche, stelle ich meine Frage direkt hier.

    Ich habe zwei Array, eines zweidimensional und eines eindimensional:

    arr1 : array[0..9, 0..9] OF BOOL;
    arr2 : array[0..9] OF BOOL;

    Besteht die Möglichkeit, array "arr2" an eine Position von "arr1" 0-9 zu kopieren?

    Vielen dank für eure Hilfe!

    mfg
    Jens
    Geändert von Curby (28.01.2014 um 15:02 Uhr)
    Zitieren Zitieren Array in mehrdiomensionales Array kopieren  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Code:
    FOR i := 0 TO 9 DO
       arr1[0 , i] := arr2[i];
    END_FOR;
    Ja nachdem in welches Element arr2 hinein soll, kannst du auch arr1[1, i] oder arr1[i, 5] u.s.w. schreiben, das mußt du halt festlegen.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    Curby ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    28.01.2014
    Beiträge
    29
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ok, das wäre auch meine selbst geschriebene Lösung geworden. Ich hab gehofft, dass es noch etwas einfacher gehen würde. Ist da etwas mit Pointern möglich, dass ich auf arr1[x][0] zeige und dort arr2 hinkopiere?

  4. #4
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    750
    Danke
    27
    Erhielt 165 Danke für 143 Beiträge

    Standard

    Wenn man das zweidimensionale Array so deklariert:

    arr1 : array[0..9] of array[0..9] of Bool;

    dann funktioniert eine Zuweisung wie

    arr1[4] := arr2;

    Die Schreibweise für den Zugriff auf einzelne Elemente von arr1 ändert sich allerdings:

    Statt z. B. arr1[7,8] muss man arr1[7][8] schreiben.

  5. Folgende 2 Benutzer sagen Danke zu StructuredTrash für den nützlichen Beitrag:

    Klingone22 (29.01.2014),mkd (28.01.2014)

  6. #5
    Registriert seit
    19.12.2006
    Beiträge
    185
    Danke
    25
    Erhielt 26 Danke für 21 Beiträge

    Standard

    Zitat Zitat von Curby Beitrag anzeigen
    Ok, das wäre auch meine selbst geschriebene Lösung geworden. Ich hab gehofft, dass es noch etwas einfacher gehen würde. Ist da etwas mit Pointern möglich, dass ich auf arr1[x][0] zeige und dort arr2 hinkopiere?
    Was soll denn einfacher als ein Dreizeiler sein? O.k. ein Einzeiler
    Geändert von mkd (28.01.2014 um 16:03 Uhr)

  7. #6
    Registriert seit
    19.12.2006
    Beiträge
    185
    Danke
    25
    Erhielt 26 Danke für 21 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von StructuredTrash Beitrag anzeigen
    Wenn man das zweidimensionale Array so deklariert:

    arr1 : array[0..9] of array[0..9] of Bool;
    Auf die Idee bin ich ja noch nie gekommen - super - danke!

Ähnliche Themen

  1. TIA Struct nach Array kopieren
    Von Christof G im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 04.07.2013, 13:37
  2. Array berreiche kopieren
    Von Hobby_Programmierer im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 18.05.2011, 19:03
  3. Array kopieren
    Von gloeru im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 05.03.2011, 20:06
  4. Antworten: 11
    Letzter Beitrag: 18.03.2009, 22:09
  5. byte in array kopieren [AWL]
    Von vierlagig im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 17.11.2008, 22:55

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •