Laden...
B
Benutzerbeschreibung

Forenbeiträge von Björn Ingesamt 142 Beiträge

23.03.2015 - 07:58 Uhr

Hallo,

ich stand mal vor dem selben Problem. Letztendlich habe ich mir die Daten auch über einen COM-Port geholt. Ich hatte verschieden Scanner von Honeywell, die konnte man in einen "COM-Port-Simulationsmodus" versetzen. Dies geschieht entweder per Software oder speziellen Konfigurationsbarcodes, die man abscannt.

Dann muss man nur noch abschnorcheln und auf die "Trennzeichen" warten und schon hat man seinen Code.

Sobald der Scanner im COM-Port-Modus läuft, kann man ihn natürlich nicht mehr als Tastaturersatz nutzen, sprich ein Einfügen in Excel wäre beispielsweise nicht mehr möglich.

Gruß
Björn

17.03.2015 - 00:15 Uhr

Hallo witte,

dein Tipp hat mich weiter gebracht. Auf die Idee, "anders" herum zu denken, bin ich gar nicht gekommen.

Eine Sache fehlt noch, dennoch bin ich meinem Ziel schon etwas näher gekommen:

var items = context.Revision.GroupBy(rev => rev.TextId).Select(group => group.OrderByDescending(item => item.SaveTime).FirstOrDefault()).Include(rev => rev.Text.Sammlung).ToList();

Und schon habe ich nur die aktuellste Revision am Wickel.

Erstmal vielen Dank dafür, nun scheitere ich allerdings die Sammlung anhand einer Expression zu filtern.

Da ich da jetzt nicht weiter komme, habe ich es nun erstmal so gelöst:


// laden der aktuellsten Revisionen, doch für alle Sammlungen
context.Revision.GroupBy(rev => rev.TextId).Select(group => group.OrderByDescending(item => item.SaveTime).FirstOrDefault()).Load();

var sammlung = context.Sammlungen.Where(myExpression).Include(s => s.Text).FirstOrDefault();

Gleichzeitig habe ich das "virtual" vom Property Revision entfernt (siehe hier).

So habe ich zwar immer noch zwei Abfragen gegen die Datenbank und bei der ersten Abfrage kommen noch zu viele Daten, da ich dort (noch) nicht über die Sammlung filter, allerdings ist die Datenmenge, die ich zurück bekomme schon deutlich geringer.

Ich werde mal bei Gelegenheit über eine Anpassung an meinen Klassen Gedanken machen, die eine einfachere Selektierung ermöglichen. Zum Beispiel könnte man Redundanzen in Kauf nehmen und die Sammlungs Id bei der Revision speichern. Damit könnte ich die Datenmenge noch mal verringern.

Gruß
Björn

15.03.2015 - 23:04 Uhr

verwendetes Datenbanksystem: ef mit sql compact

Hallo,

ich hatte bis jetzt für kleinere Sachen immer EF genutzt und ihn einfach mal laden lassen.
Nun wollte ich da ein paar Sachen optimieren, komme aber nicht weiter.

Folgende DB-Struktur (nicht in echt, gibt aber den Sinn wieder)

Sammlung 1..n -> Text 1..n -> Revision

Nun möchte ich genau eine Sammlung mit allen Texten und der aktuellsten Revision (da es recht viele sein können) laden.


var item = context.Where(item => item.Id = id).Include(s => s.Texte.Select(t => t.Revisionen));

Das funktioniert so weit, es werden aber alle Revisionen mitgeladen. An der Stelle werden sie aber nicht benötigt.

Meine Versuche bisher sahen in etwa so aus:


var item = context.Where(item => item.Id = id).Include(s => s.Texte.Select(t => t.Revisionen.OrderByDescending(rev => rev.SaveTime).First()));

Dies endete aber meist in der Fehlermeldung> Fehlermeldung:

The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties. Parametername: path

Hat vielleicht jemand eine Idee, wie ich die "dritte" Ebene gefiltert und sortiert bekomme? Ich kann die richtige Revision auch noch später laden oder meine Datenstruktur anpassen. Ich frage mich einfach nur, ob es geht und wie.

Vielen Dank

15.10.2013 - 08:06 Uhr

