Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von MoaByter
Thema: Exception beim Erstellen einer JumpList (HResult=0x80070005)
Am im Forum: Rund um die Programmierung

Wow - ja, genau das war's. Das hatte ich vor ein paar Wochen ausgeschaltet - das hatte ich schon völlig vergessen. Nur - danach funktionierte es noch 'ne Weile. Hm...
Was ich auch nicht verstehe: Ich erstelle eine völlig neue JumpList, in der werden keine "recent documents" angezeigt. Nochmals hm...

Dazu gleich noch 'ne Frage: Beim Programmstart wird eine JumpList angelegt. Wenn ich jetzt eine neue erstelle, wird die auch angezeigt. Ist die alte JumpList dann gelöscht oder müsste ich sie korrekt über dispose entfernen?
Nee, dispose geht nicht, hab's probiert, vor allem komme ich an die vorhandene gar nicht ran, um sie zu aktualisieren. Meine Frage war also blöde Frage?

Viele Dank für den exzellenten Tipp - ...lypô

Thema: Exception beim Erstellen einer JumpList (HResult=0x80070005)
Am im Forum: Rund um die Programmierung

Danke, prüfe ich später, muss wech.

VG ...lypô

Thema: Exception beim Erstellen einer JumpList (HResult=0x80070005)
Am im Forum: Rund um die Programmierung

Hallo,
in meinem Programm wird zu bestimmten Zeiten eine JumpList erstellt. Bisher ging das tadellos, seit neuestem erhalte ich eine Fehlermeldung:

Fehler
System.UnauthorizedAccessException
HResult=0x80070005
Nachricht = Custom categories cannot be added while recent documents tracking is turned off.
Quelle = Microsoft.WindowsAPICodePack.Shell
Stapelüberwachung:
bei Microsoft.WindowsAPICodePack.Taskbar.JumpList.AppendCustomCategories()
bei Microsoft.WindowsAPICodePack.Taskbar.JumpList.Refresh()
...

Ich weiß nicht, wie das "recent document tracking" aus- oder eingeschaltet wird. Ich habe bewusst da auch nichts geändert, deswegen vermute ich, dass der Grund für die Fehlermeldung ein anderer ist.

Hier etwas Code:

JumpList jlist = JumpList.CreateJumpList();			// JumpList erzeugen
//return;			// zum Abschalten, dammit der Rest des Programms funktioniert
const string op = " öffnen", st = " starten";			// zur Vervollständigung

#region _Ordner_Öffnen_
JumpListCustomCategory pCategory = new JumpListCustomCategory("Verzeichnis" + op);			// Kategorie Verzeichnis öffnen
jlist.AddCustomCategories(pCategory);

string[] a_lnk_db =			// Pfad, Titel, Iconpfad
{
	global.mtgpfad,			// Pfad zu den Daten (H:\)
	"Infos",
	@"....ico",
	global.mpfad,			// Pfad zum Arbeitsverzeichnis
	"... (Debug)",
	@"....ico"
};

for (int i = 0; i < a_lnk_db.Length; i++)			// in ... öffnen
{
	pCategory.AddJumpListItems(
		new JumpListLink(a_lnk_db[i], a_lnk_db[++i])
			{ IconReference = new IconReference(a_lnk_db[++i], 0), });			// Exe: ..._db
}
#endregion
jlist.Refresh();			// Exception !!!

Infos über den Editor:
MS VS Community 2017, Version 15.9.50
Net Framework, Version 4.8.04.084

Kann jemand helfen?

Thema: Groß-,Kleinschreibung bei iText7.23
Am im Forum: Rund um die Programmierung

Danke für den Link, den hatte ich nicht gefunden.
1tsd. Euro - nun, bei bis zu 70 PDFs pro Jahr sind das knapp 15 Euro pro PDF - zu teuer, denn ich muss nur den Text auslesen.
PDFPig machte auf mich einen guten Eindruck. Ich werd's mal probieren - schrieb ich ja schon.

Danke, viele Grüße - ...lypô

Thema: Groß-,Kleinschreibung bei iText7.23
Am im Forum: Rund um die Programmierung

