Was ist hier dran falsch?
-
Button1->Enabled=false; OpenDialog1->Execute(); datei->LoadFromFile(OpenDialog1->FileName); for(int zeile=0; zeile < datei->Count; zeile++) { Application->ProcessMessages(); if((datei->Strings[zeile].Length() != 3)||(datei->Strings[zeile].Length() != 4)) { datei->Strings[zeile]=""; } } datei->SaveToFile(OpenDialog1->FileName); Button1->Enabled=true;Kann mir eine hilfreiche Seele sagen was daran falsch ist? Es sollen alle Zeilen die nicht 3 oder 4 Buchstaben haben leer gemacht werden. Aber es sind am Ende alle zeilen weg auch wenn 3 bzw 4 Buchstaben-Zeilen vorhanden sind
-
überlege mal dein if-Bedingung.
bei welcher Stringlänge kommt false?zu empfehlen währe noch:
if(OpenDialog1->Execute()) datei->LoadFromFile(OpenDialog1->FileName);
-
BigNeal schrieb:
überlege mal dein if-Bedingung.
bei welcher Stringlänge kommt false?Wie meinst du das? die if-Bedingung sagt doch Wenn die länge von datei->Strings[zeile] nicht gleich ist dann datei->Strings[zeile]="";
oder verstehe ich das falschBigNeal schrieb:
zu empfehlen währe noch:
if(OpenDialog1->Execute()) datei->LoadFromFile(OpenDialog1->FileName);hab ich
-
Die Bedingung ist immer wahr, deshalb wird immer gelöscht.
if(!(datei->Strings[zeile].Length() == 3 || datei->Strings[zeile].Length() == 4))
-
Holst schrieb:
BigNeal schrieb:
überlege mal dein if-Bedingung.
bei welcher Stringlänge kommt false?Wie meinst du das? die if-Bedingung sagt doch Wenn die länge von datei->Strings[zeile] nicht gleich 3 ist dann datei->Strings[zeile]="";
oder verstehe ich das falschedit: siehe dickgedruckte
-
AnsiString asString = "irgend ne länge"; if((asString .Length() != 3) || (asString .Length() != 4)) { asString =""; }Ich habe kurz deinenCode von ein paar unleserlichen sachen befreit.
jetzt erklährmir doch mal, was deine If-Abfrage genau bewirken soll.
und in welchem fall der Code "asString = ""; " nicht ausgeführt wird.
-
Wenn Du schreibst:
if( ..Length()!=3 || ...Length!=4)
dann ist !=4 wahr bei Länge drei und !=3 wahr bei Länge 4
besser: if( ..Length()<3 && ...Length>4)Das sollte dann schon klappen
-
ok habs verstanden wieso es nicht geht ^^
danke
-
Hat eigentlich jemand mein Posting da oben gesehen?!? Da stand die Antwort doch schon...
Joe_M.