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?


Anmelden zum Antworten