Laden...
P
Pacher
myCSharp.de - Member
6
Themen
18
Beiträge
Letzte Aktivität
vor einem Jahr
Dabei seit
07.01.2015
Herkunft
Austria
Erstellt vor einem Jahr

Hallo Abt, ok... na dann muss ich mich wohl damit vorerst mal abfinden. 
Aber vielen Dank für's testen und deine Antworten!
LG

Erstellt vor einem Jahr

Hallo Th69, ja leider, auch das hab ich schon probiert... ohne Erfolg. 
Dachte eigentlich, dass das Betriebssystem (Windows) erkennen sollte ob On oder Off des Druckers!
Aber Danke erstmal für deine Antwort.
LG

Erstellt vor einem Jahr

Hallo... versuche schon eine Weile ein eigentlich wohl banales Problem zu lösen, das mir aber schon graue Harre bereitet!

Möchte in meinem C# Programm vor dem Drucken prüfen, ob der Standard Netzwerkdrucker (WLAN) überhaupt eingeschaltet ist.

Hab schon so einiges aus dem Netz probiert, leider immer ohne Erfolg... egal ob on oder off, bekomme immer die gleichen Werte auf meinem System (Windows 11 und Epson ET-2820) retour.

Hat hier vielleicht jemand eine Lösung für mich?

Nachfolgend mein Versuchs Source:

static void PrintProps(ManagementObject o, string prop)
{
   try { Console.WriteLine(prop + "|" + o[prop]); }
   catch (Exception e) { Console.Write(e.ToString()); }
}

static void Main(string[] args)
{
   ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Printer where Default=True");

   foreach (ManagementObject printer in searcher.Get())
   {
       string printerName = printer["Name"].ToString().ToLower();
       Console.WriteLine("Printer :" + printerName);
       PrintProps(printer, "Caption");
       PrintProps(printer, "ExtendedPrinterStatus");
       PrintProps(printer, "Availability");
       PrintProps(printer, "Default");
       PrintProps(printer, "DetectedErrorState");
       PrintProps(printer, "ExtendedDetectedErrorState");
       PrintProps(printer, "ExtendedPrinterStatus");
       PrintProps(printer, "LastErrorCode");
       PrintProps(printer, "PrinterState");
       PrintProps(printer, "PrinterStatus");
       PrintProps(printer, "Status");
       PrintProps(printer, "WorkOffline");
       PrintProps(printer, "Local");
       Console.ReadKey();
   }
}
Erstellt vor 3 Jahren

Hallo @Abt!
Oh vielen Dank für die ausführliche Antwort...beruhigt mich ungemein, dass ich wieder auf this.Close zurückkehren kann!
Wo hab ich das Dispose her, naja es gibt auf YouTube unzählige "Lehr-Videos" wo es so gehandhabt oder vorgeschlagen wird!
Es hat wohl jeder seinen eigenen Programmierstil...!

Nochmals Danke für die schnelle Antwort!
LG Pacher

Erstellt vor 3 Jahren

Hallo!
Es wird ja öfters empfohlen eine Winform mit this.Dispose() zu schließen, damit alles aufgeräumt wird.
Es blitzt/flackert jedoch kurz unangenehm, das bei this.Close() nicht auftritt.
Meine Frage daher..., gibt es eine Möglichkeit beides unter einem Hut zu bringen oder wird das Dispose eh überbewertet?
Es gibt ja auch noch:


using(Form f = new Form())
{
     f.Show();
}

Wird auch hier alles "aufgeräumt"?
Sorry, aber mit Speicherverwaltung hab ich mich noch nicht näher beschäftigt...

LG Pacher

Erstellt vor 3 Jahren

@Abt
Tut mir wirklich leid und entschuldige mich auch dafür, nicht gleich mit dem Wissen wie du hast, auf die Welt gekommen zu sein...

War das jetzt wirklich notwendig?
Genau diese Postings vermiesen es einem Anfänger, hier "dumme" Fragen zu stellen bzw. auf ein wenig Hilfestellung zu hoffen!!

Erstellt vor 3 Jahren

Hallo @T-Virus!
Da hast mich falsch verstanden, bin über jeden Hinweis dankbar und hab das Beispiel auch mit den SQParameter nachgebaut, läuft natürlich auch bestens.
Vordringlich war mir aber einen Lösungsansatz bzgl. dem SQLString/Formatierung zu finden.... geb da bei einem Problem nicht so schnell auf!

