Kleines Projekt: Referat/Vortragsgenerator

  • Ich möchte mal mein kleines Projekt vorstellen, den Vortragsgenerator.

    Wie funktionierts?
    Man gibt das Thema ein, z.B. "Otto Dix" und klickt auf generieren und schon ist der Vortrag fertig.

    Probleme: Die Formatierung des Ausgabetextes ist sehr schlecht, es fehlen noch unzählige Stringreplacements und Absatzkorrekturen um den Text halbwegs lesbar zu machen. Am Design bestht och Verbesserungsbedarf, jedoch sollten keine Controls hinzugefügt werden, außer ein Menü mit dem man Speichern und drucken kann, aber im Vodergrund steht die Textformatierung, und das ist soviel Arbeit dass ich Hilfe brauche, deswegen als Projekt.

    Wer mitmachen will, einfach hierhin schreiben!

    Das Skript (StringRplace als eigene Funktion):

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <IE.au3>
    #include <WindowsConstants.au3>
    #include <String.au3>
    Global $tt[1000]
    $oIE = _IECreateEmbedded()
    $gui_1 = GUICreate("Vortragsgenerator", 785, 482, 242, 147)
    $Input1 = GUICtrlCreateInput("Vortragsthema z.B.: Schwein, Otto Dix ...", 0, 0, 784, 21)
    $Button1 = GUICtrlCreateButton("Vortrag generieren", 0, 20, 784, 23, 0)
    $Group1 = GUICtrlCreateGroup("Vortrag:", 1, 43, 782, 437)
    $Edit1 = GUICtrlCreateEdit("", 3, 59, 777, 419)
    GUICtrlSetData(-1, "Edit1")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateObj($oIE, -150, -150, 0, 0)
    GUISetState(@SW_SHOW)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Button1
    $name = GUICtrlRead($Input1)
    _IENavigate($oIE, "http://www.de.wikipedia.org/wiki/"&$name)
    _IELoadWait ($oIE)
    stringrepl()
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func stringrepl()
    $sText = _IEBodyReadText ($oIE)
    $tt[1] = StringReplace($sText,"aus Wikipedia, der freien Enzyklopädie", " ")
    $tt[2] = StringReplace($tt[1],"Inhaltsverzeichnis [Verbergen]", ""&@CRLF)
    $tt[3] = StringReplace($tt[2],"Von „http://de.", "")
    $tt[4] = StringReplace($tt[3],".org/wiki/", "")
    $tt[5] = StringReplace($tt[4],"Meine Werkzeuge", "")
    $tt[6] = StringReplace($tt[5],"Anmelden / Benutzerkonto erstellen Namensräume", "")
    $tt[7] = StringReplace($tt[6],"Artikel Diskussion VariantenAnsichten", "")
    $tt[8] = StringReplace($tt[7],"Lesen Quelltext anzeigen Versionsgeschichte AktionenSuche", "")
    $tt[9] = StringReplace($tt[8]," Navigation", "")
    $tt[10] = StringReplace($tt[9],"Hauptseite Über Themenportale Von A bis Z Zufälliger Artikel Mitmachen", "")
    $tt[11] = StringReplace($tt[10],"Hilfe Autorenportal Letzte Änderungen Kontakt Spenden Drucken/exportieren", "")
    $tt[12] = StringReplace($tt[11],"Buch erstellenAls PDF herunterladenDruckversionWerkzeuge", "")
    $tt[13] = StringReplace($tt[12],"Links auf diese Seite Änderungen an verlinkten Seiten Spezialseiten Permanenter Link Seite zitieren In anderen Sprachen", "")
    $tt[14] = StringReplace($tt[13],"Acèh Afrikaans Aragonés Ænglisc ??????? ???? Asturianu Aymar aru Žemaiteška ?????????? ?????????? (???????????) ????????? ????? ??????? Brezhoneg Bosanski Català Corsu Nehiyawewin / ??????? Cesky Cymraeg Dansk ???????? Emiliàn e rumagnòl English Esperanto Español Eesti Euskara ????? Suomi Français Nordfriisk Gaeilge Gàidhlig Galego Gaelg ?????? Hak-kâ-fa ????? Hrvatski Kreyòl ayisyen Magyar Interlingua Bahasa Indonesia Iñupiak Ido Íslenska Italiano ??? Basa Jawa ??????? ??? Kurdî Latina Lumbaart Lietuviu Latviešu ?????? ????? ???? Bahasa Melayu ?????????? ?????? ???????? Plattdüütsch Nedersaksisch ?????? ????? ???? Nederlands ?Norsk (nynorsk)? ?Norsk (bokmål)? Diné bizaad Occitan Kapampangan Deitsch Pälzisch Polski ?????? Português Româna ??????? ???? ???? Sardu Sicilianu Srpskohrvatski / ?????????????? ????? Simple English Slovencina Slovenšcina Soomaaliga ?????? / Srpski Svenska Kiswahili ????? ?????? ?????? ??? Tagalog Türkçe chiTumbuka ?????????? ???? Vèneto Ti?ng Vi?t West-Vlams Walon Winaray Wolof ?? ??", "")
    GUICtrlSetData($Edit1, $tt[14])
    EndFunc

    [/autoit]

    Danke im Voraus!

    2 Mal editiert, zuletzt von campweb (16. Januar 2011 um 19:38)

  • der übersicht halber solltest du die aufgaben in funktionen stecken.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <IE.au3>
    #include <WindowsConstants.au3>
    #include <String.au3>
    Global $tt[1000]
    $oIE = _IECreateEmbedded()
    $gui_1 = GUICreate("Vortragsgenerator", 785, 482, 242, 147)
    $Input1 = GUICtrlCreateInput("Vortragsthema z.B.: Schwein, Otto Dix ...", 0, 0, 784, 21)
    $Button1 = GUICtrlCreateButton("Vortrag generieren", 0, 20, 784, 23, 0)
    $Group1 = GUICtrlCreateGroup("Vortrag:", 1, 43, 782, 437)
    $Edit1 = GUICtrlCreateEdit("", 3, 59, 777, 419)
    GUICtrlSetData(-1, "Edit1")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateObj($oIE, -150, -150, 0, 0)
    GUISetState(@SW_SHOW)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Button1
    $name = GUICtrlRead($Input1)
    _IENavigate($oIE, "http://www.de.wikipedia.org/wiki/"&$name)
    _IELoadWait ($oIE)
    stringrepl()
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func stringrepl()
    $sText = _IEBodyReadText ($oIE)
    $tt[1] = StringReplace($sText,"aus Wikipedia, der freien Enzyklopädie", " ")
    $tt[2] = StringReplace($tt[1],"Inhaltsverzeichnis [Verbergen]", ""&@CRLF)
    $tt[3] = StringReplace($tt[2],"Von „http://de.", "")
    $tt[4] = StringReplace($tt[3],".org/wiki/", "")
    $tt[5] = StringReplace($tt[4],"Meine Werkzeuge", "")
    $tt[6] = StringReplace($tt[5],"Anmelden / Benutzerkonto erstellen Namensräume", "")
    $tt[7] = StringReplace($tt[6],"Artikel Diskussion VariantenAnsichten", "")
    $tt[8] = StringReplace($tt[7],"Lesen Quelltext anzeigen Versionsgeschichte AktionenSuche", "")
    $tt[9] = StringReplace($tt[8]," Navigation", "")
    $tt[10] = StringReplace($tt[9],"Hauptseite Über Themenportale Von A bis Z Zufälliger Artikel Mitmachen", "")
    $tt[11] = StringReplace($tt[10],"Hilfe Autorenportal Letzte Änderungen Kontakt Spenden Drucken/exportieren", "")
    $tt[12] = StringReplace($tt[11],"Buch erstellenAls PDF herunterladenDruckversionWerkzeuge", "")
    $tt[13] = StringReplace($tt[12],"Links auf diese Seite Änderungen an verlinkten Seiten Spezialseiten Permanenter Link Seite zitieren In anderen Sprachen", "")
    $tt[14] = StringReplace($tt[13],"Acèh Afrikaans Aragonés Ænglisc ??????? ???? Asturianu Aymar aru Žemaiteška ?????????? ?????????? (???????????) ????????? ????? ??????? Brezhoneg Bosanski Català Corsu Nehiyawewin / ??????? Cesky Cymraeg Dansk ???????? Emiliàn e rumagnòl English Esperanto Español Eesti Euskara ????? Suomi Français Nordfriisk Gaeilge Gàidhlig Galego Gaelg ?????? Hak-kâ-fa ????? Hrvatski Kreyòl ayisyen Magyar Interlingua Bahasa Indonesia Iñupiak Ido Íslenska Italiano ??? Basa Jawa ??????? ??? Kurdî Latina Lumbaart Lietuviu Latviešu ?????? ????? ???? Bahasa Melayu ?????????? ?????? ???????? Plattdüütsch Nedersaksisch ?????? ????? ???? Nederlands ?Norsk (nynorsk)? ?Norsk (bokmål)? Diné bizaad Occitan Kapampangan Deitsch Pälzisch Polski ?????? Português Româna ??????? ???? ???? Sardu Sicilianu Srpskohrvatski / ?????????????? ????? Simple English Slovencina Slovenšcina Soomaaliga ?????? / Srpski Svenska Kiswahili ????? ?????? ?????? ??? Tagalog Türkçe chiTumbuka ?????????? ???? Vèneto Ti?ng Vi?t West-Vlams Walon Winaray Wolof ?? ??", "")
    GUICtrlSetData($Edit1, $tt[14])
    EndFunc

    [/autoit]

    I spent 10 minutes reviewing code and thinking "What kind of drugs is this guy on?" before realizing it was something I wrote.

  • ist der sinn nicht egal? wenn man aus dem was man schreibt was lernt hat es doch genug sinn.

    I spent 10 minutes reviewing code and thinking "What kind of drugs is this guy on?" before realizing it was something I wrote.

  • Naja Man hat alle verfügbaren Info´s für Referat und dann kann man das doch vor dem Speichern/Drucken noch bearbeiten. Ein 2in1 Tool :)

  • Das Projekt wäre nur sinnvoll, wenn man zB dann so das angezeigt bekommen würde:
    Kurzbeschreibung
    Themenbereiche
    Verwandte Themen
    Und das ganze dann nicht nur von Wikipedia beziehen sonst lohnt es sicht überhaupt nicht.

    Nur keine Hektik - das Leben ist stressig genug

  • Ob es nun sinnvoll ist, ist doch irrelevant. Es gibt hier im Forum bereits mehrere "Sinnlose" Scripte, aus denen man dennoch etwas lernen kann. Einen Taschenrechner mit den selben Funktionen wie der Windowseigene zu Programmieren macht auch keinen Sinn, aber hat schon vielen Anfängern dabei geholfen AutoIt besser zu verstehen.

  • Interessant wäre auch den Text von Wikipedia so zu verändern dass man (möglichst) nicht mehr erkennen kann dass er von Wikipedia stammt, zum Beispiel durch das Ersetzen von Wörtern die den gleichen Sinn ergeben. Das wäre dann der sogenannte 1-Klick Referat Generator , am besten druckt er das Teil gleich noch aus und heftets in ein Ordner damit man ihn nur noch abgeben muss :D.

  • Trotz dem dass wir jetzt alle festgestellt haben das das ding eigentlich wenig Sinn hat, aber immerhin hilfreich ist, kommen wir mal wieder zum Thema, also wer möchte und möchte mir überhaupt jemand bei diesen Projekt helfen?

    Zitat

    Interessant wäre auch den Text von Wikipedia so zu verändern dass man (möglichst) nicht mehr erkennen kann dass er von Wikipedia stammt, zum Beispiel durch das Ersetzen von Wörtern

    Das ist doch der Punkt!

    Zitat

    Das wäre dann der sogenannte 1-Klick Referat Generator

    Das ebenfalls.

    Zitat

    am besten druckt er das Teil gleich noch aus und heftets in ein Ordner damit man ihn nur noch abgeben muss

    Wie witzig...