Hm. Danke für die Info. Ich habe schon versucht, den Preis herauszubekommen. Wozu die meinen Namen und alle anderen persönlichen Daten dazu brauchen ist mir unverständlich.
Also wäre z.B. PdfPig eine Alternative? Da habe ich Probleme mit der Codierung, habe nur sehr begrenzte Infos dazu gefunden. Na, mal sehen, ob ich's hinbekomme.

Viele Grüße und Danke - MoaByter

Thema: Groß-,Kleinschreibung bei iText7.23
Am im Forum: Rund um die Programmierung

hallo,

in meinem Programm muss ich PDF-Dateien auslesen. Bisher ging das mit iTextSharp auch ganz gut, aber seit die PDFs in der Version 1.7 (davor 1.4) vorliegen, funktioniert das nicht mehr. Also habe ich iText7 in der Version 7.23 installiert, da dabei nur wenig Code zu ändern ist. Beim Testlauf stellte ich dann fest, dass die Unterscheidung für Groß- oder Kleinbuchstaben für das Programm wohl nicht relevant ist.
Rufe ich die Datei über z.B. SumatraPDF auf, steht alles in Großbuchstaben da, iText7 gibt mir aber zurück:
"FüR DIE BunDESREPuBlIK DEuTScHlanD". Was soll das? Hat jemand 'ne Erklärung, gibt's eine Lösung dazu?
Die korrekte Groß/Kleinschreibung brauche ich unbedingt!


string inhalt;
using (PdfReader pdf = new PdfReader(daten)) // daten: MemoryStream
using (PdfDocument doc = new PdfDocument(pdf))
{
   SimpleTextExtractionStrategy strategie = new SimpleTextExtractionStrategy();
   inhalt = PdfTextExtractor.GetTextFromPage(doc.GetPage(i), strategie).Trim();
}

Thema: Energiepsarmodus abfragen
Am im Forum: Rund um die Programmierung

Hallo,

wie ich den Wechsel in den Energiespar-/Ruhemodus abschalte, weiß ich mittlerweile und es funktioniert auch gut:


SetThreadExecutionState(...);
Nur ... Wie frage ich ab, ob der Timer für diesen Modus ein- oder abgeschaltet ist? Mit

GetThreadExecutionState();
funktioniert's nicht, hab' ich schon probiert, wird nicht angeboten.

Weiß jemand 'ne Antwort? Danke.

Thema: VS: Wiederherstellen der Vorgängerversion
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Aha, dann Danke, ich kann mich dem allerdings wahrscheinlich erst am Sonntag widmen.
Ich werde berichten.

Viele Grüße - ...lypô

Thema: VS: Wiederherstellen der Vorgängerversion
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Danke der Nachfrage!

Mittlerweile habe ich ein BackUp gefunden, ist gar nicht so alt: Nov. '21. Als Orientierung hätte es gereicht. Ich hatte aber die Gelegenheit beim Schopf ergriffen und das Design beim Neuerstellen überarbeitet (was ich schon immer mal tun wollte ). Jetzt ist alles in sich konsistent, vor allem die Namensgebung und Anordnung der Controls.
Mit dem IL.Spy-Tool komme ich nicht so richtig klar. Verstehe ich das richtig, dass es eine Art AddOn für VS ist (Nuget)? Und dann gibt's ein weiteres Problem: Ich habe bei mir keine DLLs. Alles ist der Einfachheit halbe in der exe versammelt. Nicht günstig, besonders, wenn was verloren geht. Damals, beim Beginn mit dem Programm, kam ich mit der DLL-Erstellung nicht klar und habe mich nie wieder darum gekümmert. Das werd'ich wohl auch mal in Angrfiff nehmen müssen.

Es ist halt ein Programm nur für mich, für einen ganz speziellen Zweck - eine schwache Ausrede, auch das weiß ich.

Jetzt lege ich aber brav & artig Updates nach jeder Veränderung an. Manchmal lernen Menschen aus ihren Fehlern.

Viele Dank, gehabe dich wohl, bleibe gesund - ...lypô

