Inhalt einer Richtextbox in Forum posten

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Blacky2304.

    Inhalt einer Richtextbox in Forum posten

    Hallo,

    ich möchte den Inhalt einer Richtextbox in ein WBB 4 Forum posten.
    Den Inhalt bezieht die Richtextbox aus mehren Labeln, Textboxen und Checkboxen, welche so aufgebaut sind wie ein Fragebogen.

    Soweit bekomme ich es auch hin, der Text welchen ich Posten möchte wird mir in der Richtextbox richtig dargestellt.
    Nun meine eigentliche Frage, wie bekomme ich es hin, dass wenn ich auf einen Button klicke, der Text in das Forum unter einem
    gewissen Thread als Antwort gepostet wird.

    Ich hoffe ihr versteht was ich meine und könnt mir helfen.

    Viele Grüße

    Blacky2304

    Blacky2304 schrieb:

    wenn ich auf einen Button klicke
    In welchem Programm?
    Alles, was Du im Forum postest, musst Du selbst hinzufügen.
    Dateianhänge gehen so:
    Erweiterte Antwort -> Dateianhänge -> Hochladen
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany soweit ich das verstehe möchte er den text aus einer Richtextbox als Antwort in einen Forum Thead posten!
    @Blacky2304 Ich stell mir das ganze bisschen Problematisch vor, du musst den Nutzer ja erst im Forum anmelden (ggf. Registrieren)

    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Ich habe mir dafür ein kleines Programm gebastelt und wie oben schon gesagt möchte ich,
    dass wenn ich auf den Absenden Button klicke, der Inhalt der Richtextbox ins Forum gespeichert wird.
    Also über das Programm welches ich mir mit Visual Basic gebastelt habe.

    @Ruerte Anmelden könnte man doch bestimmt irgendwie über einen versteckten webbrowser machen oder?

    VB.NET-Quellcode

    1. ​Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. WebBrowser1.Navigate("http://localhost/board")
    3. Try
    4. Dim usr As String = InputBox("Bitte geben sie ihren Username ein", "Username")
    5. Dim psw As String = InputBox("Bitte geben sie ihr Passwort ein", "Password")
    6. WebBrowser1.Document.GetElementById("username").InnerText = usr.ToString
    7. WebBrowser1.Document.GetElementById("password").InnerText = psw.ToString
    8. WebBrowser1.Document.Forms(0).InvokeMember("submit")
    9. Catch ex As System.Net.WebException
    10. MsgBox(ex.Message)
    11. End Try
    12. End Sub


    Das ist mein Ansatz für den Login, der Funktioniert auch soweit, allerdings läuft das alles im sichtbaren bereich,
    was ich eigentlich nicht möchte.

    Nachdem man sich also erfolgreich eingelogt hat, soll der Webbrowser (also nach möglichkeit unsichtbar) in das entsprechende
    Thema navigieren und dort eine Antwort verfassen. Genau da komme ich nicht weiter
    vielleicht ist ja ein Plugin-Entwickler bereit ne VBP-Api zu basteln worauf du dann einfach zugreifen und deine Daten übermitteln könntest.

    Sonst wird das etwas schwierig, da di dich bei deinem Ansatz auf ein gleich bleibendes Design verlässt, welches sich ja theoretisch immer ändern kann.
    Habe gerade festgestellt, dass mein Code (siehe oben) für den Login nur einmal funktioniert, weil wenn man das Programm ein zweites mal also neu startet, ist man immer noch eingelogt und
    kann sich aus diesem Grund nicht mehr neu einloggen, was ja auch vollkommen logisch ist. Was jetzt für mich bedeutet, dass es so nicht funktionieren kann.
    Ich hoffe es hat noch jemand eine Idee wie ich das Problem lösen kann. Ich bin echt für jeden Tipp dankbar.

    Mir ist gerade noch eingefallen, könnte man das ganze nicht mit einem php script lösen?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Blacky2304“ ()

    Habe mich jetzt gerade mal mit php auseinander gesetzt und mir ein skript gebastelt allerdings bekomme ich immer noch einen Fehler

    Hier der Code

    PHP-Quellcode

    1. <?php
    2. set_include_path('/var/www');
    3. ini_set ('display_errors', 'On');
    4. include ("global.php");
    5. //include ("wbb\data\post\PostEditor.class.php")
    6. use wbb\data\post\PostAction;
    7. use wbb\data\post\PostEditor;
    8. $data = array(
    9. 'boardID' =>2,
    10. 'threadID' =>2,
    11. 'subject' => "Test",
    12. 'message' => "Hallo",
    13. 'time' => TIME_NOW,
    14. 'userID' => 2,
    15. 'username' => "Admin",
    16. 'enableBBCodes' => 1,
    17. 'enableHtml' => 0,
    18. 'enableSmilies' => 1,
    19. 'showSignature' => 1,
    20. );
    21. $objectAction = new PostAction(array(), 'create', array($data));
    22. $objectAction->executeAction();


    und hier der Fehler:

    Spoiler anzeigen
    Thu, 27 Aug 2015 19:36:19 +0000Message: PHP notice in file C:\xampp-portable-win32-1.8.2-6-VC9\xampp\htdocs\board\lib\data\post\PostAction.class.php (141): Undefined index: threadIDFile: C:\xampp-portable-win32-1.8.2-6-VC9\xampp\htdocs\board\wcf\lib\system\WCF.class.php (304)PHP version: 5.4.31WCF version: 2.1.6 (Typhoon)Request URI: /board/test1.phpReferrer:User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36Information: ""Stacktrace:#0 C:\xampp-portable-win32-1.8.2-6-VC9\xampp\htdocs\board\lib\data\post\PostAction.class.php(141): wcf\system\WCF::handleError(8, 'Undefined index...', 'C:\\xampp-portab...', 141, Array)#1 [internal function]: wbb\data\post\PostAction->create()#2 C:\xampp-portable-win32-1.8.2-6-VC9\xampp\htdocs\board\wcf\lib\data\AbstractDatabaseObjectAction.class.php(196): call_user_func(Array)#3 C:\xampp-portable-win32-1.8.2-6-VC9\xampp\htdocs\board\test1.php(26): wcf\data\AbstractDatabaseObjectAction->executeAction()#4 {main}​


    ich hoffe ihr könnt mir helfen.
    Guten Abend,

    ich habs jetzt anderst gelöst und den Login erstmal weggelassen, hier der Code:

    PHP-Quellcode

    1. <?php
    2. set_include_path('/var/www');
    3. ini_set ('display_errors', 'On');
    4. include ("global.php");
    5. use wbb\data\post\PostAction;
    6. use wcf\util\JSON;
    7. $data = JSON::decode(file_get_contents('bericht.txt'));
    8. $data['time'] = TIME_NOW;
    9. $objectAction = new PostAction(array(), 'create', array('data' => $data));
    10. $objectAction->executeAction();
    11. ?>


    allerdings habe ich beim Einlesen des Array ein Problem und zwar wenn die Message zu lang wird, dann wirft er nen Fehler threadID nicht gefunden. Mit kurzer Message max. 4 Zeilen funktioniert es jedoch.
    Ich hoffe mir kann jemand helfen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Blacky2304“ ()