Ich schließe eine Verwendung der WebBrowser-Klasse bewusst aus, da die Verbindung durch den Prozess des Internet Explorers(iexplore.exe) hergestellt werden soll und nicht durch meine Anwendung.

Warum denn?
Ich empfehle sonst immer gerne das HtmlAgilityPack

30.09.2013 - 08:14 Uhr

Du solltest dich ein wenig in XSLT einlesen..

z.B. hier:
http://www.w3schools.com/xsl/

23.09.2013 - 08:52 Uhr

Ich hab mir den Reflector jetzt mal angeschaut und das erste, was mir einfällt: Cool - 😄
Vielleicht kaufe ich mir das sogar, muss ich mal schauen.

JetBrains dotPeak als kostenlose Alternative zum Reflector

19.09.2013 - 12:16 Uhr

Das mit dem Buffer ist korrekt. Nur liegt hinter der URL kein Bild! Da wird eine HTML-Seite sein, die auf ein Bild verweist / anzeigt / verlinkt. Mehr können wir dir nicht helfen.

19.09.2013 - 09:41 Uhr

Wie wird die Datei denn überwacht?
Wenn du die Datei "öffnest" kann sie nicht verschoben / umbenannt werden.

19.09.2013 - 08:57 Uhr

Und was sagt uns die Fehlermeldung? Das aus deinem Buffer bzw. MemoryStream kein Bild erstellt werden kann bzw. keins enthält.

ich denke auch nicht, dass es direkt unter

string sourceURL = "http://192.168.8.48/";

kein Bild gibt sondern eher eine Html Seite

19.09.2013 - 08:46 Uhr

@Björn

Was verstehst du nicht? Ich hab mir Punkt 5 durchgelesen bevor ich gepostet hatte 😃

  1. Problem genau beschreiben - inkl. genauer Fehlermeldung - und konkrete Fragen stellen

Ich sehe keine Fehlermeldung und raten wird hier auch keiner..

13.09.2013 - 14:25 Uhr

Hallo,

mich würde der Sinn hier interessieren. Will man verhindern, dass Leute Dateien kopieren? Was ist mit Rechtsklick => Einfügen?

Gruß
Björn

12.09.2013 - 09:05 Uhr

@Björn: Die Idee mit dem "killen" des TM, klingt interessant, da werde ich mich mit beschäftigen. Wenn jetzt aber jemand durch Ctrl+Alt+Delete den TM aufruft und der gleich wieder beendet wird, ist dann die Taskbar auch wieder verschwunden? Weisst du das zufällig noch?

Nein keine Ahnung, wir haben halt dafür gesorgt, dass unsere App immer im Vordergrund ist. TopMost und WinAPI C# bring Windows Form to front

12.09.2013 - 08:54 Uhr

Hallo,

ich meine so ein Problem auch schon mal gehabt zu haben.
Ich bin der Meinung es liegt an dem Visible = false. Solange du die Resourcen nicht freigibst / abräumst bleibt das auch so (z.B. durch beenden des Programms).

Gruß
Björn

12.09.2013 - 08:47 Uhr

Hallo,

also wie in dem Beitrag auf SO auch zu lesen ist, ist das ein sehr sehr dreckiger Weg.
Letztendlich willst du ja nur verhindern, dass die Messebesucher dein Programm / Webseite beenden.

Wir mussten auch mal sowas machen, haben hier aber einen anderen Ansatz verfolgt. Anstatt alles zu verbiegen und kaputt zu machen haben wir ein Programm geschrieben welches im Hintergrund lief (kann auch ein Dienst gewesen sein, ich weiß es nicht mehr genau).
Dieser hat dafür gesorgt, dass die Form immer im Vordergrund ist oder aber andere Programme wie den taskmanager gleich wieder gekillt. Zudem hat es das Programm neugestartet, sollte es mal beendet sein. Sei es durch irgendwelche "Hacker" oder weil es einfach abgestürzt ist.

Nur so als Tipp: Man sollte sich aber trotzdem eine Möglichkeit schaffen, das Programm zu beendet (z.B. durch ein Passwort oder so). Sonst ist es echt schwer, den PC richtig runter zu fahren 😛

edit: @Abt: hm, hätten wir mal den Kiosk Modus damals gekannt 😉

