Progress Bar - aplikacja szukania tekstu w interenecie

0

Witam. Mam takie zadanie. Piszę aplikację która pobiera tekst z sprawdza jego występowanie w interencie. Wszystko już działa. Teraz chciałbym aby progres bar pokazywał postęp takiego sprawdzania. Czy macie jakiś pomysł jak zadeklarować maxa i value?

Aplikacja działa na zasadzie pobiera 10 słów i sprawdza, następnie pobiera kolejne 10 i sprawdza i tak do końca. Oczywiście te 10 słów jest wartością domyślą i można ja dowolnie zmienić. Aplikacja umożliwia podanie skoku. Tekst pobierany jest z bazy.

Proszę o propozycję. jeśli dla kogoś mało jasne to pisać podam więcej szczegółów

0

Co to znaczy "sprawdza występowanie w internecie"?

0

znaczy aplikacja pobiera 10 słów tekstu i sprawdza czy taki tekst występuje gdzieś w zasobacz interentowych (na stronach).Prościej jest to aplikacja antyplagiatowa.

0

Skup się i odpowiedz na moje poprzednie pytanie.
Odpalasz do tego jakąś swoją wyszukiwarkę, czy np. wysyłasz request do Google i parsujesz odpowiedź?

0

pobierasz po X slow (skok, domyslnie 10)
a skad wiesz ile w sumie jest slow? zakladam ze mozesz to policzyc, oznczmy to przez Y

wiec maksymalna liczba krokow to max = Math.Ceiling( Y / X )
value zmienia sie co krok, czyli co 1

0

Witam ponownie napisałem cos w tym stylu gdzie jescze może być bląd jesli chodzi o tego progress bara. Proszę o podpowiedzi
Są to fragmenty kodu

int max_p = (int)Math.Ceiling((decimal)slowa / coileslow);

catch
{
MessageBox.Show(" ");
return;
}
progressBar1.Maximum = max_p;
for (int i_p = 0; i_p <= max_p; i_p++)
{
progressBar1.Value = i_p;

        }
0

Nie denerwuj nas koleś. Pytanie było, czy używasz SWOJEJ WYSZUKIWARKI, czy nie, a Ty odpowiadasz, że nie używasz żadnej przeglądarki. Zastanów się i odpowiadaj na pytania.

0

Wysyłam kwerendę poprzez polączenie ze stroną "http://ajax.Googleapis.com/ajax/services/search... zapytanie wykorzystując technologię JSON i zwracana odpowiedź do aplikacji.

0
darkdevil21 napisał(a)

Witam ponownie napisałem cos w tym stylu gdzie jescze może być bląd jesli chodzi o tego progress bara.

A czemu uważasz, że jest błąd? Coś nie działa?

0

No właśnie nie działa. Co może być jeszcze tego przyczyną? Sama aplikacja działa nadal poprawnie ale progress bar nie pokazuje postępów pracy przeszukiwania tekstu. Jakieś pomysły?

0

bo robisz calosc w tym samym watku i aplikacja nie ma czasu na odrysowanie progressbara, mozesz po ustawieniu value wywolac Invalidate lub Refresh na progressbarze, ale moze to nie przyniesc efektu, poza tym twoja aplikacja zblokowana jest przez "obliczenia"
wiele razy bylo na tym forum o obliczeniach w drugim watku i update gui z niego
szukaj hasel InvokeRequired i Invoke

0

Możesz podać przykład jak to mogło by wyglądać

0

Mam coś takiego. Czy idę w ogóle w dobrym kierunku
int slowa = 0;
int coileslow = int.Parse(textBox1.Text);

//progresBar
int max_p = (int)Math.Ceiling((decimal)slowa / coileslow);
.
.
.
try
{

        }
        catch
        {
            MessageBox.Show(" ");
            return;
        }
        
        progressBar1.Maximum = max_p;
        for (int i_p = 0; i_p <= max_p; i_p++)
        {

            {
                if (this.progressBar1.InvokeRequired)
                {
                    this.progressBar1.Invoke((MethodInvoker)delegate
                    {
                        progressBar1.Value = i_p;

                    });
                }
            }
        }

Nadal progresbar nie działa. To może inaczej. Jak ukazać procentowo postęp pracy np do jakiegoś Label zeby ładowało procentową liczbe postępu?

0

Myślę, że działa tak jak chciałeś. A ponieważ w max_p masz 0, to widoczny efekt mizerny.
Masz może debuger?

0

Jak mam max_p =0? to jest wartość początkowa zmiennej. Możesz jakoś jaśniej to opisać ?

0

int max_p = (int)Math.Ceiling((decimal)slowa / coileslow);

2 linijki wyzej masz slowa=0, wiec 0 przez cokolwiek = 0 :)

0

NO tak tylko ze w dalszej częsci sktyptu słowa są zliczane i mają juz inną wartość. Czy ktoś może mi pomóc bo nie radzę sobie z tym progressbar-em. Może ktoś przyjrzy się dokładniej temu problemowi. Jak bedzie terzeba podam więcej szczegółów.

