problem mit einer verschachtelten for-schleife
azok
- sonstiges
0 wahsaga0 norbert =:-)
hi!
folgendes problem bezieht sich zwar auf c#, doch von der logik dürfte es jeder programmiersprache ziemlich ähnlich sein. - folgendes: ich programmiere zzt an einem (freeware)html-editor. nun bin ich dabei eine funktion zum einfügen einer tabelle zu schreiben, der hauptteil hat folgenden code:
private void pbOK_Click(object sender, EventArgs e)
{
string TableCode;
decimal zeile, spalte;
zeile = this.nupRow.Value; //werte aus der "numerischen combobox" holen
spalte = this.nupCol.Value;
TableCode = "<table>\n";
for(int i=0; i<zeile; i++)
{
TableCode += " <tr>\n";
for (int x = 0; x < spalte; x++)
{
TableCode += " <td></td>\n";
}
TableCode += " </tr>\n";
}
TableCode += "</table>\n";
this.cf.PasteTable = TableCode;
this.Close();
}
es funktioniert soweit alles. - gebe ich jedoch eine tabelle des formates 0 x 2 an, so erhalte ich (logischerweise) als ausgabe <table></table>, da die erste for-schleife nicht ausgeführt wird und somit auch die zweite nicht... - wie könnte ich das lösen? muss ich da anders verschachteln oder über if etc. arbeiten?
lg
azok
hi,
es funktioniert soweit alles. - gebe ich jedoch eine tabelle des formates 0 x 2 an, so erhalte ich (logischerweise) als ausgabe <table></table>, da die erste for-schleife nicht ausgeführt wird und somit auch die zweite nicht... - wie könnte ich das lösen?
frage die startparameter auf gültigkeit ab, _bevor_ du deine funktion etwas anderes tun lässt.
if(zeilenzahl gleich 0 oder spaltenzahl gleich 0) {
// rücksprung, fehlermeldung, wasauchimmer
}
else {
// hier deine schleifen zum erstellen einer tabelle
}
gruß,
wahsaga
Hallo azok!
Da Du einen HTML-Editor programmierst und wir den vielleicht in einigen Jahren nutzen werden, frage ich mich schon, ob ich eine Auswahlmöglichkeit vorfinden möchte, bei der Tabellen mit 0 Zeilen oder 0 Spalten angeben kann.
Ich würde also nicht an der Schleife basteln, sondern an dem Element, welches diese Schleife mit den Werten versorgt ;-)
lg
norbert =:-)