Gruß Björn

10.09.2013 - 15:55 Uhr

Hi,

definier eine andere Variable als DEBUG, welche auch im Release Build definiert ist.

Gruß
Björn

21.08.2013 - 10:26 Uhr

Ich verstehe das auch nicht was Björn meint, ich solle mir den Eintrag von Coffeebean angucken, ich weiß nicht was ich an der URL ändern soll damit das passiert was ich möchte.

Klickst du Google-Suche nach parameter in seite anzeigen und landest beim ersten Ergebnis zum Beispiel PHP: Parameter auf seite anzeigen?. Dort wird anhand PHP gezeigt wie man Parameter übergibt und in die Seite ausgibt. Dies kann natürlich auch in irgendwelchen Formfeldern geschehen. Mit der Parameterlösung könntest du es auch mit der entsprechenden URL im Standardbrowser anzeigen lassen.

Gruß
Björn

21.08.2013 - 10:22 Uhr

Ich habs schlussendlich nicht rausgefunden und mir erschien der weg einfacher, das Fenster komplett neu zu gestalten.
Jetzt läuft alles wieder. Vielen Dank also!

Dann vergleich doch einfach den SourceCode der alten und der neuen Form und "finde" den Fehler und poste ihn auch ruhig hier. Vielleicht hat ja jemand anders das selbe Problem.

20.08.2013 - 13:34 Uhr

Hallo,

es ist immer noch nicht klar was du willst. Ich würde es mittlerweile so interpretieren, dass du dem Benutzer ein Formular anzeigen willst, bei dem bereits Felder ausgefüllt sind.
Dann solltest du dir den Beitrag von Coffeebean ansehen. Das Ausfüllen der Felder per WebBrowserControl macht nur Sinn, wenn du es dann auch absendest.

Gruß
Björn

19.08.2013 - 12:16 Uhr

Hallo,

wird denn toolStripButtonEinstellungen irgendwo mit der "Form" oder was auch immer verknüpft?

Das sehe ich in deinem Code nicht.

14.08.2013 - 13:20 Uhr

Der ReSharper zeigt aber oft auch nicht unbedingt das richtige an; oder interpretiert Dinge etwas falsch; gerade wenns um Schleifen und Content-Abfragen geht! Dem sollte man nich Blind vertrauen!){gray}

Das sollte man definitiv nicht, allerdings lohnt es sich schon mal einen Blick drauf zu werfen, wenn Resharper was anzeigt. Einzig der Entwickler kann dann entscheiden was richtig ist.

14.08.2013 - 11:44 Uhr

Ich steh auf dem Schlauch, und was heisst das jetzt?

Du fügst es zweimal zur Datenbank hinzu..

Trotzdem solltest du dir unbedingt den Link von Abt durchlesen!

14.08.2013 - 11:42 Uhr

Eine böse Falle, bin ich auch schon das ein oder andere Mal herein gefallen.
Aber Resharper zeigt es mir mittlerweile an, so finde ich den Fehler zumindest deutlich schneller!

14.08.2013 - 11:33 Uhr

Hallo,

es ist halt die Frage was du machen willst. Wenn du "Daten" an die Webseite deines Kumpels senden willst, kannst du das einerseits damit machen, per WebBrowser-Control, Feld füllen, Formular absenden. Aber wenn dein Kumpel die Seite erstellt hat, dann sollte man schauen ob er eine ordentliche Schnittstelle bereitstellen kann. Stichwort WebAPI / REST.

Gruß
Björn

26.07.2013 - 12:44 Uhr

Hallo Abt,

danke für deine Klasse. Ich habe sie nun in einem kleinen Projekt eingebaut und man merkt schon einen kleinen Geschwindigkeitsvorteil.
Nun würde mich aber mal interessieren, ob du nun überhaupt noch Helper wie Html.BeginForm() nutzt. Schreibst du nun alles manuell in den Code oder hast du dir eigene Überladungen geschrieben, welche mit deiner Cache-Klasse arbeiten können?

Mir gehts nur um die Best Practice, da ich es nicht für sinnvoll erachte, nur in der hälfte der Fälle den Cache zu verwenden und in der anderen nicht.

