Laden...

Forenbeiträge von IP-Sh0k Ingesamt 11 Beiträge

02.08.2010 - 17:45 Uhr

ich weiß der thread ist schon alt, aber ich will keinen neuen dafür eröffnen.

Wie kann ich es verhindern, dass wenn mein C# Webbrowser beim klicken auf einen Link den Internet Explorer startet?

Also der soll immer in meinem Programm bleiben und nichts neues öffnen 😉

21.03.2010 - 16:26 Uhr

edit2:

gut ich bin wieder ein stück weiter.
Nun füllt er aber komischerweise nichtmehr die webform aus.
Es kommt die Meldung InvalidCastException:


        private bool is_Paypal_Load_Complete = false;
        private bool is_Paypal_Send_Complete = false;

        private void btn_Check_Click(object sender, EventArgs e)
        {
            bW_Loader.RunWorkerAsync();
        }

        private bool Paypal_Load(WebBrowser Browser)
        {
            Browser.Navigate("https://www.paypal.com/de/cgi-bin/webscr?cmd=_login-run");

            Browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(Paypal_Load_Complete);

            while (is_Paypal_Load_Complete == false)
            { }

            return true;
        }

        private void Paypal_Load_Complete(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            is_Paypal_Load_Complete = true;
        }

        private bool Paypal_Send(WebBrowser Browser, string EMail, string Passwort)
        {
            if (Paypal_Load(Browser) == true)
            {
                Browser.Document.All["login_email"].SetAttribute("value", EMail);
                Browser.Document.All["login_password"].SetAttribute("value", Passwort);
                Browser.Document.Forms[1].InvokeMember("submit");

                Browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(Paypal_Send_Complete);

                while (is_Paypal_Send_Complete == false)
                { }

                return true;
            }
            return false;
        }

        private void Paypal_Send_Complete(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            is_Paypal_Send_Complete = true;
        }

        private void bW_Loader_DoWork(object sender, DoWorkEventArgs e)
        {
            if (Paypal_Send(debug_browser, "", "") == true)
                MessageBox.Show("Soweit so gut");
        }

21.03.2010 - 16:07 Uhr

edit:

hab gerade gesehen, dass man es mit events machen soll....
gut dann halt so:


        private bool Paypal_Load(WebBrowser Browser)
        {
            Browser.Navigate("https://www.paypal.com/de/cgi-bin/webscr?cmd=_login-run");

            Browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(Paypal_Load_Complete);

            return true;
        }

        private void Paypal_Load_Complete(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            MessageBox.Show("complete");
        }

nur wie bekomm ich mein bool jetzt auf true/false, wenns richtig geladen ist.. kann ich dem event i-wie eine art rückgabewert geben?

21.03.2010 - 15:54 Uhr

Also bisher soll er nur die Seite Paypal aufrufen.
Daran scheiter ich schon 😄


        private delegate bool T_OUT(WebBrowser Browser);

        private void btn_Check_Click(object sender, EventArgs e)
        {
            bW_Loader.RunWorkerAsync();
        }

        private bool Paypal_Load(WebBrowser Browser)
        {
            if (Browser.InvokeRequired)
            {
                T_OUT t = new T_OUT(Paypal_Load);
                Browser.Invoke(t, Browser);
            }
            else
            {
                Browser.Navigate("https://www.paypal.com/de/cgi-bin/webscr?cmd=_login-run");

                while (Browser.ReadyState.Equals(WebBrowserReadyState.Complete) == false)
                { }
                
                if (Browser.ReadyState.Equals(WebBrowserReadyState.Complete) == true)
                    return true;
                else
                    return false;
            }
            return false;
        }

        private void bW_Loader_DoWork(object sender, DoWorkEventArgs e)
        {
            Paypal_Load(debug_browser);
        }

bei der While-Schleife wo der überprüfen soll ob der Browser die Seite fertig geladen hat, steht IMMER als status "uninizialised"..

ich weiß nicht warum, weil der ja vorher geladen wird.
(debug_browser ist der webbrowser in meiner form)

19.10.2009 - 18:47 Uhr

Tut mir leid, dass ich dich enttäuschen muss, aber es wird richtig gematcht 😉

PS: mit multiline, das hab ich noch nciht hinbekommen.
Ich denke das ist besser, wenn ich das in der RegEx mit löse...

Also nochmal wie kann ich die RegEx: "(/\(.?)\*/)" mit \n\r\t benutzen...
ich überlege auch schon fleißig 😄

19.10.2009 - 14:28 Uhr

hab noch ne ergänzungsfrage.. was ist wenn ein \n \r \t oder sonstiges für eine neue zeile dazwischensteht?

<?php
/hier ist
ein komment
/
...code
?>

wie muss dann die regex: "(/\(.)\*/)"
angepasst werden, damit das auch zeilenübergreifend funktioniert?

19.10.2009 - 13:48 Uhr

danke klappt jetzt perfekt

"(/\(.)\*/)" <-- ideal

danke nochmal

19.10.2009 - 13:21 Uhr

jetzt schreib er mir: Nicht erkannte Escapesequenz
???

an sich hab ich mir das auch schon gedacht, dass das von dir richtig ist

19.10.2009 - 13:07 Uhr

ich möchte halt alles was zwischen /* / steht haben + die / */ tags

<?php /quotation/ ?>
soll dann
/quotation/
per regex ausgeben 😉

19.10.2009 - 12:48 Uhr

string Text = "<?php /quotation/ ?>";

RegEx RX = new RegEx("/(.?)*/");

Match m = RX.Match(Text);

so .. reicht das beispiel?

19.10.2009 - 12:32 Uhr

Hallo.
Ich bin gerade dabei nen PHP-Syntax-Highlighter zu schreiben.

Bisher klappt auch alles wunderbar, nur jetzt habe ich ein paar Probleme bei den Comments.

Ich habe 2 RegEx die noch nicth so richtig wollen:
/(.?)/ <- klappt nicht aber ich weiß nicht warum
//(.
?)\n <- klappt auch i-wie nicht ... ebenfalls keine ahnung

edit: //(.*?)[\n] <-- so funktionierts.. also fehlt mir nurnoch das erste

Ich hoffe ihr könnt mir helfen

Vielen Dank im Voraus