Thema: VS: Wiederherstellen der Vorgängerversion
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Auch dir Danke, ich werd's mal probieren. Mal sehen, viel gerade vom Designer das Programm mir wieder herstellt.

Thema: VS: Wiederherstellen der Vorgängerversion
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Danke für den Tipp. Ich werde das diesbezüglich Verpasste nachholen.

Thema: VS: Wiederherstellen der Vorgängerversion
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Leider weiß ich nicht, warum der Fehler auftrat. Ich habe in der Form1.cs lediglich eine Methode löschen wollen. Diese wurde wg. eine sversehentlichen Doppelkilicks auf einen Button im Designer angelegt, dort hatte ich den Eintrag bereits entfernt, der wurde aber nicht gelöscht, also wollte ich es manuell tun. Dann wurde alles weiß, nach einiger Zeit schloss sich das Programm. beim Wieder-Öffnen sah ich dann das Melheur.

So what ... Fehler sind dazu da, dass mann daraus lernt...

Thema: VS: Wiederherstellen der Vorgängerversion
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

@ T-Virus:
Nun, mit Repository hatte ich mich nur ganz am Anfang beschäftigt, daraufhin lief alles schief - vermutlich wegne eines Fehlers meinerseits - weswegen ich das dann gelassen habe. Ich war ja noch am Lernen.

@ Abt:
Das ist aktiviert, nur ist das Verzeichnis leer - warum auch immer. Leider ist es ein schmerzliche Erfahrung und wird es für ein Weilchen bleiben. ...schluchz!

@ beide
Okay, Danke euch beiden. Dann werde ich mich mal dran machen....

Thema: VS: Wiederherstellen der Vorgängerversion
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Bei mir ist ein ziemliches Malheur passiert. Im Designer ist ein ganzer Bereich gelöscht worden. Kann man den nicht wiederherstellen? Ich finde keinen Menüpunkt dazu.
Rückgängig ist keine Option, da das Programm abgestürzt war und ich den Fehler erst beim Neustart entdeckte.
Der gelöschte Bereich - und das macht das Ganze so dramatisch - enthielt die wesentlichen zweidrittel meines Programms; den manuelle wiederherzustellen dürfte 'ne kanppe Woche dauern. Legt VS nicht automatisch ein Backup an?
Danke für Hilfe!

PS.: Die exe-Datei funktioniert, nur benötige ich den Designer mit allen Einträgen.

Thema: Text über Zeilenumbruch hinweg finden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von Palladin007
Du möchtest den String für Regex escapen?
In dem Fall: Regex.Escape(String) (Docs)
Das escaped dir alles, was eine gesonderte Bedeutung haben könnte.
...
Leerzeichen durch \s+ ersetzen: Simples Replace. Bedenke aber, dass \s mehr erkennt, als nur Leerzeichen.
Die Zeilenumbrüche entfernen: Auch simples Replace, mach das aber am besten mit Environment.NewLine (Docs)
...
Für sowas ist Regex eigentlich ideal ^^
https://regex101.com/r/G7YqGz/1
Wie es genau aussehen muss und was Du damit machst, musst Du noch anpassen.

Und da siehst Du auch gleich ein wirklich gutes Regex-Tool.
Das sind doch mal zwei exzellente Tipps. Regex.Escape kannte ich noch gar nicht, muss also mein Wissen über Regex auf jeden Fall aktualisieren.
Bedankt!
Mittlerweile funktioniert's wie gewünscht, dein Tipp mit "\s" war ideal - eben weil das mehr als Leerzeichen erkennt.
Nun will ich die ganze Sache noch etwas ändern und erweitern, wobei mir das Regex.Escape durchaus helfen könnte.
Nochmals bedankt!
Zitat von jogibear9988
Was willst du denn genau machen? Vlt. wäre ja ein HTML (wie AngleSharp) parser besser geeignet
Das HTML ist nicht das Problem, der ganze Kram liegt nur in HTML vor, deswegen die vielen Tags darin. Die müssen allerdings auch erkennt werden, was gelungen ist. Dennoch oder trotzdem oder wie auch immer Danke für deine Antwort.

