Forum: PC-Programmierung Rigol: Code anpassen


von Joachim .. (joachim_01)


Lesenswert?

Moin,
ich hab hier nen Beispiel für ein Rigol Oszi das Daten via USB holt. Das 
Beispiel ist für VC6.0 geschrieben. Leider hab ich von gemanagtem C++ 
als 8-bit Frickler arg wenig Ahnung, es gelang mir die Lib dazu zu 
linken aber das wars dann auch schon. Ich hab mit diversen Snippets 
rumprobiert, komm aber nicht wirklich weiter.

Das ist der Originalcode:
1
ViSession defaultRM, vi; 
2
char buf [256] = {0}; 
3
CString s,strTemp; 
4
char* stringTemp; 
5
ViChar buffer [VI_FIND_BUFLEN]; 
6
ViRsrc matches=buffer; 
7
ViUInt32 nmatches; 
8
ViFindList list; 
9
viOpenDefaultRM (&defaultRM); 
10
// acquire the USB source of visa 
11
viFindRsrc(defaultRM, "USB?*", &list,&nmatches, matches); 
12
viOpen (defaultRM,matches,VI_NULL,VI_NULL,&vi); 
13
viPrintf (vi, "*RST\n"); 
14
// send the command received 
15
m_combox.GetLBText(m_combox.GetCurSel(),strTemp); 
16
strTemp = strTemp + "\n"; 
17
stringTemp = (char *)(LPCTSTR)strTemp; 
18
viPrintf (vi,stringTemp); 
19
// read the result 
20
viScanf (vi, "%t\n", &buf); 
21
// display the result 
22
UpdateData (TRUE); 
23
m_receive = buf; 
24
UpdateData (FALSE); 
25
viClose (vi); 
26
viClose (defaultRM);

Kann ich die Zeile
CString s,strTemp;
einfach so gegen:
String ^ strTemp;
tauschen?


Wie gehe ich mit  m_combox and m_receive um? Im Beispiel werden mit dem 
ClassWizard die beiden Elemente dazugedingst. Wie mach ich das händisch?

von g457 (Gast)


Lesenswert?

> Leider hab ich von gemanagtem C++ [..] wenig Ahnung [..]
> Kann ich die Zeile
> CString s,strTemp;
> einfach so gegen:
> String ^ strTemp;
> tauschen?

Warum solltest Du das wollen wenn du von managed C++ keine Ahnung hast? 
Bleib doch bei richtigem C++ und entsorg ggf. lieber die MFC.

> Wie gehe ich mit  m_combox and m_receive um?

Adäquat ersetzen und dann entsorgen.

> [..] ClassWizard [..] Wie mach ich das händisch?

Entsorgen und einfach(tm) händisch anlegen.. Falls es unbedingt GUI sein 
muss kannst Du gleich auf QT oder GTK* oder ähnliches umsteigen, sonst 
bleib beim CLI.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.