Gruß
Björn

21.06.2013 - 09:12 Uhr

decimal.TryParse() und CultureInfo sind die Stichwörter.
Ich frage mich, warum du Geldbeträge in int wandeln willst?

19.06.2013 - 09:09 Uhr

Hallo,

ich habe die neue Version mal getestet und sie läuft nun deutlich schneller. Auch lief mein eines Projekt nun durch, die erstelle chm-Datei ist immerhin 300 MB groß 😃

Bin sehr zufrieden mit dem Ergebnis, allerdings ist das HTML-Plugin unbedingt ein muss!

Gruß
Björn

17.05.2013 - 08:10 Uhr

Hallo

es freut mich, dass das Programm noch weiter entwickelt wird, ich finde es echt klasse.
Auch mein Problem von damals (s.o.) scheint nicht mehr zu bestehen, ich konnte mein eines Projekt (~170k Zeilen Code) problemlos bauen.
Aber hier kommt bereits eine rund 27 mb große HTML-Datei raus, welche im Firefox schon leicht träge wirkt.

Dann habe ich noch ein weiteres, aber deutlich größeres Projekt eingelesen (~870k Zeilen Code). Die Speicherauslastung deines Programms liegt aktuell bei rund 3,5GB 😉
Allerdings fällt mir auf, dass das einlesen der Klassen am Anfang seehr flott geht, dann irgendwann aber sehr langsam wird. Ich rede hier nicht von Minuten sondern Stunden! Den Diagrammen kann man zuschauen wie sie erstellt werden 😉

Wie gesagt, braucht das Tool seeehr lange. Ich habe es dann einfach nachts durchlaufen lassen (morgens um 8 gestartet). Nach ca. 10.000 Diagrammen ist das Tool dann abgeschmiert mit einer > Fehlermeldung:

System.IO.PathTooLongException
"The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters."

Stacktrace:
at SharpDox.Build.Context.BuildContext.BuildDocumentation()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Mein "Root" Ordner, in dem ich die Doku speichern wollte hat 47 Zeichen.

Hoffe das hilft und evtl. kann man es noch etwas beschleunigen, den ich find das Teil einfach geil!

18.02.2013 - 08:19 Uhr

Hallo,

ich wollte das Tool mal ausprobieren, da es doch schon sehr nett aussieht.
Leider bricht er bei mir ab:

Fehlermeldung:
SharpDox.Core.exe Information: 0 : 18.02.2013 08:09:21 Neue Konfiguration erfolgreich erstellt.
SharpDox.Core.exe Error: 0 : 18.02.2013 08:12:12 Bauvorgang konnte nicht abgeschlossen werden ...System.ArgumentException: An item with the same key has already been added.
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at SharpDox.Core.Parser.DocumentationParser.ParseDocumentation(IEntity entity)
at SharpDox.Core.Parser.ParseController.GetParsedMethod(IMethod methodNode, CSharpFile file, Boolean isCtor)
at SharpDox.Core.Parser.ParseController.ParseProjectTypeToObject(SDType parsedType, IType type, CSharpFile file)
at SharpDox.Core.Parser.ParseController.GetParsedType(IType type, CSharpFile file)
at SharpDox.Core.Parser.ParseController.GetParsedSolution(Solution solution)
at SharpDox.Core.Builder.RepositoryLoader.LoadRepository(String inputPath)
at SharpDox.Core.Builder.BuildController.BuildDocumentation()

Im Ausgabefeld der Gui hat er gerade die ganzen Klassen gelesen (die letzte dort angegebene Klasse kam aber nicht doppelt vor).

Wenn der "Bau" fehlschlägt, kann man keinen neuen Starten, da ein Klick auf "Stop" keine funktion mehr hat und Start ausgegraut ist. Man muss die Anwendung neustarten.

Ich lasse es gerade mal in meinem Projekt laufen (rund 170.000 Zeilen Code). Irgendwann beim Klasseneinlesen wird die GUI richtig langsam..

Wie kann ich mehrere Namespaces "ausschließen"?
Wenn ich den Namespace "Projekt.Namespace" ausschließe sollte meiner Meinung nach auch "Projekt.Namespace.Ordner.Klasse" nicht in der Doku landen.

