[gelöst] QString Array
Verfasst: 17. Juni 2005 12:17
Hallo,
ich habe mal eine totale Newbie-Frage, aber ich checks gerade mal wieder nicht. Möchte ein Array von QStrings anlegen und diese dann ganz normal auslesen. Der Code, der ohne Arrays funktioniert, lautet so:
Das würde ich gerne in eine For-Schleife mit QString-Arrays verpacken, also irgendwie so:
Da meckert er aber erstmal, dass man QString text[0]=ele.text(); nicht so nehmen darf (error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'class QString' (or there is no acceptable conversion)) und text[1].toUInt(&ok, 0) ebenso nicht (error C2039: 'toUInt' : is not a member of 'QCharRef'). Wenn ich jetzt schreibe
ist der eine fehler zwar weg, aber dann zeigt er ja nur auf das erste Zeichen und nimmt nicht den ganzen QString.
Könnt ihr mir erzählen, was man bei nem Array von QStrings beachten muss?
ich habe mal eine totale Newbie-Frage, aber ich checks gerade mal wieder nicht. Möchte ein Array von QStrings anlegen und diese dann ganz normal auslesen. Der Code, der ohne Arrays funktioniert, lautet so:
Code: Alles auswählen
if (a=="m")
{
node=node.namedItem("source");
ele = node.toElement();
QString text=ele.text();
node=node.nextSibling();
ele = node.toElement();
QString text2=ele.text();
node=node.nextSibling();
ele = node.toElement();
QString text3=ele.text();
node=node.nextSibling();
ele = node.toElement();
QString text4=ele.text();
node=node.nextSibling();
ele = node.toElement();
QString text5=ele.text();
node=node.nextSibling();
ele = node.toElement();
QString text6=ele.text();
node=node.nextSibling();
ele = node.toElement();
QString text7=ele.text();
node=node.parentNode();
modbusDataList.append(new ModbusData(
text,
text2.toUInt(&ok, 0),
text3,
text4.toUInt(&ok, 0),
text5.toUShort(&ok, 0),
text6,
text7.toUShort(&ok, 0)));
}
Code: Alles auswählen
if (a=="m")
{
node=node.namedItem("source");
ele = node.toElement();
QString text[0]=ele.text();
for (int i=1; i<=6; i++)
{
node=node.nextSibling();
ele = node.toElement();
text[i]=ele.text();
}
node=node.parentNode();
modbusDataList.append(new ModbusData(
text[0],
text[1].toUInt(&ok, 0),
text[2],
text[3].toUInt(&ok, 0),
text[4].toUShort(&ok, 0),
text[5],
text[6].toUShort(&ok, 0)));
}
Code: Alles auswählen
text[0]=*ele.text();
Könnt ihr mir erzählen, was man bei nem Array von QStrings beachten muss?