Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> Hallo BeGu2, > > > ich sitze geraume Zeit an einer simplen Datenübernahme > > aus Visual Basic 6. > > Ich habe mich irgendwie verrannt. > > 3 Werte sind zu übergeben. > > Sie können unterschiedlich lang sein (3-5 Stellen). > > In VB6 lese ich die Werte aus einem Formular und übergebe sie als > > String ... > > > > MSComm4.Output = Tg.Text + "-" + Df.Text + "-" + VDruck.Text + "-" + vbCr > > > > ... > > > > in der CC2 behandele ich die Werte wie folgt: > > > > > > if hwcom.rxd() // Datenübernahme von VB6 > > { > > hwcom.inputstr(s,0); // String 3 Werte mit '-'-Trennzeichen > > strx.split(s,t,'-'); // WERTE trennen > > a=t[0]; > > b=t[1]; > > c=t[2]; > > Tg = get_int_of_string(a); // Umwandlung in Integer > > Df = get_int_of_string(b); // Funktionen aus dem Forum > > VDruck = get_int_of_string(c); > > }// if hwcom.rxd() > > > > Ich habe das Gefühl, dass es einfacher geht. > > Auf jeden Fall muß Du, wenn Du mit hwcom.inputstr() arbeiten willst, CR + LF senden und > nicht nur CR. (Also vbCrLf statt vbCr) > Warum willst Du Werte aus VB unbedingt als String senden ?? > Das Einlesen von Werten als String hat z.B. nur bei Verwendung von Terminal-Programmen > einen Sinn. > Wenn man selbst ein Proggie am PC schreibt, welches die Kommunikation übernimmt, > ist es besser die Werte direkt zu senden. > Natürlich muß man hier dann Zahlen, die größer als der Bytebereich sind, > entsprechend zerlegen > > In Deinem Fall sind es 3 Integerwerte, also 6 Byte. > In VB sähe dies dann in etwa so aus: > <font face="Courier New" size=2> > sub sendWord(wert) > wert=format(wert,"0") > MSComm.output= Chr(wert \ &H100&) & Chr(wert and &HFF&) > end sub > ... > sendWord Tg.Text > sendWord Df.Text > sendWord VDruck.Text > </font> > CC2-seitig muß das ganze dann ungefähr so aussehen: > <code> > byte data[6]; > byte recbytescnt; > ... > wait hwcom.rxd(); > recbytescnt=hwcom.receive(data,6,250); > if recbytescnt==6 > { > Tg=(data[0] shl 8) or data[1]; > Df=(data[2] shl 8) or data[3]; > VDruck=(data[4] shl 8) or data[5]; > } > else > { > // ungültiger Datenrahmen, zu wenige Bytes empfangen > } > </code> > > MfG André H.
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB