txt datei einlesen zu umständlich ?? gehts einfacher??
-
halo die txt datei hat folgende anordnung .
Im Code splite ich die zeilen in pro und dann 10 zeilen mit 4 einträgen.
Meine frage gehts auch einfacher?
Gut wäre sowas wie liste[0 bis 39]=..0,0,0,0;
503,283,826,0;
503,283,826,0;
503,283,826,0;
503,283,826,0;
503,283,826,0;
503,283,826,0;
503,283,826,0;
503,283,826,0;
503,283,826,0;private: System::Void öffnenToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { array<Char> ^komma={','}; array<Char> ^semi={';'}; array<String^> ^felder; array<String^> ^pro; array<String^> ^zeile2; array<String^> ^zeile3; array<String^> ^zeile4; array<String^> ^zeile5; array<String^> ^zeile6; array<String^> ^zeile7; array<String^> ^zeile8; array<String^> ^zeile9; array<String^> ^zeile10; String ^daten = ""; openFileDialog1->InitialDirectory="."; //aktuelle Verzeichnis openFileDialog1->Filter="Textdateien (*.txt)|*.txt"; openFileDialog1->FilterIndex=0; openFileDialog1->Multiselect=false; if (openFileDialog1->ShowDialog()==System::Windows::Forms::DialogResult::OK) { try { StreamReader ^sr=gcnew StreamReader(openFileDialog1->FileName,Encoding::GetEncoding("windows-1252"),false); daten = sr->ReadToEnd(); pro=daten->Split(semi,StringSplitOptions::RemoveEmptyEntries); felder=pro[0]->Split(komma,StringSplitOptions::RemoveEmptyEntries); zeile2=pro[1]->Split(komma,StringSplitOptions::RemoveEmptyEntries); zeile3=pro[2]->Split(komma,StringSplitOptions::RemoveEmptyEntries); zeile4=pro[3]->Split(komma,StringSplitOptions::RemoveEmptyEntries); zeile5=pro[4]->Split(komma,StringSplitOptions::RemoveEmptyEntries); zeile6=pro[5]->Split(komma,StringSplitOptions::RemoveEmptyEntries); zeile7=pro[6]->Split(komma,StringSplitOptions::RemoveEmptyEntries); zeile8=pro[7]->Split(komma,StringSplitOptions::RemoveEmptyEntries); zeile9=pro[8]->Split(komma,StringSplitOptions::RemoveEmptyEntries); zeile10=pro[9]->Split(komma,StringSplitOptions::RemoveEmptyEntries); for(int y=0; y<4; y++){textboxArray1[y]->Text=felder[y]; } for(int y=4; y<8; y++) textboxArray1[y]->Text=zeile2[y-4]; for(int y=8; y<12; y++) textboxArray1[y]->Text=zeile3[y-8]; for(int y=12; y<16; y++) textboxArray1[y]->Text=zeile4[y-12]; for(int y=16; y<20; y++) textboxArray1[y]->Text=zeile5[y-16]; for(int y=20; y<24; y++) textboxArray1[y]->Text=zeile6[y-20]; for(int y=24; y<28; y++) textboxArray1[y]->Text=zeile7[y-24]; for(int y=28; y<32; y++) textboxArray1[y]->Text=zeile8[y-28]; for(int y=32; y<36; y++) textboxArray1[y]->Text=zeile9[y-32]; for(int y=36; y<40; y++) textboxArray1[y]->Text=zeile10[y-36]; sr->Close(); catch (Exception ^e) { MessageBox::Show(e->Message); } } }
Gruß
-
for/foreach-Schleife?