Das wäre eine Option, m.E. auch die letzte. Ich habe es trotzdem so gelöst wie oben beschrieben, daher die Progressbar.Maxmium auf 3 gesetzt und nach jedem Schritt wird das Value inkrementiert. Das funktioniert auch, da dort ja ClearCase kurze zeit lang nicht aktiv ist. Von daher ist das so akzeptabel, da der User ja nur mitbekommen soll das sich was tut :-)
Mir ist zumindest nichts bekannt, deswegen frage ich ja hier. Na gut dann werde ich es wohl so machen müssen das ich den Progressbar auf 3 Stelle. Auschecken, manipulieren, und einchecken. Nur weil das aus und ein checken deutlich länger dauert als der manipulation, wollt ich einfach einen animierten Progressbar machen.
Mit dem dreckstool stimme ich dir zu. Also meinst du auch das es einfach an der Performance liegt, und nicht daran das die CAL via COM interagiert und daher der GUI Thread nicht richtig bearbeitet wird? Weil im Studio zum Beispiel wird der progressbar auch aktuallisiert wenn man mehrere Files auscheckt.
Hallo zusammen ich habe folgendes Problem. Ich muss eine Datei manipulieren die unter SourceControl (Rational ClearCase) steht. Dazu gibt es eine Library CAL mit Hilfe dieser es relativ einfach ist. Man kann durch die Library das ClearTool wie in der Comandozeile bedienen. Daher ist das ein und auschecken kein Problem.
Jetzt zum eigentlichen Problem.
Während dieses Vorganges schalte ich ein Progressbar auf Style = ProgressBarStyle.Marquee! Danach starte ich eine Thread der das ein und auschecken übernimmt. Kleines Beispiel.
private void StartSavingProgress()
{
for (int i = 0; i < 100000; i++)
{
for (int j = 0; j < 100000; j++)
{
//nothing
}
}
}
public void Main()
{
this.m_thread = new Thread(new ThreadStart(this.StartSavingProgress));
this.m_progressBar.MarqueeAnimationSpeed = 20;
this.m_progressBar.Style = ProgressBarStyle.Marquee;
this.m_thread.Start();
}
Dort funkioniert das alles bestens, daher auch wenn ich mich im Thread befinde wird die Progressbar ordentlich animiert.
Jetzt wird die Progressbar jedoch nicht mehr korrekt animiert, sie hängt und wird nur sehr unregelmäßig geupdatet. Ich versteh das ganze nicht richtig, da ich doch den CheckOut/CheckIn Prozess in einen eigenen Thread ausgelagert habe.
Jetzt versteh ich gar nix mehr. Was genau ist dein Problem?
Wenn du den formatierten Text haben möchtest dann nimm halt die RTF Property. Wenn du den "Text" haben möchtest dann nimm die Text Property. Und wenn du den Text formatieren möchtets dann nimm SelectAll() und änder die SelectionXXX Properties.
Eine möglichkeit wäre das du via SelectAll() alles selektierst, und dann SelectionFont SelectionBackColor, SelectionForeColor etc. den Text so anpasst das er kein Steuerzeichen mehr enthält.
Im übrigen wenn du auf die Text-Property zu greifst, dann steht doch dort immer nur der Text drin, ist doch vom Typ String, oder irre ich mich da?
Ein vorschlag, kommentier mal alles überflüssige aus. Und dann schritt für schritt wieder ein, so findest du das am schnellsten. Und deine underscores am Anfang einer variable finde ich persönlich schrecklich.
ich hab dies hier im Forum gefunden und könnte das sehr gut gebrauchen. Leider funzt das nicht richtig.
Und zwar hab ich 2 richTextBox Controls nebeneinander. Beide enthalten den selben Text. Wenn ich nun die Scrollbar betätige und dann wieder los lasse, dann wird auch die Scrollbar der rechten Seite korrekt gesetzt, daher hat sie die selbe Position, leider stimmt aber der Inhalt nicht mehr, daher müsste die obere Zeile der linken Seite ja genau der rechten Seite entsprechen. Selbst wenn es ein offset von einer Zeile wäre, würde mich das nicht stören, allerdings weicht das immer vollkommen ab, daher stimmt die anzeige der scrollbar zwar aber der angezeigte Inhalt nicht mehr.
Bewegt man danach die Scrollbar der rechten richTextBox dann synchronisiert sich der Inhalt wieder.
Weiß einer von euch woran das liegt, bzw wie man das beheben kann?
das seh ich auch so wie JAck30lena. Ein deutlich besserer weg ist das mit Regex zu lösen. Ich helf dir mal ein bisschen auf die Sprünge.
(?<!k)k{1,} Dieser regex Ausdruck findet alle k's die aufeinanderfolgen ohne das ein k folgt. Daher genau das was du willst. Man nennt das negativer Lookbehind,
sdfksdfksdfkksdfkkkksdfk
Und am Regex Object gibt es eine Replace Methode, die kannst du dir ja mal anschauen ;-)
es geht nicht darum das ihr den Fehler sucht, sondern das Ihr mir bestätigt das der Algorithmus das 'c' einmal als fehlend im string s1 und einmal als zuviel im string s2 korrekt berechnet, bzw. das dies nicht der Fall sein sollte.
Edit: Das hat mir sehr geholfen den Algorithmus zu verstehen.
Ich möchte hier als Ergebniss nur haben (s) zuwenig, (h) zuviel. Aber das Ergebniss lautet +s -c -h +c. Aber das c kommt doch in beiden vor, das soll gar nicht mit matchen. Anscheinend steig ich noch nicht richtig hinter den Algorihtmus. Ein weiteres Problem ist das wenn die Strings beide unterschiedliche längen haben, und das letzte Zeichen nicht überein stimmt dann gibt es ein index out auf bounds exception lcsMatrix[i - 1, j] weil ja j ein zu groß ist. Ich muss gestehen ich habe den Algo von hier.
Ja soweit so gut, das problem nur ist das es in beide Richtungen gehen muss, daher es gibt strings die sind in s1 und in s2 nicht und andersrum. Irgendwie hab ich da eine denkblockade
Raus kommen soll nun folgendes. Das im string 2 das "la" fehlt, sowie das "e" bei krone, sowie das Auto zuviel drin ist. Daher einfach eine Liste mit z.B. Point Objekten, mit index und Length.
Gibt es dafür schon was fertiges was man nur noch anpassen muss?
Cool das mit doch schon mal eine halbwegs gute Lösung. Kannst du mir noch kurz sagen wo die Property dran klebt, sonst muss ich wieder mit dem Reflector so lange suchen :-)
gibt es eine Möglichkeit anhand einer Assembly festzustellen ob sie eine Runtime Assembly ist, daher zur .NET Runtime gehört? Mit dem GAC geht es leider nicht, da ja auch ganz normale Assebmlies dort referenziert sein können.
Ich suche ein Control das wie ein Grid funktioniert, jedoch auf der ersten Spalte ein Treeview darstellt. Die weiteren Spalten enthalten dann die Daten zu den aufgeklappten knoten und Elementen. Es gibt sowas sicher schon, ich weiß nur nicht nach was ich suchen muss :-(
Hallo ich bins noch mal. ICh hab ein kleines Problem bezüglich dem was golo vor hatte. Ich hab mir mal eine Regel geschrieben die mir alle Methoden anzeigt welche keinen "caller" haben. In der public override ProblemCollection Check(Member member) check ich ob dort eine methode als member übergeben wird. Wenn ja wie kann ich jetzt prüfen ob im gesamten Code diese Methode nun gecalled wird oder nicht?
@Golo Roden
kennst du ein gutes Turorial um mal eine FxCop regel selber zu schreiben? bzw. kannst du die regel die du für das nicht aufrufen der Methoden definieriert hast hier veröffentlichen?
ich suche ein Tool dem ich eine .NET Assembly (exe,dll) in die Hand drücken kann, und es mir sagt welche .NET Version ich zum ausführen brauche. Gibt es sowas schon, oder muss ich jede Reference einzelln durch gehen?
Problem ist nämlich wenn die besagt Assembly wieder eine refernce hat auf eine andere Assembly die Ihrerseits eine System.dll in V3.5 nutzt braucht, aber die eigentlich Assembly nur 2.0. Das ganze kann man noch weiter spinnen...
Wenn es kein Tool gibt, weiß einer von euch wie ich das schnell überprüfen kann?
Das standard MenüItem hat keine Icon Property. Daher musst du selber dafür sorgen. Leite dich also von MenuItem ab und füge eine solche Property hinzu. Dann musst du das OwnerDraw Flag noch setzen und im OnPaint den Content selber zeichnen.
Ich hab sowas schon mal gebastelt, ich schau mal ob ichs finde...