Progress Bar - aplikacja szukania tekstu w interenecie

Progress Bar - aplikacja szukania tekstu w interenecie
D2
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 14 lat
  • Postów:11
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

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Wrocław
0

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


Po dopracowaniu rozwiązania każdy będzie mógł założyć własny drzewiasty wątek.
D2
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 14 lat
  • Postów:11
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.

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Wrocław
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ź?


Po dopracowaniu rozwiązania każdy będzie mógł założyć własny drzewiasty wątek.
massther
  • Rejestracja:ponad 16 lat
  • Ostatnio:prawie 9 lat
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

D2
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 14 lat
  • Postów:11
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.

D2
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 14 lat
  • Postów:11
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.

edytowany 1x, ostatnio: darkdevil21
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Wrocław
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?


Po dopracowaniu rozwiązania każdy będzie mógł założyć własny drzewiasty wątek.
D2
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 14 lat
  • Postów:11
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?

edytowany 1x, ostatnio: darkdevil21
massther
  • Rejestracja:ponad 16 lat
  • Ostatnio:prawie 9 lat
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

D2
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 14 lat
  • Postów:11
0

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

D2
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 14 lat
  • Postów:11
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?

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Wrocław
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?


Po dopracowaniu rozwiązania każdy będzie mógł założyć własny drzewiasty wątek.
D2
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 14 lat
  • Postów:11
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 :)

D2
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 14 lat
  • Postów:11
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.

D2
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 14 lat
  • Postów:11
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;

                    });
                }
            }
D2
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 14 lat
  • Postów:11
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
edytowany 1x, ostatnio: darkdevil21
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)