Thema: Was macht Strg+C genau?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von chilic
Meines Wissens kann die Zwischenablage Daten in mehrerem Variationen speichern. Vielleicht setzt du die falsche?
Guck dir doch den funktionierenden Inhalt mit GetData an, dann siehst du möglicherweise den entscheidenden Unterschied zu dem was du setzt.

Es geht nicht um das GetData(), sondern um das SetData(). Das GetData() oder wie auch immer macht dann der Firefox. Dort will ich die Daten aus der Zwischenablage in ein <textarea>-Eingabefeld einfügen.
Über Strg+C (WebBrowser) und Strg+V (Firefox) klappt das prima, es funktioniert nur nicht, wenn ich die Daten über SetData in die Zwischenablage bringe. SetData(DataFormats.Html) und SetData(DataFormats.Text) schreiben die Daten des WebBrowsers als Klartext (mit allen Html-Tags) in die Zwischenablage. In der <textarea> erscheint dann der Html-Text oder eben nur der Text, aber nicht der formatierte.
Alle anderen SetData(DataFormats...) sind nicht lesbar oder werden nicht gelesen.

Das ganze ist nicht von fundamentaler Bedeutung. Ich wollte es nur ausprobieren und dabei kam diese Frage auf.
Wie schon gesagt/geschrieben werde ich mich mal weiter informieren, ein paar Gedenkanstöße habe ich ja erhalten.

Viele Grüße - Moabyter

Thema: Was macht Strg+C genau?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Das doc wird im Browser korrekt angezeigt, ist ganz korrektes, einfaches Html, und wenn ich es dort komplett markiere, egal ob manuell oder mit


	webbrowser.Focus();
	webbrowser.Document.ExecCommand("SelectAll", true, null);
markieren lasse und dann mit Strg+C den Text heruakopiere und dann bei FF einfüge, funktioniert es wunderbar, nur eben nicht mit

	Clipbord.SetData(...);
Meine Freundin und ich haben dazu gestern zwei recht interessante Links gefunden, auch wenn's mir noch nicht geholfen hat:

https://de.wikipedia.org/wiki/Zwischenablage
https://docs.microsoft.com/de-de/windows/win32/dataxchg/clipboard-operations#cut-and-copy-operations

So ganz wenig ist das nicht, was da passiert.

Nunja, erstmal Danke für deine Antwort, ich werd' mal weiter suchen, es geht ja auch so.
Wäre nur interessasnt zu wissen, was da alles passiert und wie.

Thema: Was macht Strg+C genau?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

hallo,

jetzt sagt bitte nicht: "das kopiert", denn das ist nur die halbe Wahrheit.
Beispiel:
Ich erhalte eine Mail mit formatiertem Text, also mit bold und kursiv und sowas.
Den Text markiere ich, dann Strg+C und füge das Kopierte in ein Textfeld (<textarea>...</textarea>) im Browser FF ein. Funktioniert wunderbar, aber ich möchte es mit C#-Code realisieren.

Ich versuchte


	dynamic doc = webbrowser.Document.DomDocument;
	Clipboard.SetData("html", doc.selection.createRange().htmltext);   // statt "html" habe ich auch 'DataFormats...' versucht
aber es gelingt nicht, die Zwischenablage ist über

	string str = Clipboard.GetData(DataFormats.Html) + "";
nicht auslesbar, auch mit anderen DataFormats nicht.
Wieso also funktioniert es mit Strg+C? Was genau macht Strg+C?

Hat jemand 'ne Idee? Danke!

Thema: Text über Zeilenumbruch hinweg finden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Nochmal deutlicher:

Zitat
Sind sie nicht. Ich ersetze ganz gezielt die Leerzeichen mit "\s+", denn genau dort befinden sich die Zeilenumbrüche (die ja dank deiner Tipps als Whitespace gelten). Und die ZU stören eben bei der Suche, das Programm findet dann den gesuchten Text nicht, da der eben keine ZU hat bzw. haben sollte (hat er leider manchmal doch, was merkwürdig ist).
Ich gebe dem Regex mit dem '\s+' die Anweisung, die ZU in den Wortzwischenräumen zuzulassen bzw. zu ignorieren.
Die Länge des Originaltexts darf ich nicht ändern, da sonst die Indices nicht mehr stimmen.
Und: den Regex an den Originaltext anzupassen fand ich einfacher als umgekehrt.

