Autor Beitrag
marc75
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Sa 02.10.10 16:42 
Hallo

habe folgendes Problem und google seid Stunden.

Ich splitte einen String und möchte das die Teilstrings in die Spalten des dgv eingefügt werden.

Wenn ich das versuche zeigt er mir den Fehler : Außerhalb des Arraybereichs an.


ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
ArrayList a = new ArrayList();
            //Regex javascript = new Regex("script type=\\\"text/javascript\\\"\\>(?<Brutto>[^\\>]*)", RegexOptions.CultureInvariant | RegexOptions.Compiled);
            //string java = javascript.Match(this.HTML).Value;
            
            Regex trefferliste = new Regex("var cars\\=new Array(.*)([\\w+?\\.\\w+])+([a-zA-Z0-9\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)_\\-\\=\\+\\\\\\/\\?\\.\\:\\;]*)?", RegexOptions.CultureInvariant | RegexOptions.Compiled);
            string java1 = trefferliste.Match(this.HTML).Value;
            string array = java1.Replace("var cars=new Array();""");
            
            
            string test = array;
        string[] words = test. Split (';');
        foreach (string word in words)
        {
            a.Add(word);
            //string test1 = array;
           
 
            string[] words1 = word.Split(',');
 
            
            //string bild = words1[0];
            //string anzahlbilder = words1[1];
            //string link = words1[2];
           // string false1 = words1[3];
            //string preis = words1[4];
            //string null1 = words1[5];
            //string leer1 = words1[6];
            //string km = words1[7];
            string bj = words1[8];
            string kw = words1[9];
            //string ps = words1[10];
            //string titel = words1[13];
            dataGridView1.Rows.Add(bj, km);



Vielleicht hat einer ja eine Idee.

Gruß
Marc

Moderiert von user profile iconKha: C#-Tags hinzugefügt
gfoidl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 157
Erhaltene Danke: 19

Win XP
C#, Fortran 95 - Visual Studio
BeitragVerfasst: Sa 02.10.10 22:19 
Hallo,

siehe auch Crosspost: String splitten und in dataGridView einfügen ?

Verwende auch keine ArrayList sondern die generische Variante davon => List<T>

Die Fehlermeldung
Zitat:
Außerhalb des Arraybereichs an.

ist doch eindeutig. Geh einfach mit dem Debugger Schritt für Schritt durch den Code und schau wo der Fehler auftritt.


mfG Gü

_________________
Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!
marc75 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: So 03.10.10 10:50 
Guten Morgen

Habe gerade schrittweise debuggt. Der Fehler kommt bei

ausblenden C#-Quelltext
1:
 string bj = words1[8];					



Hab es jetzt so gemacht aber er zeigt immernoch den gleichen Fehler an

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
string test = array;
            string[] words = test.Split(';');
            List<string> a = new List<string>();
            foreach (string word in words)
            {
             

                string[] words1 = word.Split(',');

                a.Add(words1[0]);
                a.Add(words1[1]);
                //string bild = words1[0];
                //string anzahlbilder = words1[1];
                //string link = words1[2];
                // string false1 = words1[3];
                //string preis = words1[4];
                //string null1 = words1[5];
                //string leer1 = words1[6];
                //string km = words1[7];
                //string bj = words1[8];
                //string kw = words1[9];
                //string ps = words1[10];
                //string titel = words1[13];
                
                
}

            foreach (string aa in a)
            {
                dataGridView2.Rows.Add(aa); 
            }

Gruß
Marc

Moderiert von user profile iconKha: C#-Tags hinzugefügt
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 03.10.10 12:22 
Dann solltest du dich als nächstes fragen, warum in words1 nicht das drinsteht, was du erwartest. Wir können das mit den gegebenen Informationen jedenfalls nicht beurteilen.

_________________
>λ=
marc75 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: So 03.10.10 12:46 
Was für Informationen brauchst du?

Der String lautet:

('http://....jpg','15 Bilder','http://4',false,'1,-','0','','29.986','02/2008','59','80',NOIR','','heber',true,'8163','eier','','',' Metallic','1','2','5',false,'34','hand',false,'',false,'','',false,'4,'1','0,0','0','Euro 4','',false,false)
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 03.10.10 13:54 
Da sind ja eigentlich genügend Kommas drin. Was steht denn nun in words1 und wo tritt welcher Fehler auf?

_________________
>λ=
marc75 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: So 03.10.10 14:08 
Hallo

in words1 steht der kommplette string. Mit string[] möchte ich diesen teilen und die teilstrings in einzelne Zeilen im datagridview ausgeben.
Ich muss ja jedem Teilstring einen wert zuweisen um ihn dann in einer bestimmen Spalte im DGV anzuzeigen.

Im Prinzip fängt das bei mir so an, das ich erstmal im html ein Javascript Array rausfische und sie durch ein ; trenne. Dann hätte ich eine liste mit

car[0]....,......,....,....,.....,....,
car[1]
u.s.w.

Als nächstes möchte ich car[0] wieder mit , trennen und die entstandenen Teile in das DGV eintragen. Neuer String = neue Zeile.

Gruß
marc
marc75 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: So 03.10.10 18:46 
hat keiner eine Idee???

Gruß
Marc
IsNull
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 97
Erhaltene Danke: 11


VS 2010, C#, AHK
BeitragVerfasst: Mo 04.10.10 16:18 
Dein Split scheint korrekt zu sein, das einzige was falsch sein könnte ist dass in 'word' nicht das steht was du erwartest - aber debuggen musst du schon selber.

Die Fehlermeldung ist ganz klar, und du kannst ja die Arrays im Debugger anschauen - also siehst du genau, was da drin steht, und wo eben was fehlt...