In ASP.NET 2.0 haben doch alle Controls die Focus()-Methode
TextBox tb = new TextBox();
tb.Focus();
Original von shorty84
Leider bin ich mir noch recht unsicher was für mich das beste ist... Ich bin eher der "technische Typ" und interessiere mich mehr für Netzwerke, Arbeitsabläufe, Große Systeme etc. Programmierung OK aber ist nicht sooo mein Fall, daher hab ich auch Systemintegrator gelernt anstatt Anwendungsentwickler.
Ich bin gerade in der Hälfte meines Informatik-Studiums und würde dir dringend davon abraten, wenn du nicht so interessiert an Programmierung bist. Es dreht sich so ziemlich alles um Programmierung, wenn man mal von den Grundlagenfächern absieht.
Ich kann jedoch nur für die Schweiz sprechen, weiss nicht obs in DE auch so ist, aber anscheinend gehts auch in diese Richtung.
Von Wirtschaftsinformatik würde ich dir ebenfalls abraten, hat (auch hier, zumindest bei uns) keinen sehr guten Ruf, ausserdem gibt es davon auch bereits einige... (will hier keinem auf die Füsse treten, es gibt natürlich auch tolle Wirtschaftsinformatiker! 🙂 )
mmh... das ist wirklich sehr schade!
Ich wünsche auf jeden Fall alles Gute und danke für die vielen interessanten Posts!
zur Vollständigkeit sei noch erwähnt:
using (Sources objekt = new Sources())
{
objekt.ShowDialog();
}
Das using ruft Dispose implizit auf, wenn das letzte Statement innerhalb ausgeführt wurde. Damit das funktioniert muss die entsprechende Klasse IDisposable implementieren.
wär ich auch dafür
für einen iterativen Zugriff in der Art
foreach(DataRow row in tempTable.Rows)
{
string s = row["MyField"].ToString();
}
Wenns was kosten darf würde ich dir dottrace von JetBrains empfehlen.
arrListe3 = arrListe1;
oder meinst du was anderes?
ClickOnce ist doch für Windows-Anwendungen und nicht für's Web? Oder hab ich da was verpasst? 😁
_Original von jan223_Ich gehe mal davon aus, das viele User hier von den wertvollen Tips auch finanziell (z.B. beruflicher Einsatz von Beispielcode) profitieren desshalb finde ich es gut eine Möglichkeit zu schaffen sich beim Team zu bedanken die dieses Forum hegen und pfegen.
Beruflich profitiere ich vom Forum insofern, dass ich mir Zeit und Ärger erspare, bis ich ich irgendwo durchblicke... finanziell jedoch profitiert natürlich nur mein Arbeitgeber. Da würde ein Sponsoring bzw. halt einfach Werbung näher liegen.
Zwei Objekte besitzen den gleichen Hashcode wenn sie gleich sind.
Gleich heisst, dass beide Objekte dieselbe Referenz besitzen - das ist natürlich nicht der Fall wenn du das Programm zwei mal startest.
Object.GetHashCode() (MSDN)
Original von Peter Bucher
"Alle für einen, einen für alle", "Von der Community, für die Community"...
Ich glaube Dani denkt in eine ähnliche Richtung... aber das ganze ist nicht wirklich leicht, in Worte zu fassen 🙂
👍
Für mich ist der Punkt einfach der, dass solche Spenden dem Community-Gedanken wiedersprechen. Es geht da auch nicht darum, wieviel oder wie wenig dabei rausspringt. Da kann man jetzt hin und her diskutieren bis wir alle Bärte haben - ist ja eigentlich auch egal.
Ich bin keineswegs der Meinung, dass die mycsharp-Jungs kein Geld mit dieser tollen Sache hier verdienen können. Ich hätte da zum Beispiel überhaupt keine Mühe damit, wenn irgendwo Google-Ads rumschwirren würden, und das mycsharp-team mit den Einnahmen daraus jeweils lokale Brauereien fördert (oder so) 😉
Wie gesagt, es geht in keinster Weise darum, ob das irgendjemand verdient hat oder nicht.
Eine Krankenschwester kann von Ihren Patienten auch kein Geld annehmen, egal wie gut sie ihren Job gemacht hat - zugegeben, der Vergleich ist arg weit hergeholt, aber zeigt die Richtung auf.
Indexer geben dir die Möglichkeit, einen Index-artigen Zugriff auf deine Klasse zu erstellen.
Also sowas:
MyClass c = new MyClass();
object o = c[0];
Was ist denn dein Names? So hört sich das an, wie das einfach ein Array oder eine List ist. Für die kannst du natürlich einfach ein Property definieren, die Indexer sind dort schon definiert.
Original von Lion1984
ja wenn es um die bezahlung geht guckt euch mal den ersten vorschlag an von mir.. was spricht da dagegen? oder hat ihn keiner gelesen? 😁
lg
Wie gesagt, für konkrete Projekte im Sinne der Community könnte ich mich durchaus erwärmen.
Original von Lion1984
hier geht es um spenden.. dass muss ja nicht jeder machen, wie herbivore geschrieben hat, ein BENUTZER, also EINER VON UNS hat ihn gefragt, und ich finde, man sollte es "möglich" machen. denn wenn jmd will, wieso denn nicht?
Nein das stimmt so nicht!
Herbivore und sein Team hätten ganz klar für Ihren Einsatz Spenden verdient.
Aber hier geht es meiner Meinung nach um eine Prinzip-Frage. Eine Community wie diese funktioniert auf frewilliger und ehrenamtlicher Arbeit, wie norman_timo das schon gesagt hat.
Es ist ja auch nicht nur das Team das hier mitarbeitet - jedes Community-Mitglied trägt ja seinen Teil dazu bei.
Original von herbivore
Sicher, deshalb ist es ja auch ein kostenloses Forum und soll es bleiben. Das Geld wäre nicht für die Antworten im Forum, sondern eher für die Arbeit, die es bedeutet, das Forum zu pflegen und aufrecht zu erhalten.
Also ist es quasi als Lohn/Entschädigung für die Aufwände des mycsharp-Teams zu verstehen?
Da bin ich klar dagegen, ob die Spenden nun freiwillig sind oder nicht.
Ist auch eine Verhöhnung für alle hier, die nicht dem Team angehören aber trotzdem kräftig antworten... das passt einfach nicht.
Wenn es für das Forum für konkrete Projekte verwendet würde, ist das was anderes.
Für was würde das Geld denn verwendet werden bzw. wohin würde es fliessen?
Generell:
Daten nur füllen wenn !IsPostBack - wie du ja bereits richtig bemerkt hast.
Wieso funktionieren dann deine Edit-Buttons nicht mehr? Diese haben ja ihre eigenen Events wo du drauf reagieren kannst.
Suchst du etwa nach Indexer?
Indexer (MSDN)
Diese lassen sich auch in einem Interface verwenden.
int this[int index]
{
get;
set;
}
Was die Auflösung angeht: Man kann nie genug haben 👍 Gerade zum programmieren.
Mein T60 hat ein 14"-Display mit 1400x1050. Vorhin hatte ich ein 17" mit einer 1900er-Auflösung...
beim Display würde ich auf jeden Fall nicht sparen. RAM kannste immer noch nachrüsten, aber beim Display wirds schwierig
Das IsNumericString kannste wieder vergessen 🙂 Mach es wie diskutiert mit long.TryParse.
onlinegurke hat ein Beispiel gepostet. Du kannst so auch Hex-Werte parsen.
Für dein Fall dürfte ein simples
csc /out:My.exe File.cs
reichen.
(Steht übrigens auch dort beim Link den ich geposted habe 😄)
class Program
{
static void Main(string[] args)
{
Test1();
Test2();
}
static void Test1()
{
long l;
string test = "test";
DateTime start = DateTime.Now;
long.TryParse(test, out l);
DateTime end = DateTime.Now;
Console.WriteLine(end - start);
}
static void Test2()
{
long l;
string test = "test";
DateTime start = DateTime.Now;
try
{
l = long.Parse(test);
}
catch (FormatException) { }
DateTime end = DateTime.Now;
Console.WriteLine(end - start);
}
}
Original von herbivore
im Debug- oder im Release-Modus? Das sollte einen entscheidenden Unterschied machen.
Release, im Debug-Mode ist der Unterschied noch grösser
Original von JAck30lena
exceptions waren in c++ teuer. in c# sind sie durchaus tragbar.aber du solltest nicht die oberklasse abfangen sondern etwas was du erwartest (in diesem fall die InvalidCastException)
zudem kannst du das "e" in "Exception e" weglassen wenn du es sowieso nicht verwendest.
FormatException wär's... gecastet wird da nix.
Original von JAck30lena
prinzipiell aber kannst du immer die tryParse-variante verwenden und alles was nicht geparst werden konnte machst du dann zum string.
(tryparse hat intern auch einen try-catch-block und ist deswegen immer noch nicht teuer.)
Wie kommst du darauf das intern ein try-catch verwendet wird? Das bezweifle ich doch arg... reflector gibt mir recht, und performance-vergleiche ebenso. TryParse ist zwischen 30 und 150% schneller wie ein "manuelles" try-catch.
Gottseidank geht das nicht! Wär ja noch schöner... 🤔
Hi Larsen
if(StrResult.StartsWith("0x"))
ret = System.Convert.ToInt64(StrResult, 16);
else if(IsNumericString(StrResult))
ret = System.Convert.ToInt64(StrResult);
else
ret = result;
die Methode IsNumericString muss noch implementiert werden, da gibts ja x Wege dafür.
An deinem Beispiel sind 2 Dinge nicht so schön.
Gruss
Dani
Ich halte mein Entwicklungssystem eigentlich komplett Englisch - mehr aus Gewöhnung.
Mit einer deutschen IDE könnte ich wohl gut leben, aber ein deutsches Framework finde ich eher unpraktisch.
Wenn man mal wieder vor einer klassischen WTF-Fehlermeldung sitzt und keinen Schimmer hat worums geht, lässt sich einfach erfolgreicher mit einer englischen Fehlermeldung googlen 😁
Ich arbeite privat auf einem Lenovo T60, 2Ghz Core 2 Duo mit 2 Gig RAM
Im Geschäft arbeite ich auf einer Workstation die ebenfalls mit einem DualCore (AMD) und 2 Gig RAM ausgestattet ist.
Auf beiden Rechnern läuft Vista mit VS und was man sonst halt noch so braucht. Das NB performt jedoch erstaunlicherweise wesentlich besser. Lässt sich wunderbar damit arbeiten. Denke aber auch, dass 2 Gb RAM für eine Entwicklungs-Maschine das Mindeste ist.
wenn es sich dabei um ein string-array handelt, könnte für deine Zwecke string.Join ausreichen.
string.Join(",", myarr);
Doch das geht schon.
Das XML-File muss gleich wie die Assembly heissen (halt mit .xml) und das XML muss im Ziel-Bin-Verzeichnis vorhanden sein
Original von herbivore
Hallo iBrakeTogether,nein, im BL solltest du nicht/nie auf das GUI zugreifen, also auch keine MessageBoxen anzeigen. Wirf stattdessen eine Exception und behandele diese im GUI.
herbivore
Mit der MessageBox bin ich einverstanden, mit der Exception nicht so.
Das Werfen einer Exception sollte immer eine Ausnahme sein (wie der Name schon sagt).
Die Tatsache, dass in der Mannschaft kein Platz mehr ist, ist jedoch ein zu erwartender Zustand.
Ich würde eine zusätzliche Möglichkeit (z.B. Methode) bieten, die man aufrufen kann, um zu prüfen ob noch Platz vorhanden ist. Dann kannst du im GUI zuerst diese aufrufen, und dann schlussendlich bei Erfolg noch die Add-Methode.
Dort kannst du dann ja immer noch, im Falle dass die Mannschaft trotzdem schon voll ist (zB. weil die Prüfung nicht vorgängig erledigt wurde), eine Exception werfen.
Original von sra
Ich geh mal davon aus, dass das changeMode Event ...
Original von dani.net
benutz doch einfach die ChangeMode-Methode.
Finde den Unterschied! 😉
Auflösung: ChangeMode ist kein Event sondern eine Methode, d.h. einfach Aufrufen und fertig.
benutz doch einfach die ChangeMode-Methode.
Ich finde zum Thema so nichts.
😁 In der Doku steht sowas
In so einer Situation erachte ich aber den Weg über Attribute als sinnvoller.
das liegt sogar ziemlich sicher daran 👍
Hast du den Contract und die Implementation in verschiedenen Projekten? Ich nehme mal an, dass die Projektreferenzen falsch gesetzt wurden.
Hi aldababsack
Das Problem liegt wohl hier:
fs.Write(MyData, 0, ArraySize);
ArraySize ist 0-basiert, d.h. bei 3 Einträgen hat es den Wert 2. Der letzte Parameter von fs.Write gibt allerdings eine Anzahl an, das würde dann also der ArraySize + 1 entsprechen (oder einfach gleich das Length-Property des Arrays verwenden)
Ich tippe mal, dass das nix mit WCF zu tun hat. Die Änderung muss einfach im Interface wie in der Implementierung nachvollzogen werden, aber sonsts würds ja nicht mal mehr kompilieren 😁
Sicher dass du überall auf aktuelle Assemblies zugreifst / referenzierst?
Seh grad noch, dass du eine Rollen-basierte Navigation möchtest. Das gibts eigentlich schon alles built-in in ASP.NET 2.0.
Du kannst im Web.sitemap die erlaubte(n) Rolle(n) bei den Navigationspunkten angeben - was benutzt du denn für ne Authentifizierung?
Also eigentlich steht ja alles da 😁
Wenn du als SessionMode 'StateServer' oder 'SQLServer' angibst, muss alles was in der Session gespeichert wird, serialisierbar sein. Wenn du eigene Objekte darin abspeicherst, musst du diese demzufolge serialisierbar machen (wenn die Klasse selbst nur serialisierbare Members enthällt, reicht das setzen des Attributes "Serializable'