Thema: Text über Zeilenumbruch hinweg finden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Scusi, die Antwort hat etwas gedauert, ich hatte heute reichlich anderes zu tun.

Zitat von Palladin007
Ich verstehe den Sinn von dem Code nicht ...
Zwei mal Replace? Warum?
Wenn Du auch Klammern ersetzen willst, dann mach: [\s()]+
Nein, die Klammern will ich nicht ersetzen, sondern maskieren. Der im WebBrowser selektierte Text dient ja als Regex-Muster und die Klammern würden dabei als Gruppe behandelt.
Ich habe die Regex jetzt einzeln aufgelistet:

    string s_patt = Regex.Replace(tb_qts.Text.ToLower(), "([()])", "\\" + "$1");            // Escape-Zeichen für Klammern
    s_patt = Regex.Replace(s_patt, " +", "\\s+");                                           // Ersetzen der LeerZ. mit \s+
    s_patt = Regex.Replace(s_patt, "\r\n", "");
Zitat von Palladin007
Und das "äußere" Replace ist immer noch falsch herum. Nochmal: Zähle die Parameter der Methode, der zweite Parameter muss das Pattern sein. Du versuchst ein Leerzeichen durch '\s+' zu ersetzen.
Sind sie nicht. Ich ersetze ganz gezielt die Leerzeichen mit "\s+", denn genau dort befinden sich die Zeilenumbrüche (die ja dank deiner Tipps als Whitespace gelten). Und die ZU stören eben bei der Suche, das Programm findet dann den gesuchten Text nicht, da der eben keine ZU hat bzw. haben sollte (hat er leider manchmal doch, was merkwürdig ist).
Zitat von Palladin007
Und die Klammern *außerhalb* der eckigen Klammern sind eine Gruppe, die brauchst Du nur, wenn Du einen bestimmten Teil des Matches erreichen möchtest.

    Regex.Replace(tb_qts.Text.ToLower(), "([()])", "\\" + "$1")
Ja, aus der Gruppe ("([()])") - ist ja nur die Nr.1 - lese ich die gefundene Klammer aus - '(' oder ')' -, die dann mit Maskierung ("\\" + "$1") versehen wird: '\(' oder eben '\)'. Rückbezug oder oder so ähnlich.
Zitat von Palladin007
Für mich sieht das ein bisschen so aus, als würdest Du hier durch try&error durch vor irren wollen.
Bei Regex wirst Du damit nicht glücklich, Du solltest dir dir Grundlagen anschauen.
[Artikel] Regex-Tutorial
Ganz so schlimm ist es nicht, aber das RegexLab-Tool hilft nicht immer weiter, manches muss ich da probieren. Tatsächlich funktioniert es jetzt wie gewünscht bis auf eine kleine Kleinigkeit:
Absatzübergreifend findet er den Text auch jetzt nicht. Das dürfte an dem '\s+' liegen, denn in den Absatzumbrüchen stehen Sachen wie '<div> </div>' oder '<br>', eben keine WhiteSpace-Zeichen. Die könnte ich natürlich auch noch 'rausnehmen, aber das wird aufwendiger als nötig.
Regex-Tutorials habe ich einige, und auch gelesen, wenn auch nicht alles. Unter anderem habe ich die Funktionen von '\s' nicht gesehen - das wundert mich schon etwas. Ich weiß aber, dass ich über Regex noch längst nicht alles weiß. Denk' dran: Is'n altes Gehirn, dass sich nicht immer alles schnell merken kann. Ich brauche dazu Praxis, und die erarbeite ich mir gerade - unter anderem mit deiner Hilfe.

Also nochmals viele Dank, wenn ich mal Tipps für das 3-Schichten-Modell brauche, frage ich wieder, werde mich aber erstmal belesen.
einges habe ich jetzt schon ausgelagert, aber es gibt Methoden, die sehr intensiv an der GUI arbeiten, das ginge dann mit subclasses nur mit Invoke, was auf Dauer recht anstrengend ist.
Dennoch werde ich den Artikel gerne lesen.

