Oder ein array wie im javascripts.
Doch in meinem Kopf ist seit 10 Jahren diese terminologie.
Nun seit 2 monaten (im c++) muss ich mein array verbinden mit :
1 - ein Qvector = (ein array mit nur eine index) wert[1]="charstring"
(also kann nur einen wert haben prozeile! einen vector in einen anderen
geht nicht) so wie php oder javasripts.
2 - enum ja ... ist auch eine liste total auf wort basiert print aepfel[golden]
3 - struct ... ist auch ein winziges array hatte ich als ich daten an einen callback von sqlite senden musste... aber jede variable hat nur eine wert...
4 - map (oder qmap) .... da wirt es interessant... da kann man verschiedene typen von variablen in eine liste setzen...
5 - es gibt sicher noch mehr ....
LEKTION BEGIN 1.0
nun machen wir ein QComboBox ( wie im html <select>) mit den werten:
|uebergabe an programm| utf8 was der benutzer sehen kann|
11 int | Deutsch aepfel qstring |
12 int | Deutsch bananen qstring |
13 int | Deutsch orangen qstring |
111 int | Italiano mela qstring |
112 int | Deutsch banane qstring |
113 int | Deutsch arance qstring |
und noch weitere 3 sprachen..
also ein vector unmoeglich ausser man stelt ein separator da und der wert int ist nicht sauber...
Jede sprache ein enum ..... nein...
also einen Herr Qmap....
QMap<QString, int , QString> NRdeutschQComboBox;
drei werte in eine zeile geht sicher nicht... (forum suche doc nichts!)
also wie vector ... aber ein qmap kann auch functionen aufnehmen... gehe ich da richtig?
Also laut classe name QMultiMap ( obwohl doku beispiel wieder nur 2 werte drinnen hat... also wie ein vector! oder normalen Qmap.
QMultiMap<QString, int> map1, map2, map3;
map1.insert("plenty", 100);
map1.insert("plenty", 2000);
..... forum suche QMultiMap NULL .. also ausser diskussion QMultiMap > /dev/null
Also um ein Ganz gewohnliches Array zu machen mit 3 sprachen
muss ich 2 qmap machen und ... fuer jede sprache eins damit dieses QComboBox beispiel zu sehen ist...?
struct beisbiel...
Code: Alles auswählen
struct sqljumper {
sqlite3 *db; /* The database */
int cnt; /* Number of records displayed so far */
int mode; /* An output mode setting */
int showHeader; /* True to show column names in List or Column mode */
QString zDestTable; /* Name of destination table when MODE_Insert */
QString CleanTableName; /* Name of destination table when export dump */
QString separator; /* Separator character for MODE_List */
int colWidth[100]; /* Requested width of each column when in column mode*/
int actualWidth; /* Actual width of each column */
QString nullvalue; /* The text to print when a NULL comes back from*/
QString zDbFilename; /* name of the database file */
};
..
vector beisbiel.
Code: Alles auswählen
/* header => QVector<QString> cfg; */
cfg.resize(0);
cfg.resize(100);
cfg.fill("tagname|"); /* go xml file [] qstring data.right(data.indexOf("[]")) */
cfg.insert(1, "applongname|"+ApplicationLongName);
cfg.insert(2, "appname|"+ApplicationName);
cfg.insert(3, "cachedir|"+cachedir);
cfg.insert(4, "sqldir|"+logfile);
cfg.insert(5, "logfile|"+ApplicationLongName);
/* auslesen ... */
QString *data = cfg.data();
for (int i = 0; i < cfg.size(); ++i) {
QString pos = QString( "Position =>%1 " ).arg( int2char(i) );
if (data[i] !="tagname|") {
file_put_contents_append(logfile,pos+data[i]+" vector ....");
RegisterLog("Vector config file "+pos+data[i]+" vector ....");
}
}
LEKTION BEGIN 1.0 a) nun geht es bei dir weiter... mit dem QComboBox beispiel.