Hoffe, es hilft dir ein wenig.

Gruß
Björn

27.11.2012 - 10:14 Uhr

Hallo,

3% Rabatt??

In DateTime Structure findest du genug Methoden, um die Zeit zu manipulieren.

Gruß
Björn

26.11.2012 - 09:04 Uhr

Hallo herbivore,

vor dem Umzug hatte ich das Problem nicht. Ich bekomme auch nicht so viele Mails aus dem Forum.
Google zeigt einem ja an, warum eine Mail im Spam Ordner landet (siehe erster Beitrag).
Ich dachte halt es wäre interessant. Ich hab die Mail danach als erwünscht markiert und danach landen sie nicht mehr im Spam Ordner.
Aber vielleicht haben ja andere damit auch Probleme (Aktivierungsmail etc.)

Gruß
Björn

23.11.2012 - 13:18 Uhr

Google Mail findet es nicht so toll:

Mails von mycsharp landen im Spam Ordner:

We've found that lots of messages from lvps178-77-72-203.dedicated.hosteurope.de are spam.

Gruß
Björn

23.11.2012 - 08:06 Uhr

Ich möchte von einem Ölstandmessgerät welches den Füllstand meines Heizöltankes via Webinterface anzeigt auslesen um es später nach Excel zu exportieren und weiterzuverarbeiten.

Auch wenn ich nicht mehr helfen kann als meine Vorredner, was hast du da für ein Messgerät? Ich denke mal, dass ist für den privaten Gebrauch?!
Könntest du mir einen Namen oder Link per PN senden, wäre dir sehr dankbar!

Gruß
Björn

05.11.2012 - 10:11 Uhr

Moin,

mit Visual Studio 2012 ist auch ASP.NET 4.5 gekommen.
Liegt hier evtl. das Problem?

Gruß
Björn

24.10.2012 - 11:04 Uhr

Hallo,

schreib dir am besten deinen eigenen Membership Provider.
Beispiel findest du genug bei Google, z.B. hier.

Dann sollte es auch mit dem Authorize Attribut klappen!

Gruß
Björn

02.08.2012 - 12:29 Uhr

Danke für den Hinweis, ich habe es sowohl in meinem Beitrag als auch in meinem Projekt geändert 😃

02.08.2012 - 08:45 Uhr

Auch wenn, wie Abt schon geschrieben hat, es eine falsche herangehensweise ist, möchte ich trotzdem noch mal Lösungen für die beiden "Probleme" vorschlagen.

"Flackern":
Ich merke mir einfach per jQuery, welches Control den Focus hat, und selektiere es einfach wieder.
Dafür gibt es in der Form ein Hidden Input mit der ID "focusparameter".


$(document).ready(function () {
			$('#' + $('#focusedParameter').val()).focus();

			var rememberFocus = function () {
				$('#focusedParameter').val($(this).attr('id'));
			};

			$('input, select').focus(rememberFocus);
			$('input[type]').change(rememberFocus);
		});

"Autopostback":
Ein wirklichen Autopostback für das Control gibt es nicht. Ich submite einfach die Form. Man könnte sich aber merken, welches Control den Submit ausgelöst hat (ähnlich der Funktion oben) und entsprechend anders reagieren.

		$('select:[data-control-autopostback=true],input[type]:[data-control-autopostback=true],input[type]:[data-control-autopostback=true]').live('change', function () {
			$(this).closest('form').submit();
		});