Hab mich auch heute schon mit dem SQLite Thema beschäftigt, dass ich so nicht kannte - der erste Eindruck gefällt mir wirklich gut, da es meinen Anforderung
an möglichst Portabel und keine "Server" Konfiguration, dem einer Access Datenbank entspricht. Syntax ist ja eh sehr ähnlich.

Bzgl. Access hatte ich bisher kaum Probleme, vorausgesetzt das "Microsoft Access Database Engine 2010 Redistributable" wurde beim Anwender installiert!
Finde die Tabellenerstellung schon wesentlich einfacher, aber wie man es eben gelernt oder gewöhnt ist!
Schön jetzt eine ev. bessere Alternative zu kennen, bin eh für "open your mind"...

Also besten Dank
LG

Erstellt vor 3 Jahren

Hallo und ein herzliches Dankeschön euch beiden für die profesionellen Antworten.
Wie gesagt ich befinde mich noch im Anfängerstadium und muss mich erst von unten nach oben arbeiten um alles zu verstehen.
Der Hinweis auf SqlParameter war für mich schon mal ein zielführender Hinweis, alles andere ist für mich noch mit Kanonen auf Spatzen schießen bzw.
muss ich mich erst heranarbeiten. Von Drei-Schichten-Architektur bin ich noch weit entfernt und muss man auch mal erst verstehen....

Beschäftige mich derzeit noch mit kleineren Anwendungen (Adress-, Vereinsverwaltung etc.) da finde ich, ist eine Access "Datenbank" vollkommen ausreichend und
im Privatbereich möchte sich nicht gleich jeder mit Server und deren Konfiguration beschäftigen!
Hier hab ich eine '.exe und eine *.accdb und gut iss es.
Es ging mir darum, eine Lösung zu finden dieses Beispiel auch im deutschsprachigen Raum unkompliziert und ohne viel Aufwand lauffähig zu bekommen.
Und ja viele Wege führen nach Rom...

Mittlerweile hab ich eine Lösung gefunden, auch wenn ich den SQL String ziemlich "vergewaltigen" musste. Finde das DateTimePicker.Value als das eigentliche Problem, mit wenig Aufwand umgeschrieben, funtioniert es auch tadellos.
Alles weitere wie mit dem SQL Injection muss ich mich noch hineinarbeiten!

Hier meine kurzfristige Lösung:

var dtp1 = this.DateTimePickerFrom.Value;
var dtp2 = this.DateTimePickerTo.Value;
sql = "Select * from tblUser where EntryDate ≥ #" + dtp1.Year + "/" + dtp1.Month + "/" + dtp1.Day + "# and EntryDate ≤ #" + dtp2.Year + "/" + dtp2.Month + "/" + dtp2.Day + "#";

Aber nochmals vielen Dank für die Hinweise, werde mich damit beschäftigen!
LG Pacher

Erstellt vor 3 Jahren

Hallo!
Beisse mir hier an einem simplen Beispielprogramm schon seit Stunden die Zähne und finde einfach den Fehler nicht!
Habe schon zig Format Varianten durchprobiert, aber scheitere immer wieder an Datentypenkonflikten...
Vieleicht mag jemand mal kurz drüber schauen bzw. mir den entscheidenden Tipp geben und... bitte nicht prügeln, befinde mich noch im Anfängerstadium!
Wie auch aus dem Sourcecode erkennbar - C# und Access Database!
(Ja es gibt eine Unmenge an Videos und Tipps im Web, aber all diese sind mit unserem "Deutschen" System nicht lauffähig.)

Vorab schon Mal eine kleines Dankeschön!
LG

Erstellt vor 7 Jahren

Leider bin ich mit dem Debugger noch nicht so auf du und du!! 😉

Dafür gibt es ja den von p!lle verlinkten Artikel. Wie willst du denn Programme schreiben, wenn du den Code nicht debuggen kannst?

Deshalb hab ich ja auch geschrieben "noch nicht....", verdiene mit C# ja nicht meine Brötchen, daher möge man es mir nachsehen das ich VS 2015 nicht im FF beherrsche...
sonst hätt ich mir ja auch die Frage erspart!!

Solche Lehrmeistersprüche sind ja nicht unbedingt sehr motivierend...., aber trotzdem Danke an alle hier für die Hinweise,
besonders an @Khalid!

Hab's für mich jetzt auch gelöst...


        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if ((e.Control & e.Shift) && e.KeyCode == Keys.Oem102)
            {
                MessageBox.Show("Ctrl + Shift + >");
            }
            else if ((e.Control) && e.KeyCode == Keys.OemBackslash)
            {
                MessageBox.Show("Ctrl + <");
            }
        }


LG Pacher