Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Die Funktion func würde im Grunde direkt deiner Funktion abc entsprechen.Hi,
d.h. wenn ich z.B. irgendwo meiner Funktion abc 4 Variable übergebe, dann muss ich diese 4 Variablen nur deiner func übergeben oder?
Die Funktion func würde im Grunde direkt deiner Funktion abc entsprechen.
Du mußt nur in der Hilfsklasse statt std::string dann CString verwenden und die Ausgabefunktion / den Ausgabeoperator anpassen.
Gruß
Hi,
danke für deine Geduld und deine Mühe.
Kannst du mir vielleicht anhand eines Beispiels das mal demonstriren?
Ich habe z.B.
void abc(CString var1, CString var2, CString var3, CString var4, CString var5, CString var6, CString var7);
aber auch an einer anderen Stelle:
void abc(CString var1, int var2, CString var3, int var4);
var1 kann ich ja immer fest als CString vorgeben.
Ausgabe wäre dann sowas wie:
str.Format("%s\t%s\t%i\t%s\t%i\t%s\t%i\t%s\t%i\t%f\t%s\t%i\t%s\t%i\t%s\t%i\r\n",var1, var2, var3, var4,var5,var6,var7);
wobei ja nicht jede Variable vorkommen kann.
CString formatParam(const Param& p) {
CString res;
switch(p.type) {
case Param::t_int:
res.Format("\t%i", p.i);
return res;
case Param::t_float:
res.Format("\t%f", p.i);
return res;
case Param::t_string:
return ('\t' + p.str);
default:
throw std::logic_error("unknown type value");
}
}
void abc(CString var1, Param var2 = Param(0), Param var3 = Param(0), Param var4 = Param(0), Param var5 = Param(0), Param var6 = Param(0), Param var7 = Param(0)) {
CString str(var1);
str += formatParam(var2) + formatParam(var3) + formatParam(var4) +
formatParam(var5) + formatParam(var6) + formatParam(var7);
...
}
Ich meinte so (man braucht dann ja keinen Parameter mehr übergeben):Du meinst dann so:
CString Param::format() {
CString res;
switch (type) {
...
}
}
void abc(...) {
...
str += var2.format() + var3.format() + ...
}
Ja.ich denke mal deine .... stehen für den Rest am Code oder?
Deine Klasse kann nicht instanziert werden, da du den Standardkonstruktor als "private" deklariert hast und zudem auch keine anderen Konstruktoren definiert hast...komisch hier schon, ist wenn ich auf CParam gehe, dass nur vor var... auch angezeigt wird dass CParam eine Klasse ist, das CParam(0) nicht.
wenn ich das Programm kompiliere, dann kommt Fehler, dass keine Konvertierung erfolgen kann.
Deine Klasse kann nicht instanziert werden, da du den Standardkonstruktor als "private" deklariert hast und zudem auch keine anderen Konstruktoren definiert hast...
Den Code von oben abzuschreiben kann doch nicht so schwer sein, oder?!
Gruß
PS: Und bitte schau dir an was Code Tags sind und wie man sie verwendet!
Du brauchst die Deklaration der Klasse aus Post #10 und fügst da noch die format Methode hinzu. Statt std::string mußt du natürlich CString nehmen. Und die friend Deklaration kannst du weglassen. Fertig.Hi,
Sorry aber mittlererweile komm ich etwas durcheinander was ich jetzt für class Param nehmen muss und was nicht ;-)