tschüss bis demnächst mal - MoaByter

Thema: Text über Zeilenumbruch hinweg finden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Jau, Danke, habe ich umgeschrieben.
allerdings habe ich die Klammer auch noch mit 'nem Regex korrigiert:


string s_patt = Regex.Replace(Regex.Replace(tb_qts.Text.ToLower(), "([()])", "\\" + "$1"), " ", "\\s+");
Vielleicht ginge es ja mit zweimaligem Replace wie in deiner Version schneller ... naja, so sieht's schöner aus.
Das '\s+' hat mir noch Kummer bereitet, ich hatte es zuerst in Klammern und die vergessen 'rauszunehmen, da ging die Geschichte nur mit einem Zeilenumbruch.
Jetzt läuft's aber, der Tipp ist Spitze, werde meine anderen Regex auch überpürfen. Da sind z.T. richtige Ungetüme drin, da ich unterschiedliche Texte bekomme.

Und ich hab's in eine extra Klassse gesetzt ... ... ... und es funktioniert trotzdem! :-)) Auch wenn's nur 67 Zeilen sind.
So lernt mann, naja: ich, immernoch dazu.

Also sei Bedankt, gehasbe dich wohl, ich muss inne Heia, mich müdet mittlerweile.
Viele Grüße - MoaByter (kommt von Moabit, mein Berliner Bezirk)

Thema: Text über Zeilenumbruch hinweg finden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Öhm - ja, ich glaube, bezüglich des Patterns habe ich dich verstanden, hab's nämlich gerade mal ausprobiert:


string s_patt = Regex.Replace(tbQntTextSuche.Text.ToLower().Replace("(", "\\(").Replace(")", "\\)"), " ", "([\\s\\r\\n]+)"),
Also erst den Klammer.Replace, dann das Regex. Meintest du das so? Funktioniert nämlich. Deswegen hat das Muster - nur das Muster - im RegexLab funktioniert, da ich mit dem normalen Replace die Klammern wieder verändere. Fiel mir erst jetzt beim Debugging auf.

Tja, und die Sache mit dem '\s' wusste ich nicht. Erstaunlich, dass trotzdem alle meine anderen Regex so gut funktionieren. Ich dachte, ich wäre darin einigermaßen bewandert - Duning-Kruger-Effekt?

Also herzlichen Dank für deine Hilfe! Ich hatte so sehr im Netz gesucht und nur Unpassendes oder Müll gefunden (im_coder.com).

Gehab dich wohl, viel erfolg - MoaByter

Thema: Text über Zeilenumbruch hinweg finden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

??? hallo Palladin007,
was meinst du mit zweitem Parameter? Und mit '\s' findet der Regex doch nur die Leerzeichen. Die habe ich mir im Muster erspart, dadurchs wird's für mich leichter lesebar.
Was ich in meinem Text nicht gezeigt habe, ist die eigentliche Suche, aber dabei ist nix überraschendes:


Match m = Regex.Match(s_rtbtxt, s_patt, RegexOptions.Singleline);

Wie gesagt, im RegexLab funktioniert es genau so, wie ich's aufgebaut habe.

Thema: Text über Zeilenumbruch hinweg finden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

wie finde ich in einen Text mit Zeilenumbrüchen gemäß einer Vorlage ohne Zeilenumbrüch?
Beispiel:

...emil
und
luise...

möchte ich finden, habe als Suchmuster aber nur ...emil und luise... ohne Zeilenumbrüche.
Das heißt also, der Reguläre Ausdruck muss die Zeilenumbrüche zwischen den Wörtern akzeptieren. Im Regex klappt's. Ich habe das Suchmuster etwas kompliziert aufgebaut: Ich ersetze die Leerzeichem im Suchmuster durch @"([ \r\n]{1,5})" und vor Klammern im Text werden Backslashes eingefügt.
wie gesagt: Im RegexLab klappt's, in meinem Programm nicht. Programmzeile für das Regex-Muster:


string s_patt = Regex.Replace(textBox.Text.ToLower(), " ", @"([ \r\n]{1,5})").Replace("(", "\\(").Replace(")", "\\)");

