bienenscheisse
Grünschnabel
Moin
Ich habe erst vor kurzem angefangen mit C#, habe davor nur mit PHP gearbeitet.
Nun zu meinem Problem:
Ich habe in meiner Form1 eine Progressbar und ein Label: status.
Mit einem Klick auf Button eintragen, soll Verbindung zu einer PHP Datei aufgenommen werden mittels WebRequest. Zufinden in Funktion postHTML()
Das Problem ist das der status.Text erst nach dem WebRequest ausgeführt wird, wieso?
Und noch eine Frage ich würde gerne innerhalb der Function status.Text zuückgeben like "Connected..." , "Sending Post data..." , "Host not found, check your Inet connection... " und demnach sollte sich auch die Progressbar bewegen.
Ausbrobierte Sachen bezüglich dem Label Problem:
Dachte das dann Zeit bleibt bevor
ausgeführt wird
Ich habe auch noch sachen gelesen über:
Multithreading
Allerdings bin ich mir nicht sicher, welches davon bzw. ob überhaupt einer dieser Möglichkeiten abhilfe schaffen würde.
Ausbrobierte Sachen bezüglich dem Problem Rückgabe wäred der laufzeit der Funktion:
Was natürlich zum abbruch der Funktion führt...
Leider fehlte mir hier auch für weitere Maßnahmen der Ansatzpunkt
Ich habe mich bemüht alles so ausführlich wie möglich zu erklären, falls noch etwas fehlt werde ich es natürlich gerne posten!
Ich würde mich sehr über eine Antwort freuen. Vielen Dank für eure Aufmerksamkeit.
Gruß Wolf
Ich habe erst vor kurzem angefangen mit C#, habe davor nur mit PHP gearbeitet.
Nun zu meinem Problem:
Ich habe in meiner Form1 eine Progressbar und ein Label: status.
Mit einem Klick auf Button eintragen, soll Verbindung zu einer PHP Datei aufgenommen werden mittels WebRequest. Zufinden in Funktion postHTML()
Code:
private void eintragen_Click(object sender, EventArgs e)
{
progressBar1.ForeColor = Color.Blue;
progressBar1.Value = 0;
status.Text = "Connecting to Server...";
progressBar1.Value += 5;
string URL = "http://xxx.de/myscript.php";
string response = postHTML(URL);
if (response == "false")
{
progressBar1.ForeColor = Color.Red;
progressBar1.Value += 200;
status.Text = "Host not found, check your Inet connection... :(";
}
else
{
string pattern = @"([a-zA-Z0-9]*)";
foreach (Match match in Regex.Matches(response, pattern))
if (match.Value != "") MessageBox.Show("Found '" + match.Value + "' at position '" + match.Index + "'", "Ausgabe");
}
Das Problem ist das der status.Text erst nach dem WebRequest ausgeführt wird, wieso?
Und noch eine Frage ich würde gerne innerhalb der Function status.Text zuückgeben like "Connected..." , "Sending Post data..." , "Host not found, check your Inet connection... " und demnach sollte sich auch die Progressbar bewegen.
Ausbrobierte Sachen bezüglich dem Label Problem:
Code:
Thread.Sleep(125);
Code:
postHTML()
Ich habe auch noch sachen gelesen über:
Multithreading
Code:
Application.DoEvents()
Allerdings bin ich mir nicht sicher, welches davon bzw. ob überhaupt einer dieser Möglichkeiten abhilfe schaffen würde.
Ausbrobierte Sachen bezüglich dem Problem Rückgabe wäred der laufzeit der Funktion:
Code:
return status;
Leider fehlte mir hier auch für weitere Maßnahmen der Ansatzpunkt
Ich habe mich bemüht alles so ausführlich wie möglich zu erklären, falls noch etwas fehlt werde ich es natürlich gerne posten!
Ich würde mich sehr über eine Antwort freuen. Vielen Dank für eure Aufmerksamkeit.
Gruß Wolf