Zum Inhalt springen

Gateway_man

Mitglieder
  • Gesamte Inhalte

    1167
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Gateway_man

  1. Nuja nich so der burner :floet: .
  2. Hat sich bereits erledigt.....
  3. Gateway_man

    Routinen

    Naja man könnte ja rein theoretisch jeden Rechner im Netzwerk suchen, dessen IP hernehmen und versuchen auf den Standartports der verschiedenen SQL Server eine Connection aufzubauen. Wenn man einen Access Denied Fehler zurückbekommt, könnte man davon ausgehn das auf diesem Rechner ein SQL Server läuft und demnach auch Datenbanken vorhanden sind (zumindest Systemdatenbanken). Allerdings müssen die Server ja nicht auf dem Standartport laufen.....
  4. Guten Morgen, folgende Problemstellung: Ich habe eine Klasse, welche ihre Settings aus mehreren *.lst files ließt. Gestern Abend war auch noch alles in Ordnung. Als ich gerade eben weitere Einträge in eine der *.lst Dateien tätigte, ließt das Programm immer nur bis zur Vorletzten Zeile. Ich kann mir das Phänomen nicht erklären. Das ist die Funktion welche für das auslesen zuständig ist: Private Function loadExclMarks() As DataTable() Dim dt(2) As DataTable dt(0) = New DataTable dt(0).TableName = "DBS" dt(0).Columns.Add("pr32") dt(0).Columns.Add("Usage") dt(1) = New DataTable dt(1).TableName = "ExcelMarks" dt(1).Columns.Add("pr32") dt(1).Columns.Add("Usage") dt(2) = New DataTable dt(2).TableName = "TableSettings" dt(2).Columns.Add("pr32") dt(2).Columns.Add("Usage") Dim tmpArray() As String Dim hbool As Boolean = False Dim fbool As Boolean = False Dim tbool As Boolean = False Dim wr As New StreamReader(optfilename, False) Try Do Until wr.EndOfStream = True Dim line As String = wr.ReadLine() If line.Contains("***") Then If line.Contains("DBS") Then hbool = True fbool = False tbool = False ElseIf line.Contains("ExcelMarks") Then hbool = False fbool = True tbool = False End If ElseIf line.Contains("OtherExcelSettingValues") Then hbool = False fbool = False tbool = True Else If hbool Then tmpArray = line.Split("|") If (tmpArray.Length = 2 And tmpArray(0).StartsWith("#") = False) Then dt(0).Rows.Add(tmpArray) End If ElseIf fbool Then tmpArray = line.Split("|") If (tmpArray.Length = 2 And tmpArray(0).StartsWith("#") = False) Then dt(1).Rows.Add(tmpArray) End If ElseIf tbool Then tmpArray = line.Split("|") If (tmpArray.Length = 2 And tmpArray(0).StartsWith("#") = False) Then dt(2).Rows.Add(tmpArray) End If End If End If Loop wr.Close() Catch wr.Close() End Try Return dt End Function Und hier ist der zugehörige File Content: Falls jemandem etwas auffallen sollte, wäre ich wie immer sehr erfreut . Lg Gateway
  5. PS: Im diesem Aspekt lege ich mal ne kleine Spur aus Brotkrümmeln. In der am 12.April erschienen Version 4.0 von C# gibt es unter anderem einen neuen komplexen Datentyp namens Dynamic. Ich selbst habe leider noch keine Zeit gehabt VS2010 zu installieren und die neuen Funktionalitäten von C# ausgiebig zu genießen . Jedoch war ich bei einer Präsi von Microsoft dabei, wo einige Beispiele gezeigt wurden. Mit hilfe dieses Datentyps ist es beispielsweise möglich während der Laufzeit ganze Klassen dynamisch zu laden sowie zu erstellen. Was natürlich auch die Fehlerqote zur Laufzeit erhöht. Nuja ich bin selbst noch nicht ganz hinter dieses Konzept gestiegen. Aber sah auf jedenfall ganz Interessant aus. Lg Gateway
  6. Das wirst du so nicht hinbekommen. Auch nicht mit einem Try Catch Fehlerhandling. Wenn du einer Anwendung einen Verweis hinzufügst spielst sich beim Starten folgendes ab: => Die Laufzeitumgebung sucht bevor die Anwendung überhaupt gestartet wird nach den dafür Notwendigen Ressourcen. Zuerst wird dannach in dem Pfad gesucht welcher die zu startende Anwendung beinhaltet und bei misserfolg dann im System32 Ordner. Wenn die Referenzierte Ressource nicht auffindbar ist, wirft die Laufzeitumgebung einen Fehler und es kommt garnicht zum Start deines Programms. Ich habe selbst möglichkeiten gesucht soetwas im .NET zu umgehn. Prinzipiell ist es möglich, nur der Aufwand ist dermaßen enorm. Ich rede davon die Dll dynamisch aufzurufen. D. h. du verweist in deinem Projekt nicht länger auf die entsprechenden DLL's sonder fügst an die Stelle wo du die jeweiligen Felder/Prozeduren/Funktionen benötigst eine Variable vom Typ Objekt ein und füllst diese per Reflection Klasse mit dem Inhalt deiner DLL. So kannst du auch ein Fehlerhandling machen. Sieht dann ungefähr so aus: Dim asmbl As [Assembly] = [Assembly].LoadFrom(path) Nachteil: Natürlich gibts so einen Luxus wie Intelisense auf diese weiße nicht. Lg Gateway
  7. hallöle: Also vorab ich mache relativ wenig in ASP. Jedoch sollten die SQL Klassen in der hinsicht die selben sein. Kleiner Hinweis wenn du mit Parametern arbeitest: UpdateCommand="UPDATE tb_Glossar SET [Bezeichnung ] = @Bezeichnung, [Definition / Beschreibung] = @Beschreibung, Status = @Status, Thema = @Thema WHERE (ID =@id)"> <DeleteParameters> <asp:Parameter Name="id" /> </DeleteParameters> <UpdateParameters> <asp:Parameter Name="@Bezeichnung" /> <asp:Parameter Name="@Beschreibung" /> <asp:Parameter Name="@Status" /> <asp:Parameter Name="@Thema" /> <asp:Parameter Name="@id" /> </UpdateParameters> Wenn du SQL Parameter definierst must du bei dem Namen ebenfalls das @ Char hinzufügen. Eben den ganzen "Platzhalter" im Statement. Desweiteren fiehl mir auf das du keinem einzigen Parameter einem Value gegeben hast. Wird dann halt standartmäßig Nothing sein. lg Gateway PS: So bin ich das gewöhnt (ist eben nicht ASP, jedoch sollte man daraus etwas abmünzen können): Dim con As New SqlClient.SqlConnection("ConnectionString") Dim cmd As New SqlClient.SqlCommand cmd.Connection = con cmd.CommandText = "INSERT INTO Personen(Name) VALUES(@var1)" Dim para1 As New SqlClient.SqlParameter("@var1", SqlDbType.NVarChar) para1.Value = "Gateway" cmd.AddSqlParameter(para1) con.Open() cmd.ExecuteNonQuery() con.Close()
  8. hi, definiere einfach ein Webbrowser Element. Stelle die Property Visible auf False. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '''Die Seite laden welche gedruckt werden soll. (Kann auch der Pfad einer lokalen html Seite sein. browser.Navigate("www.fachinformatiker.de") End Sub Private Sub browser_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles browser.DocumentCompleted 'In das Event DocumentCompleted des Browser Controls den Print Befehl des Browser Controls schreiben browser.Print() End Sub Theoretisch sollte es nach fertigem laden der Seite diese drucken. (ungetestet) Aber nicht vergessen das Web Control von VS ist von Scriptmöglichkeiten ungefähr so gut wie der IE 7. D. h. es kann gut sein das er dir beim ausführen von Scripten eine hübsche Exeption wirft. Must du einfach mal ausprobieren . Prinzipiell wirst du aber nicht um eine solche Rutine herumkommen, da du auf einen html Parser angewiesen bist wenn du es grafisch ausgedruckt haben möchtest.... Lg Gateway
  9. Danke euch beiden
  10. #1 #2 #3 lg Gateway
  11. Dann hab ich den effekt des "Flimmerns". So in etwa hatte ich das auch schon versucht nur leider kommt bei häufiger aktualisierung eine Art "Flimmern" des Forms vor. Was ja verständlich ist da er ja immer wieder alles neu zeichnet...
  12. danke, aber diese Lösung ist mir zu unsauber. Ich hatte mir überlegt jedem Graphicobjekt eine eigene Graphic instanz zu geben, jedoch ist der Aufwand vergleichsweise enorm wenn die Rechtecke an Anzahl und Position nicht statisch sein sollen.
  13. Hallo, ich habe ein Formular auf dem verschiedene Rechtecke gezeichnet wurde. Nun will ich verschiedene Rechtecke löschen (jedoch nicht alle). Mir ist die Funktion Clear() der Klasse Graphics bekannt, jedoch zerstört diese Funktion alle Grafikobjekte indessen Bereich. Hat jemand eine Idee wie ich das anstellen könnte? Lg Gateway
  14. Hat sich erledigt. Die Rangeobjekte haben ja Left und Top Properties. Hab ich scheinbar ganz übersehn...
  15. Guten Morgen, Problemstellung: Ich habe eine Klasse erstellt, welche Formatvorlagen für Rechnungen mit allen Daten befüllt. Nun will ich am Ende der Rechnung, wenn die Gesamtergebnisse (Netto, Brutto) und die MWST ausgegeben wird eine Shape.Line (sprich eine Linie ziehen). Da logischerweise die Position dieser Angaben aufgrund von variablen Rechnungsposten variieren kann, habe ich versucht aus einer initialisierten Range Variable die Pixellocation von eben dieser zu erhalten. Leider habe ich bis jetzt keinen Weg gefunden. Da aber die zu zeichnende Linie eben diese Location benötigt frage ich nun hier um rat. Hat eventuell jemand schoneinmal die Pixellocation eines Rangeobjektes genutzt oder weiß wie es gehen könnte? Lg Gateway
  16. An deiner Stelle würd ich die Backroundworker einstampfen und direkt mit der Threak Klasse Arbeiten. Da machste statt 2 Backroundworker 2 Threads. Vorteil: -Du kannst prioritäten der einzelnen Thread festlegen. -Du kannst jeden Thread nach belieben Pausieren (Suspend nennt sich die Funktion). Lg Gateway
  17. @SoL_Psycho Jup das könnte sein :floet:. PS: Ich runde gelegentlich auch mal gerne auf
  18. @Schattenflame Ich bin auch Azubi in München. Ich zahle für meine 32m² Wohnung 458€ Warm. @OP Die Nebenkosten sind zudem auch Personenbedingt. Das sind ja Abgschlagszahlung (z.B. Strom). In meinem ersten Jahr hatte ich Beispielsweise noch einen Desktop Rechner in der Wohnung. Hatte ca. 38 Euro Monatlich zu zahlen. Der ging dann nichtmehr und hab mir daraufhin nen Laptop zugelegt und bekam am Jahresende prompt Kohle zurück und die Monatlichen Abschlagszahlungen wurde von 38 auf 25 Euro heruntergesetzt.
  19. Noch ein kleiner Hinweis. Bei deiner Code Konstellation zum füllen des Dataset's kannst du dir das connect.open() und close() sparen. Der Dataadapter macht dies beim Aufruf der Fill Methode bereits selbständig. Lg Gateway
  20. Ja super danke dir Nein der wiederholte Bereich soll auf jeder Seite angezeigt werden und immer an selbiger Position. Man kann sich das an folgendem Beispiel vorstellen: Ich habe eine Tabelle mit 200 Datensätzen. Diese möchte ich nun in ein Word doc Importieren. Word erkennt natürlich das eine Seite nicht genügt und macht an der benötigten Stelle in der Tabelle ein Pagebreak und führt diese auf der nächsten Seite weiter. Nur weiß Word nicht das es den Table header am anfang der nächsten Seite wieder wiederholen soll. D.h. ich möchte beispielsweise auf jeder Seite vor dem Tabellenbeginn einen sich ständig wiederholten Text einfügen.
  21. hi, Ich suche gerade eine Möglichkeit per VB.NET eine sich ständig wiederholten Bereich in ein Word Dokument einzufügen. Sprich sowas wie eine Kopfzeile (welche sich ja auf jeder enstehenden Seite neu dubliziert) nur an einer variablen Stelle des Dokuments. Ich habs mit Bookmarks versucht, dummerweise wird der Text dann nur einmal eingefügt da sich das eingefügte Bookmark nicht auf weitere enstehende Seite dubliziert. Ich hoffe ich hab es verständlich genugt erklärt :old . Such jetzt schon seit geraumer Zeit. Was soviel heißt wie, wer mir hier einen passenden Begriff an Kopf werfen kann bekommt einen Kecks Lg Gateway
  22. :old Hat sich erledigt :old Wie peinlich das es doch so einfach ist: Select Kunden.firma as 'Kunde', MA.fname as 'MA-Vorname', MA.lname as 'MA-Nachname', B2A.Menge, Artikel.bez as 'Bezeichnung', Artikel.preis as 'Einzelpreis', (B2A.Menge * Artikel.preis) as 'Zwischensumme' From (((Bestellung INNER JOIN Kunden ON Bestellung.KID=Kunden.KID) INNER JOIN MA ON Bestellung.MID=MA.MID) INNER JOIN B2A ON Bestellung.BID=B2A.BID) INNER JOIN Artikel ON B2A.AID=Artikel.AID Where (Bestellung.BID=1) Wünsche noch nen schönen Arbeitstag Gateway
  23. Hallo, ich habe momentan ein kleines Problem. Zuerst erläutere ich grob das Schema um das es geht. In der Abfrage werden folgende eingebunden. Tabellen: -Lieferant -Mitarbeiter -Kunden -Bestellung -Artikel -B2A (Zwischentabelle für die m:n Relation von Bestellung zu Artikel) Ziel der Abfrage: Ich möchte anhand der BestellungsID die Informationen: -Kundenfirma -Für den Auftrag zuständigen Mitarbeiternamen -Menge -Artikelbezeichnung -Einzelpreis des Artikels herausbekommen Das funktioniert momentan auch super mit beispielsweise dieser Abfrage: Select Kunden.firma as 'Kunde', MA.fname as 'MA-Vorname', MA.lname as 'MA-Nachname', B2A.Menge, Artikel.bez as 'Bezeichnung', Artikel.preis as 'Einzelpreis' From (((Bestellung INNER JOIN Kunden ON Bestellung.KID=Kunden.KID) INNER JOIN MA ON Bestellung.MID=MA.MID) INNER JOIN B2A ON Bestellung.BID=B2A.BID) INNER JOIN Artikel ON B2A.AID=Artikel.AID Where (Bestellung.BID=3) Jetzt möchte ich jedoch noch in der Abfrage eine Gesamtpreis Column. Sprich für jeden Datensatz der Bestellung (Menge * Einzelpreis des Produkts) zurückbekommen. Wie würdet ihr das anstellen? Kann ich eine solche Berechnungsfunktion überhaupt in eine Abfrage einbaun? Lg Gateway
  24. Gateway_man

    [C#] Hilfe einbauen

    Um beispielsweise die F1 Taste zu nutzen, gehst du einfach in das KeyDown Event des betreffenden Forms und händelst die Eingabe wie folgt: If (e.KeyCode == Keys.F1) { //Hier kommt dann der Code welcher dann ausgeführt werden soll. //Beispielsweise ein Aufruf auf ein zustätzliches Fenster welches sich an das andere andockt und allgemeine Beschreibungen liefert. } Auf die Taste wird dann natürlich nur reagiert wenn das entsprechende Form den Focus hat. Lg Gateway
  25. Ich werf jetzt mal zwei in diesem Fall sehr hilfreiche Stringfunktionen in den Raum: ==> Substring ==> LastIndexof

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...