Kann jemand helfen? Wäre toll!

Thema: Bestimmern, wo VS Community neue Links anlegt
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Die Laufzeit ist allerdings nicht wirklich ein Problem - auch wenn ich mit daran denke.

Nun, den Code, den ich einsetze/schreibe, verstehe ich auch, was beim Delegaten zuerst wirklich ein Problem war. Aber Threading und Tasks sind doch recht einfach. Mir fehlt wohl eher der Überblick über die Möglichkeiten, denn oft genug gibt's mehrere Wege, eine Aufgabe zu lösen.

Thema: Bestimmern, wo VS Community neue Links anlegt
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Tut's schon, bin Rentner. Seit 1. Januar. :-))

Thema: Bestimmern, wo VS Community neue Links anlegt
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

MVVM - ja, davon hab' ich schon gelesen. Da bin ich noch am Grübeln, wie ich das umsetze. Aktuell ist mein Programm vor allem schnell, was nach Möglichkeit so bleiben sollte. Da ist allein schon Invoke ein Hindernis: "dgv.Invoke..." - und das 50-150 mal - dauert.

Ich frag' doch, wenn ich nicht weiter weiß. Bin doch da! :-))

Vieles finde ich schon auch selbst im Web. Das hat den Vorteil, dass ich auch zu anderen Themen Ideen finde, die sind bei mir schon eingeflossen.
Die genannten Konzepte sind für mich durchaus ein Thema, meist hakt's an den Ideen und Entscheidungen für's Umsetzen.
Es ist schade, dass ich in meinem Bekanntenkreis keine Programmierer habe, zwei Admins zwar, aber die können's nicht (richtig).
Der Rest sind Lehrer und ein Elektromeister. Elektriker war mein Job bis vor etwa 15 Jehren.

Thema: Bestimmern, wo VS Community neue Links anlegt
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

An den Tasks bin ich schon 'ne ganze Weile, nach Deleagten/Invoke und Threads sind die jetzt dran, die sollen ja viel einfacher sein. Ist so schwer auch nicht - bis auf die Stolpersteine: SetApp... z.B., denn diese Fehlermeldung bekomme ich. Dazu werde ich 'nen neuen Thread aufmachen, muss nur schauen, wie ich den Code einbringe. Da heißt's zwar Thraeds, aber ist halt in eine(r/m) Task.

Thema: Bestimmern, wo VS Community neue Links anlegt
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

ah. der Anhang...

Thema: Bestimmern, wo VS Community neue Links anlegt
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ja, mehr oder weniger privat, als is' nur fürt mich.
Beispiel: RennInfo-Texte in 'ner word-Datei. Die öffne ich in meinem Programm, das speichert sie als *.html und ruft sie auf. Der Text wird dann passend umgewandelt, automatisch in Absätze unterteilt und "bereinigt". dann nur noch der Klick auf "Senden" und ich kann ander Dineg tun. Für sowas brauche ich 2 oder 3 Minuten mit allem drum und dran, bekomme aber 'ne halbe Stunde bezahlt. That's why! Und es gibt mehrere Bereiche, in denen ich arbeite. -> Anhang

Ich habe mir schon Gedanken gemacht, wie ich es aufbaue. Nur bin ich erst vor Kurzem auf das 3-Schichten-Modell gestoßen. Am Anfang war ich eher stolz, dass das Programm recht gut läuft, was es ja auch tut. Nur die Vielzahl der erweiterungen brachte mir dann die Probleme.

Alte Fehler - hihihi - naja, da hat's reichlich. Ich studiere mal wieder das Handbuch, dicke Schwarte von Galileo-Computing. Die Microsoft-Seiten sind nicht immer hilfreich, weil ich oft nur die Hälfte verstehe oder die Tipps nicht anpassen kann.

Das Programm ändern kann ich sowieso nicht. Ich muss es tatsächlich neu schreiben, denn es muss ja weiter funktionieren - is' mein Minijob. Da brauche ich es mehrmals täglich.

Ja, is' WinForms, kerin WPF. Mit dem kam ich nicht klar, müsste ich mal wieder versuchen.