Delphi-Forum.de Delphi-Library.de
C-Sharp-Forum.de C-Sharp-Library.de
Registrieren Login Suche Hilfe Sitemap
Byte-Array schrittweise beschreiben
spacer
Autor Nachricht
Thomas450
Hält's aus hier

Beiträge: 7
Dabei seit: 24.01.2010



BeitragVerfasst: Sa 20.02.10 19:35  Antworten mit Zitat Beitrag melden
Hallo,

ich möchte aus einer speicherprogrammierbaren Steuerung Daten (1024 Bytes) lesen und in ein Byte-Array eintragen. Der Lesebefehl liefert pro Aufruf aber nur maximal 222 Bytes. Ich muss den Befehl daher mehrfach aufrufen und die gelesen Daten nacheinander in das Byte-Array eintragen. Bibt es eine Möglichkeit die jeweilige Position im Array an den Lesebefehl zu übergeben? Dieser erwartet ein Byte-Array.

ausblenden C#-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
//Deklaration Lesebefehl
public int readBytes(int area, int DBnumber, int start, int len, byte[] buffer);

public void daten_lesen()
{
int res, pos, len;
byte[] buf;
buf = new byte[1014];

len = 222;

pos = 0;
res = dc.readBytes(libnodave.daveDB, db, pos, len, buf[0???]);

pos = 222;
res = dc.readBytes(libnodave.daveDB, db, pos, len, buf[222???]);

//usw... (wird später natürlich ne Schleife)
}



Gruß Thomas


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Sa 20.02.2010 um 18:45
Private Nachricht sendenPosting in privater Nachricht zitieren
c#surfer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star

Beiträge: 32
Erhaltene Danke: 1
Dabei seit: 24.01.2010



BeitragVerfasst: So 21.02.10 00:32  Antworten mit Zitat Beitrag melden
Ich kann dir deine Frage nicht beantworten, da ich nicht weiss, was in deinem code dc ist. Aber falls es nicht so fkt wie du möchtest, kannst du die Daten zuerst in ein temporäres array lesen und dann mittels Array.Copy in das endgültige array an eine beliebige Stelle kopieren.
Private Nachricht sendenPosting in privater Nachricht zitieren
Thomas450
Hält's aus hier

(Threadstarter)

Beiträge: 7
Dabei seit: 24.01.2010



BeitragVerfasst: So 21.02.10 13:01  Antworten mit Zitat Beitrag melden
Bei dc handelt es sich um die Instanz einer Klasse mit den Zugriffsfunktionen.

"static libnodave.daveConnection dc;"

Kann ich beim Aufruf der Funktion in C# einen Verweis oder einen Zeiger auf die Stelle im Array angeben?

Gruß Thomas
Private Nachricht sendenPosting in privater Nachricht zitieren
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Chefentwickler

Beiträge: 17441
Erhaltene Danke: 95
Dabei seit: 07.07.2002
Wohnort: Server-Souterrain

Win 7
Delphi Prism, C# (VS 2010)
BeitragVerfasst: So 21.02.10 13:03  Antworten mit Zitat Beitrag melden
user profile iconThomas450 hat folgendes geschrieben Zum zitierten Posting springen:
Kann ich beim Aufruf der Funktion in C# einen Verweis oder einen Zeiger auf die Stelle im Array angeben?
Nein, solche wilden Pointereien gibt es in der managed Umgebung nicht mehr ;-)

_________________
I am of peace. Always.
Private Nachricht sendenPosting in privater Nachricht zitieren Webseite dieses Mitglieds besuchen
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
Beiträge vom vorherigen Thema anzeigen:   
home home