-
Gesamte Inhalte
1804 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von TDM
-
Ich habs jetzt wie folgt gelößt: string location = System.Reflection.Assembly.GetExecutingAssembly().Location; location = location.Substring(0, location.LastIndexOf('\\')); und dann halt location + "File.Name"... Komisch, ich hab den Verweiß zur Datenbankdatei zwar im Testproject gesetzt und er kopiert mir auch immer fein die Datei in den Debug-Ordner des Testprojekts, allerdings nicht ins Out-Folder jedes Tests... hmpf, muss ich halt die Datei immer im Programm kopieren. [Editerle] Ahh, unter Debug - ja, da hab ichs grad gefunden, aber das lößt mein Problem sicher auch ne.
-
Gibt kein "Arbeitspfad" in den Properties.
-
Grüße, Ich habe hier eine Anwendung mit Access-Datenbank, welche im Programm dynamisch geladen wird. Ich hab daher im Hauptprogramm gesagt, dass ich einen Verweiß auf die Datei habe -> wird immer ins aktuelle Verzeichnis kopiert -> Datenbankservice läd über AppDomain.CurrentDomain.BaseDirectory + "File.Name" die Verbindung. Jetzt wollt ich ein paar Unittests schreiben, habe einen Verweiß wie bisher auf die Datenbankdatei gelegt und "Copy always" gesetzt. Problem ist nur, dass jetzt bei den Unittests AppDomain.CurrentDomain.BaseDirectory immer auf "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\" steht. Wie kann ich das umgehen, damit er den richtigen Pfad nimmt?
-
FIs aufs Rad! 30.-31.05.2009: 3. Chemnitzer 24-Stunden-Radeln
TDM antwortete auf azett's Thema in Small Talk
Ich werd mich im Auto nebenher fahren lassen und provokant ein Bierchen trinken. :floet: -
Evtl. Datenbankverbindungen schließen, Events detachen, Services entladen. Für sowas eignet sich IDisposable.
-
Evtl. ein Speicherleck.
-
Window.Title Property (System.Windows)
-
Variable (Programmierung) ? Wikipedia :beagolisc
-
Interessant wäre sicher auch der Name des Spiels. Da es viele gibt, die diese Dateiendung benutzen...
-
Gleiches Prinzip: DataTable als Member der Klasse deklarieren und du hast keine Probleme.
-
Danke für die Bestätigung, dachte mir schon, dass sowas nicht geht.
-
vTage ist ein Array von System.Arrays.
-
VB.Net nimmt runde Klammern. Editerle: Dim vTage(0 To 41) As Array Sowas geht? Bzw. welcher Monat hat 42 Tage?
-
ungetestet: char eingabe[MAXIMUM+1]; int i = 0; for (i = 0; i < MAXIMUM; i++) [INDENT]scanf( "%c", eingabe[i] );[/INDENT] eingabe[++i] = '\0'; //ASSERT(i>=MINIMUM);
-
Darf man, ja. Aber z.B. void main(void) ist meines Wissens nach kein ANSI-Standard. (Daher nur der Hinweis am Rande. :floet:)
-
Grüße, ein Vorteil von VB.Net ist, dass man Properties mit Parametern aufrufen kann, z.B.: Public Property Mx(ByVal unit As MeasurementUnit(Of PointMoment)) As Double Get Return _Mx(unit) End Get Set(ByVal value As Double) If _Mx(unit) <> value Then _Mx(unit) = value OnPropertyChanged("Mx") End If End Set End Property Was genau hinter den Variablen steckt, ist egal, nur ein Beispiel... Daher frag ich mich, ob sowas auch mit C# gehen würde. Ich hab schon rausgefunden, dass es mit der Default-Property geht: public interface IGeometryHeigth : IGeometry { double this[string unit] {set;} } jetzt ist nur die Frage, wenn ich eine Instanz hab, kann ich in dieser Klasse auch andere Properties (keine überladene default-Property) deklarieren, die auch Parameter verwendet? public interface IGeometryHeigth : IGeometry { double this[string unit] {set;} double Value1[string unit] { set; } } ... mag mein Compiler irgendwie nicht: Bin dankbar für Vor- oder Abschläge. :hells:
-
Gar nicht. "getchar" - "kriegeZeichen", nicht "kriegeText". Ergo: Getchar liefert nur ein Zeichen Ganz grob: Schleife oder scanf. Falsche Main Stuktur. Implizites int, kein argc, kein argv. (Ja, ich bin penibel, manche Compiler aber auch.) Charfeld = mehrere Zeichen. eingabe[65] = 1 Zeichen. Klar soweit. Was ist wenn Buchstaben mehrmals auftreten? Deklarierung von max. 64 Zeichen (Zeichenkettenendekennzeichen [\0] abziehen) - gewollt? Bufferüberlauf. Bufferüberlauf. Sollte vielleicht i verwendet werden? Dann fehlt ein inkrement. Bufferüberlauf. i = 0 eingabe[i-1] = eingabe[-1] <- geht nicht. Index < 0 Auch das mitm Ersetzen geht so nicht, denn dann wird ba zwar durch bb ersetzt, aber die alten bb (wenn vorhanden) nicht durch ba. (Oder hab ich was falsch verstanden?!)
-
case ? truepart : falsepart Tenärer Operator: wenn case (bool'sch) == true, dann nimm truepart, wenn false, dann nimm falsepart. iif ist doch VB, oder?! Da muss man immer casten, das müffelt. geht aber zum glück auch einfacherer: #define iif(c,t,f) ((c)?(t):(f)) Betonung liegt hier definitiv auf kann. Ich hab es mir angewöhnt, soweit wie möglich nur bool'sche Ausdrücke (von Bitoperationen mal abgesehen) zu verwenden, da diese nur den Status true oder eben false haben können. Aber das ist wohl Geschmackssache.
-
Sch**ß Copy&Paste... float max = ((hoehe > breite) ? hoehe : breite); max = ((max > laenge) ? max : laenge); float min = ((hoehe < breite) ? hoehe : breite); min = ((min < laenge) ? [B]min[/B] : laenge);
-
Ich würde ehrlich gesagt, die Variablen vorher gar nicht mit 0 initialisieren... float max = ((hoehe > breite) ? hoehe : breite); max = ((max > laenge) ? max : laenge); float min = ((hoehe < breite) ? hoehe : breite); min = ((min < laenge) ? max : laenge); :hells:
-
'&' ist der Stringverkettungsoperator unter VB. Sollte in VB.Net eigentlich problemlos auch laufen. Kannst es ja mal mit '+' probieren. (... oder machst es halt so, wie in deinem Vorpost gezeigt ...)
-
In dem DataSet befindet sich eine (oder mehrere) DataTable(s). Diese findest du in der Property Tables des Datasets. Dann suchst du einfach anhand der Zeile den Wert den du haben möchtest. Bsp: DataTable table = ds.Tables(0) txtIrgendwas.Text = table.Rows(10)("ID").ToString() ... schreibt den Zellwert ID von Zeile 10 in die Textbox txtIrgendwas.
-
hmm, also den Fehler bekomm ich nicht, wenn ich das einfach kopiere Kann es sein, dass du irgendwo eine schließende Klammer oder einen Tag vergessen hast? Ansonsten halt Klammern setzen: If ((connection IsNot Nothing) AndAlso (connection.State = ConnectionState.Open)) Then connection.Close()
-
Ich hab mal auf die Schnelle was eingetippt: Public Function readDataset(ByVal sql As String) As DataSet Dim ds As New DataSet() 'das wird zurückgegeben Dim connection As OleDbConnection = Nothing 'die Verbindung Try ' Falls fehler auftreten connection = New OleDbConnection("<connectionString>") 'vgl. mit [url=http://www.connectionstrings.com/]ConnectionStrings.com[/url] connection.Open() 'öffnen Dim da As New OleDbDataAdapter(sql, connection) 'Datenadapter mit Query und Verbindung da.Fill(ds) 'Dataset füllen Catch ex As Exception 'irgendwas geht nicht Debug.WriteLine(ex.Message) 'ausgeben Finally 'falls Verbindung geöffnet wurde, schließen. If (connection IsNot Nothing AndAlso connection.State = ConnectionState.Open) Then connection.Close() End Try Return ds 'Dataset zurückgeben End Function Wäre natürlich sinnvoller, das in eine Klasse zu kapseln, damit die Datenbankverbindung nur einmal aufgemacht und gehalten wird. [Edit] Erklärungskommentare ergänzt.
-
Sowas lieber in eine Try-Catch-Finally-Struktur. Auch hier wieder mit Konstruktorparametern arbeiten: Dim abfrage As New OleDb.OleDbDataAdapter("SELECT * FROM Prozessdaten WHERE SAP-Nr LIKE 't3'", myConnection) Für sowas ist die MSDN immer die erste Anlaufstelle: OleDbConnection-Klasse (System.Data.OleDb)