Zum Inhalt springen

Kosinator

Mitglieder
  • Gesamte Inhalte

    83
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Kosinator

  1. Ist zwar alles andere als schön (und wenn du tatsächlich im Beruf auch nur das Geringste mt IT zu tun hast, dann..... Aber lassen wir das...) aber es "geht". Da ich davon ausgehe, dass du nicht mit Excel-Interops arbeiten möchtest, kann ich nur empfehlen, deine Excel Tabelle eindeutig anzulegen (z.B. Genau 4 "Spalten" (A1-A4), keine LeerZeilen in den Daten usw.) und diese dann in Access zu importieren, und dann als "Access Datenbank" (wenn man das so nennen darf) zu behandeln (s.TDM). Wenn es tatsächlich eine Aufgabe (der Schule, oder des Betriebes etwa) ist, würde ich, an deiner Stelle, etwas ordentliches programmieren, und je nach menge der Daten (wenn z.B. nur eine Funktionalität da sein sollte mit 5-100 Musterdaten) keine DB nutzen, sondern einfach eine Klasse, ein Dictionary oder Array, womöglich auch geschachtelt. Hoffe es hilft.
  2. Ganz einfach benutze meinForm.ShowDialog() statt meinForm.Show(). Damit kannst du a) den Dialogresult prüfen (also, obs "normal beendet wurde, oder mit dem X oben rechts etwa, oder bei einer Speicherabfrage OK, Abbrechen oder sonstwas (von Dialogrestut-Objekten) gewählt wurde) und in Abhängigkeit davon Daten Änder, oder eben nicht (z.B.) und hast "automatisch" deinen gewünchten Effekt, dass das Childform das Parentform "blockiert" (mouse Wait und ausgegraut, glaube ich). Jedoch kannst du so immer nur einen meinForm - Fenster geöffnet haben, aber ich glaube, genau dass willste ja. Achso, ändere das "Form1.TopMost = True" wieder auf deafault (false), das nervt sonst, wenn keine ander Anwendung "drüber schweben" kann. Wenn es dir nicht ganz klar geworden ist, oder du fragen hast, mache ich gerne n paar codeschnipsel. Gruß, Kosi
  3. Hallo, ich habe da ne allgemeine Frage zu AutoIT (das ich selber kaum kenne). Also, mit AutoIT kann man - laut Wiki - Tastatur, und Maussteuerungen "simulieren" - Administrationsrechte vorrausgesetzt, um etwa immerwiederkehrende Aufgaben zu automatisieren. Auch wird AutoIT gerne für sogenannte scriptBots auf Pixelauswertungsbasis verwendet (soweit ich weiß). Im Wiki steht allerdings auch, dass man ohne viel Arbeit eine TCP/IP - Verbindung aufbauen kann, und damit Daten verschicken kann, mit den Adminrechten kommt man quasi an alle Daten ran (zumal mann eventuelle "SicherheitsFragen" des OS locker annehmen kann (Maus und Tastatur wird ja simuliert)) So könnte man doch leicht z.B. teile der Regestry oder des Dateisystems auf einen FTP schicken (nen Zombie etwa), während der vermeindliche ScriptBot z.B. "nach nem Update sucht" (was er u.U. auch macht^^). Damit kann man doch relativ leicht, wenn ich mich nicht irre (das Wissen ist ausm Wiki und mithilfe googles in 2 Stunden angelesen worden), selbst besonders "geschützte" Dateien klauen, ohne das der endUser das mitbekommt... Ich halte das für ein relativ großes Sicherheitsrisiko, und wollte mal fragen, ob das sich tatsächlich so darstellt, wie ichs beschrieben habe, oder ob ich zu paranoid bin? Ich persönlich werde, wenn überhaupt, mal nen scriptBot auf ner VM installieren, um mal zu schauen, was er alles an wen "sendet", aber die meißten Leute tun dies sicher nicht und wundern sich später, wie jemand Ihren *MeinVZ*-Account geknackt haben kann^^ Gruß, Kosi p.s.: Dieser Text spiegelt nur eine möglicherweise existierende Gefahr wieder, und soll auf jene Hinweisen. Er ist keine Anweisung, How-To und soll keinesfalls zum Anstiften jeglicher, möglicherweise rechtswiedriger Handlungen bestimmt. Der Verfasser distanziert sich von jeglichen möglichen rechtswiedrigen Handlungen, die Aufgrund der im Text gegebenen Hinweisen efolgen, oder erfolgen könnten. Desweiteren weißt der Verfasser darauf hin, dass in einem "Fachlichen Forum der Programmierung", obwohl öffentlich zugänglich, die Leser selbstverantwortlich handeln, und sich über die Folgen Ihrer Handlungen bewust sein sollten. -- rechtlicher Hinweis -- p.p.s.: Falls dersrtige Threads vom Betreiber des Forums nicht erwüncht oder gar verboten sein sollten, bitte ich entsprechenden Thread zu editieren bzw. zu löschen. Eine Informelle "pm" wäre mir recht. (Sie wissen ja, Forenbetreiber Haften für Ihre User^^)
  4. Ja, DevExpress ist mir sehrwohl bekannt^^, die haben auch recht brauchbare Toolbars (halt menü's, rechtsklickEventHandler - leicht einstellbar - macher (hoffe das ist verständlich), Grids (besser als die von MS, jedoch in einigen Punkten schwächer als die von Infragistics) und Reports (da echt gut, sogar voll "einstellbsrer" End-User-Designer für den versierten Benutzer) Aber... Ich möchte ja erstmal ne 0.0.1 Alpha machen, und bis die dann zum 0.9.8 RC wird (ja, alle sagen jetzt "RC"), kann ja schonmal das ein oder andere Jahr ins Land gehen, und ob das Projekt dann überhaupt kommerziel genutzt wird, naja (ich bin ja noch in der Ausbildung, habe keine GmbH oder KG auf mich laufen und und und...) habe ich durch 3rd Party-Komponenten ja nur Kosten Plus, ich glaube ja MS stellt seine Ribbons ja auch Kostenfrei zur verfügung (wenn man a) die 2000 Seiten "Design-Richtlinien" beachtet und damit leben kann, dass sie theoretisch diese Lizens wieder zurückziehen können), auch für Kommerzielle Produkte, und durch das "selbst anpassen" und "individuell Einstellen" (sofowl Layout als auch Funktionalität) lerne ich, so glaube ich, mahr als bei ner 3rd Party geschichte... Andereseits, Zeit hat ja auch keiner Unbegrenzt^^ Aber danke für den Tipp
  5. Kosinator

    [C#] Search and Replace

    Auch wenns nicht wichtig ist: mach n using um die Reader und Writer, dispose sie am ende, oder mach ähnliches. (Wobei ich mir ehrlich gesagt nicht sicher bin, ob man das in statischen Methoden auch tun muss, aber andrerseits, warum nicht) vllt, noch n try/catch/finally drum, in dem du die Verfügbarkeit deiner Dateien prüfst (im finally dann Closen und disposen) Falls du das ganze jedoch "nur für dich" brauchst, reichts wahrscheinlich so wie es ist, du weißt ja was du tust^^ gruß
  6. Ist das nicht zu viel Overhead? Wenn du weißt, dass nur deine Textboxen das Event feuern, kannst du auch einfach sowas machen: messagebox.show(String.Format((textbox)sender).name + " " + (textbox)sender).text); Oder textbox tbx = (textbox)sender; mb[TabTab]String.Format(tbx.name + " " + tbx.text); Also das selbe wie SeaStorm sagt, nur ohne die if-Abfrage (wenn du sicher bist, dass nut deine textboxen das Event feuern) Alternativ kannst du natürlich auch deine eigenen AventArgs definieren und e.tbName und e.tbText abfragen, dann hast du noch weniger ungenutzte Informationen gebraucht. Aber eigendlich ist das alles völlig ähnlichwertig, den Zeiger eben auf ein anderes Objekt im RAM zu verlegen kostet überall ähnlichviel (glaube ich), und der Compiler (pre-compiler) optimiert eh noch einiges zurecht (schneller und so), also, machs am besten wie SeaStorm geschrieben hat. Vllt. noch ein Debug.Assert(false) im else-Teil (falls doch mal wer anders das Event feuert) oder so.... Ich merke gerade, ich habe zu viel Zeit... muss mal arbeiten, also dann, gruß Kosi
  7. Hallo, Ich wollte fragen, ob vllt. Jemand das Office 2007ner UI (Ribbon) verwendet, und wo man es (legan und für geschäftliche Zwecke) herbekommt. Ich habe folgendes gefunden, ist das das was ich suche, etwa? c++ libs von MS MSDN Dazu stellt sich noch die Frage, es ist beschreiben, dass die Lizens kostenfrei ist (wenn man sich an die Design-Vorgaben hällt), man aber nicht mit Office-Produckten interagieren darf (im Wiki, die Links zu Ribbon findat man das), heißt das ich darf in der Applikation keinen Im/Export zu Excel oder Outlook machen, oder wie ist das zu verstehen? Weiß da jemand mehr drüber ? Vllt. hat sich ja jemand hier mit dem Thema auseinandergesetzt (oder möchte das noch tun)? Wäre über Tips und Hinweise dankbar, gruß, Kosi
  8. Ich glaube ich würde versuchen den Farbwechsel des Gifs über nen Timer zu steuern; Also einfach nen Timer basteln, der den Farbverlauf ändert (nicht das disposen am ende vergessen), vllt sogar auf Farb RBG basis, etwa über Backgroundcolor. Kann aber sein das das so nicht geht, oder zu aufwändig ist. Alternativ (.3,5 hast du ja) WPF, da sind recht nette Animationen schon fast mit drin^^ bzw. 2 HintergrundBilder (rot-gelb im Wechsel mit Opacity (Durchsichtbarkeit)) zu steuern (finde ist n coolerer Effekt^^)
  9. btw, es heißt Löschen von bestehenden Kontakten ^^
  10. Kann man so "Komponenten" von 3t anbietern einfach so benutzen ? (ich denke nein), ich habe ja schon mit meinem Office 2007 - Look & Feel Probleme, weil ich möglicherweise mit Excel - und Outlook interagiere (Outlook - Kontake import z.B., also nichts gravierendes, wie z.B. E-Mail-versand), und es da schon probleme mit der Lizens gibt (die sonst frei ist)... Und leider habe ich noch keine (open source oder zumindest kostenfrei) alternative gefunden... Hat vllt jemand n Tip ? Ja, geht was am Thema vorbei, vllt....
  11. Habe gerade den Thread nochmal gelesen, 0815FIA hatte recht. Dir gings gar nicht um ne Outlookbar o.ä. ^^
  12. Vielleicht hilft die das weiter: OutlookBar , OutlookBar2 oder OutlookBar3 (mein Favorit) Ist aber WPF (also .Net 3.5), weiß nicht ob es "templates" für normale Tab-Controls gibt (.Net 2.x) und ob das funktioniert. Notfalls, ableiten und selbst schreiben... Arbeite an nem ähnlichen Problem.^^ Wenn du ein 2007ner Look&Fell brauchst hier noch n Menü Vorschlag: Gulli hilft^^ edit: der gulli link ist doch nicht soo toll, besser hier: microsoft oder msdn vllt. hilfts /edit Gruß, Kosi p.s.: Sag, obs geholfen hat.
  13. lol, du bist doch offensichtlich im Inet^^ Lad dir nen IE (z.B. den 8ter) runter (aufn Stick oder so, und knall ihn auf dein XP ? Oder ist das Problem irgendwie tiefergehend ? btw: mal in C.\windows (oder dein win-inst.Verzeichniss) mal nach dem ie geschaut ? (vergiss nicht alle dateien anzeigen zu lassen Ansicht-optionen oder so...) oder einfach mal gesucht (auf allen Platten)? Oder nutz direkt nen guten Browser, etwa den Iron (google-chrome ohne Google-Watch) oder nen Firefox ? Wenns nicht hilfreich ist... sag bescheid. p.s.: oder cmd und so: für alle die es interessiert, wie man denn den firefox ohne einen vorinstallierten Browser bekomm: Win-Taste + R ftp releases.mozilla.org anonymous kein passwort^^ ls lcd C:%HOMEPATH%\Desktop get "pub/mozilla.org/firefox/releases/latest-3.5/win32/de/Firefox Setup 3.5.exe" (Quelle: tomshardware)
  14. btw, schöner ist es Das Dictionary ordentlich zu benutzen, also mit GetValueByKey(Key) den dateinamen eines dict. dem anderen übergeben, oder dict schachteln, aber ich denke so wie es ist ist es am leichtesten zu verstehen.
  15. Hast doch schon alles was du brauchst... Hier nochmal schön, aber wehe du streichst Loorbeeren ein^^ using System.Collections.Generic; using System.IO; using System.Windows.Forms; using System; namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); /* Dictionary<string, DateTime> dateinameZeit = new Dictionary<string, DateTime>(); DateTime vorgestern = System.DateTime.Now.Date.AddDays(-2); foreach (string datei in Directory.GetFiles(@"C:\testTemp\")) { dateinameZeit.Add(datei, File.GetLastWriteTime(datei)); } foreach (KeyValuePair<string, DateTime> kvp in dateinameZeit) { if (kvp.Value <= vorgestern) { Console.WriteLine("Datei:" + kvp.Key + "wurde Vorgestern oder früher geändert."); } } dateinameZeit.Clear(); */ // Oder, wenn die Dateinamen = bleiben, und du 2 Ordner (mit =en Dateien) gegeneinander Prüfen willst (syncronisation) string erstesVerzeichniss = @"C:\TestTemp\"; string zweitesVerzeichniss = @"C:\TestTempAndererOrdner\"; Dictionary<string, DateTime> dateinameZeit = new Dictionary<string, DateTime>(); Dictionary<string, DateTime> dateinameZeitAndererOrdner = new Dictionary<string, DateTime>(); if (Directory.Exists(erstesVerzeichniss)) { foreach (string datei in Directory.GetFiles(erstesVerzeichniss)) { dateinameZeit.Add(datei, File.GetLastWriteTime(datei)); } } else { MessageBox.Show("nope"); Application.Exit(); Application.Restart(); } if (Directory.Exists(zweitesVerzeichniss)) { foreach (string datei in Directory.GetFiles(zweitesVerzeichniss)) { dateinameZeitAndererOrdner.Add(datei, File.GetLastWriteTime(datei)); } } else { MessageBox.Show("nope"); Application.Exit(); Application.Restart(); } if (dateinameZeit.Count != dateinameZeitAndererOrdner.Count) { MessageBox.Show("NOPE, keine =e Anzahl von Dateien", "NOPE", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); Application.Restart(); } foreach (KeyValuePair<string, DateTime> kvp in dateinameZeit) { foreach (KeyValuePair<string, DateTime> kvpAndererOrdner in dateinameZeitAndererOrdner) { if (kvp.Key == kvpAndererOrdner.Key) // =e Datei { if (kvp.Value <= kvpAndererOrdner.Value.AddDays(-2)) // Je nachdem, auch .Date und dann ver=en ist sinnvoll { Console.WriteLine("Datei:" + kvp.Key + "mehr als 2 Tage asyncron mit Datei" + kvpAndererOrdner.Key); Application.Restart; } } } } dateinameZeit.Clear(); dateinameZeitAndererOrdner.Clear(); } } } einfach Copy&Paste, musst nur Pfade ändern (erstesVerzeichniss, zweitesVerzeichniss). viel Spaß damit. p.s.: bei Sorgen oder Problemen, einfach melden
  16. Hi bin nicht mit VB beschäftigt, aber prinzipiell habe ich zwei fragen und eine Bitte: 1. Das Dataset (debugger->reinschauen) hat die neue Row "angenommen", richtig? 2. Hast du schreibberechtigung auf der Datenbank, oder vllt. nur Lesezugriff? 3. Kannst du die Exception eben hier posten, dann fällt die Fehlersuce einfacher. Gruß
  17. Jetzt hast du ja n Dictionary (2 Felder - Key(dateinamen) und Value(Datum)) und nicht mehr "nur" ne Liste... Du schaffst das schon^^
  18. Dazu siehe hier (mehr infos) und hier, (tortoisesvn) ist glaube ich sogar unter GNU-Lizens^^, kannst ja mal reinschauen.
  19. DateTime ist der Schlüssen, String (Dateiname) der Wert, tausch es um, (also: Dictionary<string, DateTime> dateinameZeit = new Dictionary<string, DateTime>(); ....) dann solltest du das Problem nicht bekommen, ach ja, und noch n paar Try-catches drum (IO-Exception, z.B. beim löschen einiger Dateien, während das Programm läuft..., oder wegen fehlender zugriffsberechtigung (datei ist gerade in Aktion))
  20. Versuchs mal hier mit: using System; using System.Collections.Generic; using System.IO; using System.Windows.Forms; namespace ExampleZugriffszeiten { public partial class Form1 : Form { public Form1() { InitializeComponent(); Dictionary<DateTime, string> zeitDateiname = new Dictionary<DateTime, string>(); foreach (string datei in Directory.GetFiles(@"C:\testTemp\")) { zeitDateiname.Add(File.GetLastWriteTime(datei), datei); } foreach (KeyValuePair<DateTime, string> kvp in zeitDateiname) { Console.WriteLine("Datei : "+kvp.Value+ " zuletzt geändert um "+kvp.Key); } zeitDateiname.Clear(); } } } Türlich kannst du auch den Namen der Datei(en) als Key nehmen. Viel spaß damit
  21. Quick n dirty, sollte aber für deine Zwecke reichen: using System; using System.Collections.Generic; using System.IO; using System.Windows.Forms; namespace ExampleZugriffszeiten { public partial class Form1 : Form { public Form1() { InitializeComponent(); List<DateTime> lezteZugriffszeitListe = new List<DateTime>(); //foreach (string datei in Directory.GetFiles(File.GetLastAccessTime(Properties.Settings.Ordnername)) foreach (string datei in Directory.GetFiles(@"C:\testTemp\")) { lezteZugriffszeitListe.Add(File.GetLastAccessTime(datei)); } foreach (DateTime zeit in lezteZugriffszeitListe) { Console.WriteLine(zeit.ToString()); } //DateTime lezteZugriffszeit = File.GetLastAccessTime(Properties.Settings.Dateiname); DateTime lezteZugriffszeit = File.GetLastAccessTime(@"C:\TestTemp\test.txt"); MessageBox.Show(lezteZugriffszeit.ToString()); } } } vllt. noch n Using um die Liste oder zumindest Clear() bei mehrfachem gebracuch. Ist nur n Ansatz^^ Gruß, Kosi
  22. ^^ Ne, mache jetzt n String draus, scheint mir vernünftig zu sein. Aber es ist so oder so noch nicht sicher wie genau die Anforderungen sind (die hinter dem stehen), also kann es auch sein dass ich noch n EnumWert mitspeicheren oder gar ne Klasse... Aber danke für den (sinnfreien) Tip.
  23. Hallo, ich möchte gerne ein 3-er-DateTime Array (Von, Bis, AnlageDatum) in meinen Settings speichern (und an anderer Stelle lesen), und weiß nicht wie es geht... Ich kann Als Typen System.DateTime angeben (settings-designer) aber da passt halt nur ein DateTime-Objekt rein. Da diese drei Daten aber logisch zusammengehören, würde ich jene gerne in einem Settings-Punkt speichern. Was geht, aber was ich nicht möchte ist: a) ein Objekt mit drei DateTimes, gettern und settern erstellen, public machen und das Objekt in den Setiings speichern (als Typ), aber das hat zu viel overhead. die DateTime's als string speichern und "auseinandernehmen" wenn ich sie brauche, aber das ist nicht schön. Jemand nen Vorschlag? (zur not geht auch List<DateTime>, aber da ich genau drei DateTimes brache, ist dass IMHO auch zu viel overhead. Danke schonmal, Kosi
  24. Habe ich mir gedacht (so etwa), wollte nur den keks haben... Schön zum Kaffee... Ja, = ist WE schau mal hier rein, weißt du vllt. was der meint?
  25. Wie meinst du das genau? for (int i = 0; i < checkedListBox1.Items.Count; i++) { ((CheckBox)checkedListBox1.Items[i]).Checked = (anDateiGebundenesItem).DateTime.Date <= System.DateTime.Now.Date.AddDays(-2); } so etwas, oder mehr eine "normale Liste" mit Checkboxen davor (nicht empfehlenswert), oder Checkboxen mit Dateinamen im Text-Value ? --- mehr Infos, dann helfe ich gerne (vllt Codeschnipsel?) --- gruß

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