Avatar billede jonlanghoff Nybegynder
23. maj 2006 - 10:51 Der er 2 kommentarer og
1 løsning

Tællerproblem

Hej alle.

Jeg har en metode her som skal overføre dele af en tekstfil til en anden. Inden dette sker, vælger brugeren en række entries i en listview, som indeholder noget tekst. Hvis dette tekst findes i filen FULLLIC.LIC, skal linien hvori det står, samt de næste linier, indtil ordet SIGN findes, overføres til filen LALA.LIC.

Mit problem er at integeren c bliver for stor, hvilket skaber en konflikt. Hvad gør jeg? Noget med at hvis c er en vis størrelse, skal der breakes eller lignende...? Kan ik få det til at virke.



Her er koden:

private void button2_Click(object sender, EventArgs e)
        {
            string[] FullLicenseFile = File.ReadAllLines(@"c:\fulllic.lic");
            int  flag  = 0,
                  c      = 0;
           
            for (int i = 0; i <= FullLicenseFile.Length; i++)
            {
                if (FullLicenseFile[i].Contains(listView2.SelectedItems[c].Text))
                {
                    flag = 1;
                }

                if (flag == 1)
                {
                    if (FullLicenseFile[i].Contains("\t")) File.AppendAllText(@"c:\lala.lic", "\n");
                    File.AppendAllText(@"c:\lala.lic", FullLicenseFile[i]);
                }

                if (FullLicenseFile[i].Contains("SIGN="))
                {
                    flag = 0;
                    c++;
                }
            }
        }



Og her er et udsnit af filen der læses fra:

PACKAGE -7702--N14- BRULKJAR 10.0 COMPONENTS="7702-14 AUTOTRACKING" \
    SIGN=censur
FEATURE -7702--N14- BRULKJAR 10.0 13-jul-2007 uncounted \
    VENDOR_STRING="PULSE Order Analysis, 1-14 Channel" \
    HOSTID=BKID=12345678 ISSUED=19-May-2006 NOTICE="Serial number \
    0055137 is licensed to Bruel & Kjaer Sound & Vibration A/S" \
    TS_OK SIGN=censur
PACKAGE -7702--N15- BRULKJAR 10.0 COMPONENTS="7702-15 AUTOTRACKING" \
    SIGN=F3E857E6466C
FEATURE -7702--N15- BRULKJAR 10.0 13-jul-2007 uncounted \
    VENDOR_STRING="PULSE Order Analysis, 1-15 Channel" \
    HOSTID=BKID=12345678 ISSUED=19-May-2006 NOTICE="Serial number \
    0055137 is licensed to Bruel & Kjaer Sound & Vibration A/S" \
    TS_OK SIGN=censur
Avatar billede Syska Mester
23. maj 2006 - 11:21 #1
Kan du ikke bruge en Int64, i stedet for den Int(Int32)?

// ouT
Avatar billede clausc Nybegynder
23. maj 2006 - 11:58 #2
Det må gå galt i:
if (FullLicenseFile[i].Contains(listView2.SelectedItems[c].Text))

Du skal checke om c < listView2.SelectedItems.Count
Avatar billede jonlanghoff Nybegynder
23. maj 2006 - 12:16 #3
Hey. Tak for svarene, men jeg har selv løst den. Har sat en for-løkke udenom det hele, som kører indtil der ikke er flere items valgt i listview'et. Dette gør selvfølgelig programmet mindre effektivt, da det vil kigge den oprindelige tekstfil igennem flere gange, men det virker, så fuck it.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester