[?] strip tags programm



  • Shade Of Mine schrieb:

    gtkmm? sorry aber warum?
    ich will das nicht installieren.

    Niemand zwingt dich dazu. Ich habs nunmal drauf und um mir die Sache leichter zu machen,
    habe ich mir das kleine Programm geschrieben.

    Text makieren, strg+c, Button klicken, strg+v, fertig.

    Ob man das nun so macht oder den Text in die Standardeingabe kopiert etc. ist ja Jacke
    wie Hose.

    mfg
    v R



  • virtuell Realisticer schrieb:

    Niemand zwingt dich dazu. Ich habs nunmal drauf und um mir die Sache leichter zu machen,
    habe ich mir das kleine Programm geschrieben.

    ja, aber wozu GUI? sinnloser aufwand... und eine non-gtkmm version muss man sowieso machen. denn wer hat schon gtk installiert unter windows?



  • Ich :p

    [BTW. Ich arbeite wieder und bin dannach meistens zu fertig noch etwas zu tun, also nicht wundern wenn ich nicht mehr soviel schreibe.]

    BR



  • mich stört halt dass ich mir arbeit mache und auch genau sage was ich mir wünsche und dann macht jemand etwas ganz eigenes. dann muss ich mich ja nicht hinsetzen.

    zumal jedesmal die tags händisch eintragen ja auch nicht der weisheit letzter schluss ist 😉

    aber macht wie ihr wollt - wenn ihr es so wollt, macht es so.



  • Shade Of Mine schrieb:

    mich stört halt dass ich mir arbeit mache und auch genau sage was ich mir wünsche und dann macht jemand etwas ganz eigenes. dann muss ich mich ja nicht hinsetzen.

    zumal jedesmal die tags händisch eintragen ja auch nicht der weisheit letzter schluss ist 😉

    aber macht wie ihr wollt - wenn ihr es so wollt, macht es so.

    Ich meine mich erinnern zu koennen, dass du gesagt hast, dass es z. B. praktisch waere,
    die Daten aus der Zwischenablage nehmen zu koennen. Das ist mit C++ an sich schlicht
    nicht moeglich, also muss ich auf etwas zurueckgreifen womit ich das machen kann.

    Von MFC oder WinAPI habe ich keine Ahnung, von daher kam nur Gtkmm fuer mich in Frage.

    Es geht nicht darum, deine Arbeit nicht zu wuerdigen, ich glaube wir alle hier wissen,
    dass du dir viel Arbeit machst.

    Es ist doch letztlich auch voellig egal, was nun eingesetzt wird. Hauptsache der Text
    ist danach Tagfrei. Wir koennen aber auch gerne bei deiner Variante bleiben, wie
    bereits gesagt, mir ist das Jacke wie Hose was ich nun einsetze.

    mfg
    v R



  • Ganz ruhig ihr beiden. 🙂

    Da ich mir das gtk-Dingsda nicht auf meinem Arbeitspc installieren möchte (der is schon instabil, da installiere ich so wenig wie möglich), werde ich mich sobald ich Zeit finde an den Teil mit "Daten aus Zwischenablage machen" und dann ist es ja nur noch zusammenbauen.



  • Shade? Kannst du bitte mal ein Beispiel geben, wie ich deine Funktion aufrufen soll?
    Ich habe:

    char *pchData = (char*)GlobalLock(hClipboardData);
    		char *pOut = NULL;
    		char pTags[] = "[kor],[/kor]";
    
    		stripBBTags(pchData, pOut, 2, pTags);
    

    Und bekomme beim Aufruf diesen Fehler:

    error C2664: 'CStripTagsApp::stripBBTags': Konvertierung des Parameters 4 von 'char [13]' in 'const char *[]' nicht möglich
    

    Danke 🙂
    Sonst bin ich soweit fertig...



  • estartu_de schrieb:

    Shade? Kannst du bitte mal ein Beispiel geben, wie ich deine Funktion aufrufen soll?

    Wie argv.

    ich dachte an ein array aus strings, also
    char* tags[]={"***", "***"};

    und pOut sollte genug speicher haben, mindestens soviel wie strlen(data)+1

    ist halt C code



  • Ähhhhhh, Leute... ich habe mir gerade das oben durchgelesen und eigentlich nix verstanden, deshalb äußere ich einfach mal meinen Wunsch, eine Exe Datei zu haben (am besten ein Windoofdialog), in den ich den Fullquote (allerdings ohne das erste und das letzte quote) einfüge (per STRG + C), auf einen Button klicke und den Text ohne ein einziges [kor]-Tag wieder herausnehmen kann, ohne vorher irgendwie eintippen zu müssen, welche Tags er wegmachen soll, denn das einzige Tag, was das Programm entfernen soll, IST doch nur [kor], oder nicht?

    Mr. B

    Edit: Das Programm sollte dann einer in für Windows und einer für Linux schreiben.



  • Mr.B, keine Sorge das Winprogramm ist durch mich in Arbeit. 🙂

    Text in die Zwischenablage holen, Programm aufrufen, gestrippten Text im forum pasten - fertig.
    Da ein Dialog für dich und mich zusätzliche Arbeit wäre hab ich den Schritt weggelassen. 😉
    Ich paste in eine Variable, rufe Shades Funktion auf und kopiere das Ergebnis wieder in die Zwischenablage.

    @Shade, danke - das war mein Gedankenhänger. Es ist einfach alles so lange her. 🙄
    Es klappt aber trotzdem nicht. 😞

    char *pchData = (char*)GlobalLock(hClipboardData);
    		char* pOut = new char[strlen(pchData)+1];
    		char* pTags[] = {"[kor]","[/kor]"};
    
    		stripBBTags(pchData, pOut, 2, pTags);
    
    error C2664: 'CStripTagsApp::stripBBTags': Konvertierung des Parameters 4 von 'char *[2]' in 'const char *[]' nicht möglich
    


  • estartu_de schrieb:

    Mr.B, keine Sorge das Winprogramm ist durch mich in Arbeit. 🙂

    Text in die Zwischenablage holen, Programm aufrufen, gestrippten Text im forum pasten - fertig.
    Da ein Dialog für dich und mich zusätzliche Arbeit wäre hab ich den Schritt weggelassen. 😉
    Ich paste in eine Variable, rufe Shades Funktion auf und kopiere das Ergebnis wieder in die Zwischenablage.

    @Shade, danke - das war mein Gedankenhänger. Es ist einfach alles so lange her. 🙄

    gut, wo gibts die exe zu holen? 🙂

    Mr. B



  • Wenn Sie sich endlich compilieren lässt (und tut, was sie soll, das konnte ich noch nicht testen), dann poste ich hier den Link. 🙂



  • dann lass mal das const in meiner funktionsdeklaration weg.

    ist dort nämlich sowieso fehl am platz - ist ja C da tun wir nix mit const machen tun 😞



  • Naja, Goto macht man doch auch eigentlich nicht... 🤡

    Tja, es kompiliert - funktioniert aber nicht.
    Deine Funktion sieht nach Beheben der Compilerfehler so aus:

    void CStripTagsApp::stripBBTags(char const* text, char* output, int tagcount, char* tags[])
    {
    	size_t i=0;
    	size_t size=strlen(text);
    loop:
    	while(i<size)
    	{
    		size_t j;
    		for(j=1; j<tagcount; ++j)
    		{
    			size_t length=strlen(tags[j]);
    			if(!strncmp(text+i, tags[j], length))
    			{
    				i+=length;
    				goto loop;
    			}
    		}
    		*output++=text[i];
    		++i;
    	}
    
    	*output=0;
    }
    

    Achja, aufgerufen wird sie so:

    char *pchData = (char*)GlobalLock(hClipboardData);
    		char* pOut = new char[strlen(pchData)+1];
    		char* pTags[] = {"[kor]","[/kor]"};
    
    		stripBBTags(pchData, pOut, 2, pTags);
    

    Ich habe ihn gefüttert mit:

    bla test ende

    und rausgekommen ist

    bla [kor]test ende

    PS: Innerhalb der kor-Tags funktionieren keine Code-Tags.



  • Problem gelöst, Funktion überlistet. 😃

    char* pTags[] = {"[ kor]","[ /kor]","[ kor]"}; // Ohne Leerzeichen, die sind zum Sichtbar machen.
    
    		stripBBTags(pchData, pOut, 3, pTags);
    

    Jetzt gehts:
    http://www.estartu.de/temp/StripTags.exe <-- runterladen und viel Spaß 🙂



  • Morgen,

    ich kann das Programm nicht starten, es stuertzt sofort ab.

    mfg
    v R



  • Huch, keine Meldung, nix?
    Du hast aber Windows? (Ich weiß grade nicht, wer hier die Linuxer waren...)

    Ich probiers mal auf nem anderen PC. 🙂

    Edit: Unter Win98 ohne Devstudio läuft es. Hab extra die runtergeladene Exe genommen.
    Hast du gelesen, dass es keine GUI hat?
    Du musst einfach den Text in die Zwischenablage kopieren, Starten und wieder pasten. 🙂

    Zu Deutsch: Wenn du nix siehst, war alles okay. 🤡



  • estartu_de schrieb:

    Huch, keine Meldung, nix?
    Du hast aber Windows? (Ich weiß grade nicht, wer hier die Linuxer waren...)

    Ich probiers mal auf nem anderen PC. 🙂

    Edit: Unter Win98 ohne Devstudio läuft es. Hab extra die runtergeladene Exe genommen.
    Hast du gelesen, dass es keine GUI hat?
    Du musst einfach den Text in die Zwischenablage kopieren, Starten und wieder pasten. 🙂

    Zu Deutsch: Wenn du nix siehst, war alles okay. 🤡

    Sorry, das war ja wohl eine Newbie-Fehlerbeschreibung von mir ;).

    Also: Jetzt stuertzt es nicht mehr ab. KA, warum das beim ersten start der Fall war,
    da kam zumindest eine 'Fehlerbericht senden' Meldung.

    Jetzt funzt es 🙂

    mfg
    v R



  • beachte außerdem, dass bisher kein artikel mit [ kor ]-tags versehen wurde. meine beiden habe ich noch mit [ u ]-tags machen müssen.

    BTW: ich bin die Sonntagabend nich da.

    grüße,
    Mr. B



  • Schön, wenn es jetzt geht. 🙂
    @Mr.B meinen Artikel habe ich schon durchkorrigiert und hoffentlich nichts übersehen. 🙂


Anmelden zum Antworten