BEim einfügen immer 1 Zeile mehr
-
Hi
Ich lese aus einer Excel Tabelle zeilen weise aus, das funktioniert soweit
das Problem liegt darin wenn ich die Daten in ein Memofeld schreibe, dann trägt
das Programm immer die zweite Zeile aus Excel mit ein.Hier mal der Code :
bool TabEnd = true; unsigned int erm = 1; int erg = 0, bg = 0; String bgs = "BG"; while(TabEnd) { //Hier lese ich die Tabelle aus Excel ein AnsiString j = Sheet.OlePropertyGet("Cells",erm,1); if(j >= bgs+bg) // ab hier vergleich ich ob z.b BG63 in der Tabelle steht { Memo2->Lines->Add(j); // hier trage ich den Wert ein //erg++; } //if(Memo2->Lines->Strings[erg].SetLength(2) == erg ) // TabEnd = false; erm ++; // ab hier setzte ich die Zeile 1 weiter kommt der Fehler. Das Programm in das Memofeld eine weitere Zeile mit m schreibt }Hier die Daten aus Excel :
Spalte 1 Spalte 2 BG70 m f/hz 0 10065 3,95 9308 6,3718 7838 8,2311 5950 7,0607 4721 12,4336 3965 13,3218 3814 14,0801 3635BG70 liest das programm mit aus und trägt es ein aber
die zweite Zeile mit m auch.Die Eintargung im Memofeld sehe dann so aus z.b :
BG70
m
BG71
m
BG72
musw.
Das m soll er aber net mit eingetragen werden .
Wäre für Hilfe dankbar.MFG
-
Glaubst Du, dass der Vergleich von zwei Strings tatsächlich so funktioniert?
if(j >= bgs+bg) // ab hier vergleich ich ob z.b BG63 in der Tabelle stehtSieh Dir mal die Hilfe zu operator >= von AnsiString an.
Ich vermute, Du müsstest auf AnsiCompare o.ä. ausweichen. Aber wahrscheinlich würde Dein Problem trotzdem bestehen bleiben.
Überleg mal, was im Telefonbuch weiter hinten steht (also >=): m oder B?Gruß,
Alexander