Zum Inhalt springen

Tician

Mitglieder
  • Gesamte Inhalte

    541
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    9

Alle Inhalte von Tician

  1. Also ich komme aus Baden Württemberg und bin im 2. Layer (Lehrjahr :D) und bis jetzt ist Schule eigentlich echt super. BWL und Wirtschaftslehre gibt es absolut nichts auszusetzen, unsere Lehrerin bringt alles verständlich und geordnet rüber und sagt uns auch vorher was Prüfungsrelevant ist und was nicht. SAEL ist ziemlich viel: C#, objektorientiertes Programmieren, Struktogramm, UML und gleichzeitig lernen wir die Grundlagen von Datenbanken (Access), also Begriffe, Beziehungen, ERModell Deutsch und GGK sind meine Hassfächer, nicht weil ich es nicht kann sondern weil ich den Lehrer nicht abkann er springt von Thema zu Thema, hat überhaupt keinen Faden den man verfolgen kann und ist ein Einwanderer der gebrochen deutsch spricht, aber zumindest in der Theorie weiß wie die Sprache funktioniert. Dementsprechend rennen wir die Themen durch und lernen halt irgendwie auswendig. ITS ist solala. Wir haben im ersten Lehrjahr Hardware-Grundlagen gehabt, sprich was ist in einem PC verbaut, wie pflegt man es und aus welchen Funktionsteilen besteht es. Dieses Lehrjahr haben wir mit Windows-Server angefangen, also einen aufgesetzt, AD und DHCP installiert, Benutzer angelegt und Laufwerke mit verschiedenen Rechten automatisch verbunden. Mit Linux haben wir noch gar nichts gemacht. Wir richten Cisco-Switche ein (IP, Passwörter, MOTD, VLAN,...), dabei lernen die meisten die Befehle die sie eintippen auswendig, weil ein paar Grundlagen nicht angekommen sind (z.B. wie man das '?' verwendet und das die Befehle Abkürzungen sind). Der Hammer dabei ist das wir zwar IPs vergeben aber noch überhaupt keine Grundlage haben, die Schüler wissen nicht was das überhaupt ist, was es mit der SNM auf sich hat oder warum plötzlich kein SGW gebraucht wird. "Weil das kommt erst in Kapitel 6 dran" und damit umgeht unser Lehrer den theoretischen Teil weil er die Frage nach dem "Warum brauchen wir das" umgehen möchte indem er erst das praktische macht. Regt mich zwar auf, aber ich persönlich komme damit klar weil ich mir alles ergoogle, wie andere das machen - keine Ahnung. Englisch ist halt englisch^^ Kreuz und quer mal Texte übersetzen, neue Wörter lernen, Betrieb vorstellen können. Irgendwie sowas. Und mehr Fächer haben wir Gott sei Dank nicht. Alles in allem für mich persönlich sehr lehrreich.
  2. Das ist eine Idee! Ich probier mal rum ob auslagern hilft und meld mich nochmal
  3. Bei uns gibt es niemanden der Programmieren kann und außer mir und meinem Ausbilder gibt es auch keine anderen Informatiker hier. Was ich mache sind im Prinzip nur kleine Dinge die einem das Leben (arbeiten^^) einfacher machen sollen. Mein Problem war das ich schon einen Timer habe und IN diesem Timer soll bei einem Exception 10 Minuten pausiert werden, bevor der Timer wieder losrennt, aber das habe ich gelöst. Zurück zum Topic, alles was meine Form und deren Sichtbarkeit betrifft sieht so aus: public Form1() { this.FormBorderStyle = FormBorderStyle.None; this.ShowInTaskbar = false; this.Load += new EventHandler(Form1_Load); } private void Form1_Load(object sender, EventArgs e) { this.Size = new Size(0, 0); } Funktioniert ja wie gesagt auch einwadnfrei, es sei denn ein Exception wird geworfen (Wie gesagt die Exception ist im Timer.Tick Event drin) catch (Exception ex) { sw = new StreamWriter(tmpPath + "MessageClient.log", true); sw.WriteLine(ex.Message + " " + DateTime.Now); sw.Close(); Thread.Sleep(600000); } Dann taucht in der Taskleiste ein Fenster auf das einfach nur nervig ist und mit dem man nichts tun kann, weder schließen noch anklicken noch sonst irgendwas. Wenn die Sleep-Zeit vorbei ist tut es dann wieder und das Fenster ist verschwunden. Das wäre gerade "nur" ein Schönheitsfehler
  4. Ich hatte es mal probiert. Ich slebst kann kein WIndows-Service erstellen mit meiner Community-Edition. Mein Ausbilder hat es erstellt und ich sollte es bearbeiten aber dann waren da Dinge in der Anleitung die ich einstellen sollte und bei mir nicht gefunden habe also habe ich es gelassen. @Gottlike Steht bereits in meinem Code, macht es einen unterschied wenn ich es in den "Form_Load" reinschmeiße?
  5. Moin! Ich hab ein Programm das ähnlich wie ein Service im Hintergrund laufen soll. Es hat kein Fenster und wird auch nicht in der Taskleiste angezeigt. Soweit so gut funktioniert es auch. Benutzt dazu wurde folgender Code: this.FormBorderStyle = FormBorderStyle.None; this.ShowInTaskbar = false; this.Load += new EventHandler(Form1_Load); private void Form1_Load(object sender, EventArgs e) { this.Size = new Size(0, 0); } Jetzt soll das auch bei Fehlern so bleiben, das Programm schreibt bei Fehlern in eine Text-Datei und pausiert dann für 10 Minuten bevor es erneut den Code in einer Schleife ausführt. Allerdings hab ich nun das Problem das anscheinend bei Thread.Sleep() das Programm in der Taskleiste mit buntem Symbol auftaucht. Man kann es nicht anklicken, es erscheint natürlich kein Fenster aber für den Benutzer ist es natürlich irritierend. Der Code zum Fehler abfangen sieht so aus: while () { try { } catch (Exception ex) { sw = new StreamWriter(tmpPath + "TicianClient.log", true); sw.WriteLine(ex.Message + " " + DateTime.Now); sw.Close(); Thread.Sleep(600000); } } Eine Idee warum das so ist und wie ich das vermeiden kann?
  6. Ich hätte vielleicht noch hiinzufügen sollen das unsere PCs auch für die private Nutzung zugelassen sind (solange es nicht ausartet) - aber das natürlich mit EInschränkungen. Das mit dem Löschen oder Verändern war mehr so mit dem Gedanken "Ich darf die Excel-Datei die Frau xyz erstellt und auf ihrem Desktop gespeichert hat nicht einfach löschen". Genau das hatte ich auch noch im Kopf, das wurde uns gesagt Meine Frage hatte sich allerdings jetzt geklärt, es wurde als "kritischer Bereich" deklariert, also Gebot ist vorsichtig sein, aber ein Gesetz dazu gibt es nicht.
  7. Also die praktische Erfahrung: Ich brauche Threading. Mein Timer (scheint nicht automatisch in einen neuen Thread geschoben zu werden) blockiert alle 10 sekunden meine GUI. Bzw es blockiert sie nicht, geklickte Check-Boxen oder ein Text der in eine Textbox geschrieben wird werden 'nachgeholt'. Aber ich schätze das kommt daher das ich einen Ping auf bestimmte Rechner absetze mit dem Timer und sich je nach Ergebnis das DataGridView in der GUI verändert. Und dann scheint eben nicht nur das DataGridView sondern die gesamte GUI mal für 2 Sekunden zu hängen, was dann doch etwas nervig ist. Bringt mir dann Threading überhaupt etwas? Der Timer steht ja im Zusammenhang mit einem Element der GUI... Noch etwas: Wenn ich IN einem timer Thread.Sleep(x) benutze wird dann allgemein der Timer pausiert sodass ich x Sekunden Ruhe habe oder fängt der Timer-Durchlauf nach seinem eigenem Interval mit einem neuen Durchlauf an?
  8. Guten Morgen, wir hatten letztens eine 1-stündige Datenschutzschulung für unsere Abteilung die mein Ausbilder leider verpasst hat und weswegen ich jetzt noch Fragen zu einem Thema habe. Und zwar wurde mir gesagt das das Löschen von Daten logischerweise verboten ist, aber auch das sämtliche Software-Änderungen dem Benutzer des jeweiligen Rechners mitzuteilen sind. Das giibt mir jetzt zu denken weil über die Gruppenrichtlinien machen wir hin und wieder Änderungen und die Beste Zeit um Software zu installieren oder zu verändern ist natürlich wenn der Benutzer nicht da ist. Gibt es dazu einen Ausschnitt aus einem Gesetzbuch? Wie sieht es mit PC-Tausch aus? Wir haben sämtliche PCs letztes Jahr auf Windows 7 umgestellt und es gab eine Mitarbeiterin die sich wehement geweigert hat ihren XP-Rechner tauschen zu lassen also haben wir das an einem Wochenende gemacht, aber das Geschrei hinterher war jenseits von gut und böse. Wie handhabt ihr das? Welche Regeln sind Betriebs-spezifisch, welche gelten für Datenschutz allgemein?
  9. Woah das habe ich mal gut verstanden, vielen vielen Dank für die super Beispiele, das ist tatsächlich Wahnsinn was die heutigen PCs können!
  10. Moinsen, ich kam heute durch eine Anforderung auf eine seltsame Frage die vielleicht jemand beantworten kann: Wenn ich ein Programm mit GUI habe, das einen Timer im Hintergrund hat der natürlich läuft und alle paar Sekunden eine Aktion ausführt, aber gleichzeitig Buttons habe die bei einem Klick ebenfalls Dinge ausführen brauche ich ja anscheinend kein Multi-Threading. Woher weiß ich denn wann ich Multi-Threading brauche und wann nicht? Was passiert denn genau wenn mein Code in einer Timer-Schleife ist und ich aber einen Button klicke der ein Ereignis auslöst? Wird das ancheinander verarbeitet? Gleichzeitig? Grüße Tician
  11. Um die Antwort auf den Punkt zu bringen: Man nehme mich als schlechtes Beispiel^^ Ich bin kein AE, aber mir macht Programmieren rießig Spaß, zum optimieren/automatisieren von Prozessen reicht es, aber ich kann nur das machen was mir in der Schule beigebracht worden ist und jeder der meinen Code sieht kriegt Haarausfall. Ja, von 0 auf programmieren geht, aber ohne Anleitung (oder einem richtig guten Buch) wird es Spaghetti-Code bleiben.
  12. Hi Leute, Ich bin ja noch Azubi, wir haben unseren ersten Windows-Server aufgesetzt, Domäne erstellt und Benutzer angelegt und unser Lehrer hat nach einer Frage eine Stunde lang versucht uns zu erklären was der unterschied zwischen AD und Domänencontroller ist. Mein Ausbilder hat es versucht. Google hat es versucht - aber ich verstehe es nicht. Was ist denn der Unterschied? Ich verbinde beides mit einem Server mit dem man die Benutzer und Domänenstruktur verwalten kann. Ich hoffe da jetzt nicht eine Diskussion vom Zaun zu brechen, aber vielleicht hat ja jemand eine einfach zu verstehende Erklärung?
  13. Könnte man mir bitte einen Link geben in dem steht das der Informatiker ein (teils) kaufmännischer Beruf ist (und nicht nur kaufmännische Wurzeln hat)? Ich zähle den direkten Informatikkaufmann mal nicht dazu. Ist reine Neugierde, wenn man das Fach BWL von Anfang an nicht nur auswendig lernt sondern versucht zu verstehen macht es auch Sinn und sogar Spaß Aber zugegeben, es hängt auch viel vom Lehrer ab.
  14. Fun-fact: Ich habe gar keine geschrieben. Ich wurde vom Arbeitsamt in eine Maßnahme geschickt, die junge Leute in die Bereiche Gastronomie, Altenpflege, Metall,... vermittelten. Ich war tot-unglücklich dort weil keiner der Bereiche auch nur annähernd für mich infdrage kam und eine der Betreuerinnen hat sich mal an nem Abend hingesetzt und ein paar Betriebe durch-telefoniert, weil ich darauf bestanden habe nirgendwo anders hiinzuwollen als in Richtung IT. Am nächsten Tag hatte ich ein Vorstellungsgespräch mit anschließendem Praktikum und bin im besten Betrieb der Welt gelandet \o/ Ich musste nur meinen Lebenslauf noch nachreichen und das war es
  15. Huch das artet ja aus hier. Also, ich habe mir Head First C# geholt (bzw holen lassen), extra mit viel veranschaulichung. Das Buch hat auch über 1000 Seiten, ist englisch, aber dafür ausgelegt den Leser am Ball zu halten. Ich wusste allerdings nichts das es hauptsächlich auf Windows 8 ausgelegt ist und da ein neues Programm als "windows app" erstellt wird, während ich nur Windows Forms oder WPF-anwendung zur Auswahl habe... erstmal lesen was der Unterschied ist und welches Projekt dem neuen "windows app" entspricht... mal schauen wie viel "wie schreibe ich ordentlichen Code" darin enthalten ist Ich würde mich vertrauensvoll nochmal an euch wenden wenn ich irgendwo hängen bleibe^^
  16. Hallöööchen mit 3 öchen, um mich langsam auf die Zwischenprüfung vorzubereiten (auch wenn sie nicht zählt) suche ich nach den Zwischenprüfungen der letzten Jahre (BaWü?) um ein Gespür für die Fragen und Themen zu bekommen Danke! Bitte per PN, da aus Erfahrung nur Malware rumgesendet wird
  17. Was wäre denn dann etwas "kleineres"? In der Schule haben wir jetzt eine Klasse erstellt in der wir einen Button und einen Timer "verbunden haben", sodass man diese Buttons einfügen kann und die dann im viereck springen sobald man drauf klickt. Dann noch ein "Sitzplatz-Reservierungs-Programm" bei dem 100 Buttons sich gründ/rot färben wenn man drauf klickt. Damit habe ich mal verstanden wie ich eine andere Klasse schreibe und benutze und das ich für ein SpaceInvader keine 1000 Zeilen Code brauche Aber in diesen Beispielen befindet sich der komplette Code auch nur in einer Klasse und die wird nur als Objekt aufgerufen, ich weiß nicht ob sich das groß von dem unterscheidet was ich hier fabriziert habe.
  18. Habe ich verstanden, aber in den Grundlagen ist nie von sowas die Rede gewesen und dann heißt es "such dir ein Projekt, so lernt man am Besten" und ich finde ich habe schon einiges gelernt nur wende ich es falsch bzw nicht programmier-freundlich an? Im Vergleich zur Schule wo wir jetzt zum ersten mal eine neue Datei als Klasse erstellt haben und einen Button machen der im viereck im Fenster umher springt sobald man drauf klickt. Da habe ich verstanden das ich die Werkzeuge mit etwas (in dem Beispiel den Timer) verknüpfen kann und dann im Hauptcode soviele Buttons wie ich will aufrufen kann, aber ich bekomme das nicht auf das übertragen was ich hier mache, vorallem nicht nur nach diesem einen Beispiel. Mal schauen wie bald ich meinen Code dann überarbeiten kann Edit: Huch die Posts sind nach oben gewandert, jetzt sieht das aus als würde ich Selbstgespräche führen >.<
  19. Das ist doch mal eine Ansage, mein Betrieb bestellt mir Head First C# 3rd edition Mein englisch ist ziemlich gut (ich mach auch das freiwillige Englisch-Zertifikat dieses Schuljahr) von daher kein Problem^^ Danke! Mal schauen wie gut ich damit zurecht komme, ich habe mich jetzt voll auf deine Einschätzung und dem verlassen was ich so auf ein paar Blicke gesehen habe
  20. Ich hatte doch extra gesagt es gibt keine direkte Kommunikation zwischen Client und "Server" weswegen ich es auch nicht Server genannt habe. Das Admin-Tool ist dazu da um Dinge auf die Datenbank zu schieben und zu verändern, während der Client die Datenbank abruft und je nach Inhalt reagiert. Die 10 Sekunden lassen sich bei Bedarf ja ändern, es gibt sowieso noch ein paar andere Wünsche an Änderungen an denen ich noch arbeiten muss. Das mit dem Weiterbilden ist schwierig du willst das ich ein Pferd zeichne ohne je eines gesehen zu haben, sprich ich soll meinen Code in etwas umwandeln das ich noch nie gesehen habe und unter dem ich mir gerade nichts vorstellen kann und gar nicht weiß wo ich ansetzen soll. Das nächste ist das ich weder heute noch gestern groß weitergekommen bin, die Client UND die "Server"-Seite standen Code-mäßig auch schon am Montag fest bevor mir hier Tipps gegeben wurden, ich programmiere nicht 100% meiner Arbeitszeit. Produktiv im EInsatz ist nur eines meiner Programme, das jetzige und 2 andere sind in Arbeit. Ich bin Azubi, mir macht programmieren Spaß, es ist nicht geplant irgendwann jemanden einzustellen der programmieren kann geschweige denn das irgendjemand meine winzigen Programme auch nur mit einem Auge anschaut. Es ist schade aber verständlich für mich das du mir da nicht helfen willst, ich bin anfänger, mir fehlt Grundwissen, ich habe niemanden den ich fragen kann, noch NIE einen anderen Code gesehen und über ein Forum ist es massiv zeitaufwendig etwas zu erklären, während man den Wissensstand des anderen nicht kennt, gleichzeitig (das ist meine persönliche Meinung) bist du nicht gut darin etwas Anfänger-freundlich zu erklären, allerdings versuchst du mir in jedem Thread zu helfen, das rechne ich dir wirklich hoch an. Gleichzeitig bin ich aber ein Typ der etwas nur sehr langsam versteht und auch nur dann wenn es quasi kindergerecht und anschaulich erklärt wird. Es gibt andere Leute hier, andere Foren und morgen schmeiße ich mich auch mal auf einen Programmier-Stammtisch, irgendwo hoffe ich hilfe zu finden.
  21. Client (jaja ich weiß der sieht auch grausam aus) namespace Message_Client { public partial class Form1 : Form { //allgemein string hostname; string user; string names; string text; MySqlConnection connection; MySqlCommand sqlcommand; MySqlDataReader reader; //ini-Inhalt string iniText; string iniServer; string iniDatabase; string iniUser; string iniPassword; string iniPort; string iniTable; public Form1() { InitializeComponent(); try { ReadIniFile(); this.FormBorderStyle = FormBorderStyle.None; this.ShowInTaskbar = false; this.Load += new EventHandler(Form1_Load); System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer(); timer.Tick += Timer_Tick; timer.Interval = 10000; timer.Start(); hostname = Environment.MachineName; user = Environment.UserName; Microsoft.Win32.SystemEvents.SessionEnding += SystemEvents_SessionEnding; //SQL Zeug string connectionString = "SERVER="+iniServer+";" + "DATABASE=" + iniDatabase + ";" + "UID=" + iniUser +";" + "PASSWORD=" + iniPassword +";" + "Port=" + iniPort +";"; string command = "SELECT hostname FROM " + iniTable + ";"; connection = new MySqlConnection(connectionString); sqlcommand = new MySqlCommand(command, connection); //open connection and execute command connection.Open(); reader = sqlcommand.ExecuteReader(); while (reader.Read()) { var name = reader["hostname"]; names += " "+name; } reader.Close(); //find own hostname with Regex Regex reg1 = new Regex(hostname); Match match1 = reg1.Match(names); //create hostname in DB if not found if (!match1.Success) { sqlcommand.CommandText = "insert into " + iniTable +" (hostname, message, user, block) values ('" + hostname+"', '0','"+user+"', '0');"; sqlcommand.ExecuteNonQuery(); } sqlcommand.CommandText = "update " + iniTable + " set status=1 where hostname='" + hostname + "';"; sqlcommand.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void Timer_Tick(object sender, EventArgs e) { try { sqlcommand.CommandText = "select message from " + iniTable + " where hostname='" + hostname + "';"; reader = sqlcommand.ExecuteReader(); while (reader.Read()) { var vartext = reader["message"]; text = Convert.ToString(vartext); } reader.Close(); if (text != "0") { MessageBox.Show(text, "IT Abteilung sagt:", MessageBoxButtons.OK, MessageBoxIcon.Warning,MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); sqlcommand.CommandText = "update " + iniTable + " set message='0' where hostname='" + hostname + "';"; sqlcommand.ExecuteNonQuery(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void Form1_Load(object sender, EventArgs e) { this.Size = new Size(0, 0); } public void ReadIniFile() { try { //ini lesen iniText = File.ReadAllText("settings.ini"); //Werte auslesen Regex regServer = new Regex("(?<=Server\\=).+"); Regex regDatabase = new Regex("(?<=Database\\=).+"); Regex regUID = new Regex("(?<=UID\\=).+"); Regex regPassword = new Regex("(?<=Password\\=).+"); Regex regPort = new Regex("(?<=Port\\=).+"); Regex regMainTable = new Regex("(?<=MainTable\\=).+"); Match matchServer = regServer.Match(iniText); Match matchDatabase = regDatabase.Match(iniText); Match matchUID = regUID.Match(iniText); Match matchPassword = regPassword.Match(iniText); Match matchPort = regPort.Match(iniText); Match matchMainTable = regMainTable.Match(iniText); iniServer = Convert.ToString(matchServer); iniDatabase = Convert.ToString(matchDatabase); iniUser = Convert.ToString(matchUID); iniPassword = Convert.ToString(matchPassword); iniPort = Convert.ToString(matchPort); iniTable = Convert.ToString(matchMainTable); } catch { MessageBox.Show("Initialisierung der ini-Datei fehlgeschlagen"); } } //when program is closed private void Form1_FormClosing(object sender, FormClosingEventArgs e) { sqlcommand.CommandText = "update " + iniTable + " set status=0 where hostname='" + hostname+"';"; sqlcommand.ExecuteNonQuery(); connection.Close(); } private void SystemEvents_SessionEnding(object sender, Microsoft.Win32.SessionEndingEventArgs e) { sqlcommand.CommandText = "update " + iniTable + " set status=0 where hostname='" + hostname + "';"; sqlcommand.ExecuteNonQuery(); connection.Close(); } } public partial class NativeMethods { [System.Runtime.InteropServices.DllImportAttribute("user32.dll", EntryPoint="BlockInput")] [return: System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.Bool)] public static extern bool BlockInput([System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.Bool)] bool fBlockIt); public static void BlockInput(TimeSpan span) { try { NativeMethods.BlockInput(true); Thread.Sleep(span); } finally { NativeMethods.BlockInput(false); } } } } Achja das FormClosing und SessionEnding funktionieren auch nicht, da muss ich mir noch was überlegen wie ich das testen kann, schätzungsweise mal als Admin ausführen.
  22. Ist das wichtig? Ich arbeite in einem Logistik-Betrieb, jeden Tag muss jemand von unserer Abteilung (IT und Projektmanagement) drüben in unserem Logistik-Gebäude anrufen und dort muss dann jemand rumrennen und an 10 Plätzen bescheid geben das nicht mehr gearbeitet werden darf weil wir dann einen Abschluss von wasauchimmer (UPS, DHL, irgendwie sowas ich hab den Überblick noch nicht ganz) machen. Ich mache also eine Software die aus Client-Software und "Admin"-Software besteht (ich habe es nicht Server genannt weil ich keine Ahnung von Netzwerkprogrammierung habe und alles über eine Datenbank schleife). Im Admin-Programm (das was ihr jetzt gesehen habt) wird in einer DataGrid die DB-Tabelle gelistet. Mit Haken kann man anwählen welche Clients man auswählen möchte um einen Text in die Datenbank zu setzen - und einen 2. Haken um einen bool-wert in die Datenbank zu setzen der das blockieren der Tastatur und Maus für eine gewissen Zeit ankündigt. Das Client-Programm hat ein unsichtbares Fenster, beim ersten Ausführen schreibt sich der Computer mit PC-Name und Benutzername in die Datenbank. Anschließend wird im 10-sekunden takt die Datenbank überprüft, wenn dann ein Text drin steht wird dieser als Vordergrund-MessageBox angezeigt und bei Bestätigung wieder auf "nix" gesetzt. Das funktioniert alles, aber der Block-Befehl ist eben noch gewünscht und fehlt. Das ganze läuft Domänen-intern, kein Virus und auch sonst kein Unsinn falls du das gedacht hast. Klar, es würde bestimmt etwas im internet geben und unsere interne Fernwartungssoftware hat auch einen Button um Tastatur und Maus zu blockieren, aber eben nur an einem PC und ich programmiere gerne und dann würde der Lerneffekt ausfallen
  23. Oke, das muss ich irgendwann mal machen, dann kommt auch schon das nächste Thema: Wenn ich separate Klassen und Methoden habe wie rufe ich das auf? Im Prinzip weiß ich wie ich eine Methode einer anderen Klasse aufrufe und auch wie ich Parameter mit übergebe, aber jetzt sitze ich vor dem hier: namespace BlockTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //??? NativeMethods.BlockInput(true) ??? } } public partial class NativeMethods { [System.Runtime.InteropServices.DllImportAttribute("user32.dll", EntryPoint = "BlockInput")] [return: System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.Bool)] public static extern bool BlockInput([System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.Bool)] bool fBlockIt); public static void BlockInput(TimeSpan span) { try { NativeMethods.BlockInput(true); Thread.Sleep(span); } finally { NativeMethods.BlockInput(false); } } } } Das soll später noch mit in das andere Programm rein und einen Benutzer daran hinder Eingaben zu machen während wir am System arbeiten, aber ich weiß nicht wie ich das (jetzt zum testen mit dem Button) benutzen kann. Ich habe BlockInput() mit einem bool-Wert und hoffe das so aufrufen zu können aber wo kann ich dann die Zeitspanne festlegen?
  24. Ich habe meinen Fehler gefunden, der durch die Feste größe des Fensters nicht aufgefallen ist. Jedesmal wenn ich Button1 drücke setzt er eine Spalte mit CheckBoxen rechts ran anstatt zu "aktualisieren" wie ich es eigentlich wollte. dataGridView1.Columns.Clear(); Im Gegensatz zu den 100 Vorschlägen im internet Rows.Clear() zu benutzen (funktioniert null komma null) funktioniert es jetzt mit dem kleinen Zusatz. Das sagt mir leider auch wenig, noch nie gemacht, noch nie mit zu tun gehabt. Außer stumpfes Code kopieren weiß ich absolut nicht was gemeint ist. Ich weiß´nicht wie ich ein Stück Code in einem späteren Projekt verwenden kann ohne es even wie gehabt stumpf zu kopieren (falls das damit gemeint ist).
  25. Ihr habt glaube ich beide etwas missverstanden. Die Datenbank die ausgelesen wird geht nur bis Cell[4], während Cell[5] die Reihe ist die ich manuell mit CheckBoxen eingefügt habe. Das DataGrid ist NICHT mit der Datenbank verknüpft, es ließt sie nur aus und setzt eine checkBox-Spalte mit dran die nichts mit der Datenbank zu tun hat und die ich nur benutze um Reihen auszuwählen in denen ich etwas verändern möchte. //add CheckBox Column DataGridViewCheckBoxColumn chk = new DataGridViewCheckBoxColumn(); dataGridView1.Columns.Add(chk); chk.HeaderText = "Choose"; chk.Name = "chk"; @Whiz-zarD Ich bin kein Programmierer, ich habe (außer in der Schule) nie einen richtigen Code zu einem Programm gesehen und hier im Betrieb bin ich auch die einzige die mehr als nur batch-skripte schreibt. Die Programme zur Optimierung von Prozessen schreibe ich alle weil ich gerne programmiere, deswegen bin ich auch für Vorschläge offen, deswegen Danke für deine Tipps! Alles was ich mehr als 1 mal brauch packe ich normalerweise auch in eine Methode, aber meine Programme sind alle so klein das es für mich einfacher ist das von oben nach unten zu lesen. Keine Ahnung was damit gemeint ist, sorry. Ich versuche mich mal an arlegermi's Vorschlag zur Problemlösung

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...