0

WRZUCAM SKTYPT OPDOWIEDZIALNY ZA SZUKANIE TEKSTU W INTERENECIE MOŻE KOMUŚ SIE PRZYDA. Czy ktoś roziwąże problem progressbra?

private void button16_Click_1(object sender, EventArgs e)
{

        int tymczas, suma = 0;
        int ile = 0;
        int i = 0;
        int miejsce = 0;
        int slowa = 0;
        int ileslow = 0;//to dodałem przed chwilą zmienna slowa musi być zerowana
        int coileslow = int.Parse(textBox1.Text);
        int z = 0;
        wczytajteksty();
        
        // texta = richTextBox1.Text;
        texta.Split(new char[] { });
        string colonDelimeted;
        string jest;
        string[] textapodz = texta.Split(new char[] { });
        colonDelimeted = String.Join(" ", textapodz, 0, coileslow);
        jest = googlesearch(colonDelimeted);
        Console.WriteLine("dlg tekstu: " + textapodz.Length);


        // od i=0 do ilości słów w 1 porównywanym tekście.
        //progresBar
        //int max_p = (int)Math.Ceiling((decimal)textapodz / coileslow);
        //int max_p = textapodz.Length;
        
        //koniec
        for (int j = 0; j <= textapodz.Length; j = j + coileslow + z)
        {

            if (jest == null)
            {


                if (textapodz.Length < (coileslow + slowa + suma))
                {
                    Console.WriteLine("NIby to: " + textapodz.Length + " jest < od: " + (suma + coileslow + slowa));
                    goto Label;
                }
                else
                {
                    colonDelimeted = String.Join(" ", textapodz, suma, coileslow + slowa);
                    jest = googlesearch(colonDelimeted);
                    //Console.WriteLine(" zaczynam od: " + suma + " koncze na: " + (suma + coileslow + slowa));

                    //  Console.WriteLine("Długosc tekstu to: " + textapodz.Length+
                    //  " a indeks: " + (suma + coileslow + slowa));
                    Console.WriteLine("i powinienem zaczac od: " + suma + " koncze na: " + (suma + coileslow));

                    suma = suma + coileslow;

                }
                }

            else
            {
                while (jest != null)
                {
                    if (textapodz.Length < (suma + coileslow + slowa))
                    {
                        Console.WriteLine("!");
                        tablica1[ile] = tablicagoogle;
                        goto Label;

                    }
                    else
                    {
                        colonDelimeted = String.Join(" ", textapodz, suma, coileslow + slowa);
                        jest = googlesearch(colonDelimeted);
                        if (jest != null)
                        {
                            tablicagoogle = googlesearch(colonDelimeted);
                        }

                        Console.WriteLine(jest + " zaczynam od: " + suma + " koncze na: " + (suma + coileslow + slowa));
                        slowa++;
                        ileslow++;
                     
                    }
                        
                }
                tablica1[ile] = tablicagoogle;
                //  Console.WriteLine("Do tablicy na pozycjii: " + ile + "zostaje zapisane to: " + tablicagoogle);
                suma = (suma + coileslow + slowa);
                Console.WriteLine("Suma wynosi: " + suma);
                slowa = 0;
                ile++;

            }

        }
        
        ////////////////////////////////////////////
        // PROGRESS BAR
        int max_p = (int)Math.Ceiling((decimal)ileslow/coileslow);
        try
        {


        }
        catch
        {
            MessageBox.Show(" ");
            return;
        }

        progressBar1.Maximum = max_p;
        for (int i_p = 0; i_p <= max_p; i_p++)
        {
            if (this.progressBar1.InvokeRequired)
                {
                    this.progressBar1.Invoke((MethodInvoker)delegate
                    {
                        progressBar1.Value = i_p;

                    });
                }
            }
0

Pomoże ktoś. Próbuje i nic mi nie wychodzi z tym progress barem.

Teraz stworzyłem coś takiego.

        ////////////////////////////////////////////
        //obliczenie ile słów dla progresbaraa
       
        int[] ilosci_slow = new int[textapodz.GetLength(0)];
        int suma_slow = 0;
        for (int i_s = 0; i_s < textapodz.GetLength(0);i_s++ )
        {
            ilosci_slow[i_s] = textapodz[i_s].Split(" +-=\r\n\t.,".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).GetLength(0);
            suma_slow += ilosci_slow[i_s];
        }

        //
        // PROGRESS BAR
        int max_p;
        try
        {
            
            max_p = (int)Math.Ceiling((decimal)suma_slow / coileslow);
        }
        catch
        {
            MessageBox.Show(" ");
            return;
        }
        progressBar1.Maximum = max_p;
        for (int i_p = 0; i_p<= max_p; i_p++)
        {
         if (this.progressBar1.InvokeRequired)
                {
                   this.progressBar1.Invoke((MethodInvoker)delegate
                   {
                        progressBar1.Value = i_p;

                    });
               }
            }
        //////////////////////////////
    ////////////////////////////// KONIEC

1 użytkowników online, w tym zalogowanych: 0, gości: 1