-> Hier kostenlos registrieren
Hallo,
ich hab ein Problem mit dem Lesen von Daten aus einem Datenbaustein mit dc.getS16at(i). In den DB1 habe ich zu Testzwecken 100 Integerwerte, beginnend bei DBW0 reingeschrieben. Ich habe kontrolliert, dass die Werte tasächlich drinstehen. Nun will ich mit dc.getS16at(i) die Werte herauslesen. Das klappt auch, bis auf die beiden ersten Werte?!
buffy ist formweit gültig deklariert mit "Dim buffy(199) as Byte".
Ich schreibe die 100 Integerwerte in eine Excel-Tabelle. Dabei stelle ich fest, dass die beiden ersten Werte nicht stimmen.
Ich habe es alternativ dazu mal mit davegetS16from(buffy(i*2)) versucht. Damit klappt es.
Gruß
Earny
ich hab ein Problem mit dem Lesen von Daten aus einem Datenbaustein mit dc.getS16at(i). In den DB1 habe ich zu Testzwecken 100 Integerwerte, beginnend bei DBW0 reingeschrieben. Ich habe kontrolliert, dass die Werte tasächlich drinstehen. Nun will ich mit dc.getS16at(i) die Werte herauslesen. Das klappt auch, bis auf die beiden ersten Werte?!
Code:
[COLOR=#0000ff]Private[/COLOR] [COLOR=#0000ff]Sub[/COLOR] btnWerteLesen_Click([COLOR=#0000ff]ByVal[/COLOR] sender [COLOR=#0000ff]As[/COLOR] System.Object, [COLOR=#0000ff]ByVal[/COLOR] e [COLOR=#0000ff]As[/COLOR] System.EventArgs) [COLOR=#0000ff]Handles[/COLOR] btnWerteLesen.Click
[COLOR=#0000ff]Dim[/COLOR] Zeit [COLOR=#0000ff]As[/COLOR] [COLOR=#0000ff]Integer[/COLOR]
[COLOR=#0000ff]If[/COLOR] livebit [COLOR=#0000ff]Then[/COLOR]
Zeit = GetTickCount
res = dc.readBytes(libnodave.daveDB, 1, 0, 200, buffy)
[COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]If[/COLOR]
txtLesen.Text = GetTickCount - Zeit
[COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]Sub[/COLOR]
[COLOR=#0000ff]Private[/COLOR] [COLOR=#0000ff]Sub[/COLOR] btnExcelSchreiben_Click([COLOR=#0000ff]ByVal[/COLOR] sender [COLOR=#0000ff]As[/COLOR] System.Object,
[COLOR=#0000ff]ByVal[/COLOR] e [COLOR=#0000ff]As[/COLOR] System.EventArgs) [COLOR=#0000ff]Handles[/COLOR] btnExcelSchreiben.Click
[COLOR=#0000ff]Dim[/COLOR] i [COLOR=#0000ff]As[/COLOR] [COLOR=#0000ff]Integer[/COLOR], Zeit [COLOR=#0000ff]As[/COLOR] [COLOR=#0000ff]Integer[/COLOR]
Exc.Worksheets(1).Cells(1, 1).value = [COLOR=#800000]"Nummer"[/COLOR]
Exc.Worksheets(1).Cells(1, 2).value = [COLOR=#800000]"Wert"[/COLOR]
Zeit = GetTickCount
[COLOR=#0000ff]For[/COLOR] i = 0 [COLOR=#0000ff]To[/COLOR] 99
Exc.Worksheets(1).Cells(i + 2, 1).value = i + 1
exc.Worksheets(1).Cells(i + 2, 2).value = dc.getS16At(i * 2)
[COLOR=#0000ff]Next[/COLOR]
txtExcel.Text = GetTickCount - Zeit
Exc = [COLOR=#0000ff]Nothing[/COLOR]
[COLOR=#0000ff]End[/COLOR] [COLOR=#0000ff]Sub[/COLOR]
buffy ist formweit gültig deklariert mit "Dim buffy(199) as Byte".
Ich schreibe die 100 Integerwerte in eine Excel-Tabelle. Dabei stelle ich fest, dass die beiden ersten Werte nicht stimmen.
Ich habe es alternativ dazu mal mit davegetS16from(buffy(i*2)) versucht. Damit klappt es.
Gruß
Earny