Update vom 16.08.2012:
Ab jQuery 1.8 funktioniert der Code nicht mehr korrekt. folgender Code funktioniert ab da (ich weiß aber nicht ob er < 1.8 hinhaut, daher lasse ich mal beide hier stehen:

		$('select[data-control-autopostback=true],input[type][data-control-autopostback=true],input[type][data-control-autopostback=true]').live('change', function () {
			$(this).closest('form').submit();
		});

/Update

Die "Autopostback"-fähigen Controls sehen dann wie folgt aus:

<select data-control-autopostback="true" name="list">
<option selected="selected" value="1">1</option>
<option value="2">2</option>
</select>

Ich nutze übrigens beide Scripte in Kombination, damit der Benutzer wieder beim "alten" Feld landet.

01.11.2011 - 16:19 Uhr

Ich nutze privat einen 23'' Monitor. Viel Fläche, allerdings bin ich es gewohnt mit zwei Monitoren zu arbeiten. Die haben zwar nur 19'' aber letzendlich eine bessere Übersicht (einem VS, auf dem anderen der Browser mit meiner Webanwendung).

Eine Zeit lang habe ich auch mit zwei 24'' Zöllern gearbeitet, was sehr angenehm war. Allerdings braucht man auch den entsprechenden Schreibtisch dazu, sonst wird es echt eng!

02.09.2011 - 09:04 Uhr

Ich kann es leider gerade nicht testen aber am Screenshot selbst stört mich auf jeden Fall, dass man das Passwort im Klartext sehen kann! Ansonsten klein und fein!

16.08.2011 - 12:02 Uhr

Also falsch bist du hier sicherlich.
Aber schau mal unter

C:\Program Files\Microsoft Visual Studio 10.0\Common7\VS2010ImageLibrary\1033\VS2010ImageLibrary.zip

(vielleicht gibs die auch bei anderen VS-Versionen)

Dort sind sehr viele Grafiken drin und meiner Meinung nach auch das von dir gesuchte.
Ansonsten empfehle ich die "Print"-Taste 😉

15.08.2011 - 19:33 Uhr

Ergänzend zu gfoidls Beitrag mal ein Link ins OpenBook:

Schnittstellen

15.08.2011 - 19:04 Uhr

Das schreit nach einem entsprechenden Interface!

04.07.2011 - 16:08 Uhr

Ich habe bei mir noch folgenden Code-Schnippsel entdeckt, welcher hier passen würde:

		public static T ConvertTo<T>(this object value)
		{
			if (value != null)
			{
				Type targetType = typeof(T);				
				TypeConverter converter = TypeDescriptor.GetConverter(value);
				if (converter != null)
				{
					if (converter.CanConvertTo(targetType))
					{
						return (T)converter.ConvertTo(null, CultureInfo.InvariantCulture, value, targetType);
					}
				}
			}
			return null;
		}

Gruß
Björn

25.06.2011 - 09:12 Uhr

Moin,

und was hindert dich daran?
Und bevor du antwortest, lies mal [Hinweis] Wie poste ich richtig?

Gruß
Björn

21.06.2011 - 12:48 Uhr

Per XSLT zu einer Schemadatei zusammentransformieren.
Oder einmal manuell zusammen kopieren?

21.06.2011 - 08:58 Uhr

Hallo,

ich hatte auch neulich das Problem, dass eine JS-Funktion in einem UpdatePanel ausgeführt werden musste.
Ein "<script>foobar();</script>" rendern reichte nicht. JQuery hatte ich nicht zur verfügung und "window.onload" funktionierte auch nicht.

Irgendwo im Netz habe ich dann etwas gefunden, mein Ergebnis daher:


var script = new StringBuilder();
script.AppendLine("var prm = Sys.WebForms.PageRequestManager.getInstance();");
script.AppendLine("if(prm != null) { prm.add_endRequest(foobar()); }");

ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), this.UniqueID, script.ToString(), true);

Vielleicht hilft es ja jemanden weiter.

Gruß
Björn

21.06.2011 - 06:55 Uhr

Moin,

ich muss gestehen, dass geht mir auch ab und an aufn Wecker. Vielleicht kann der User ja selbst entscheiden, ob er automatisch überall sonst ausgeloggt werden möchte?!

Gruß
Björn

21.03.2011 - 19:26 Uhr

Hallo,


DaemonToolsSetup.WriteFile(temp + "DaemonToolsSetup.exe", setupfile);

Hier weiß keiner, was "setupfile" ist. Das wird aus deinem Code nicht ersichtlich. Zudem heißt die Klasse, die du nutzt "TextDatei" und sie verarbeitet tada Text-Dateien. Eine Exe ist keine Text-Datei!

Gruß
Björn

05.03.2011 - 10:46 Uhr

Hallo,

habe das mal eben mit meinem Palm Pre und WebOS2.1 getestet. Sieht schick aus, kann mich aber leider nicht anmelden. Liegt das evtl. am "ö" in meinem Loginnamen?

Gruß
Björn