Laden...

Forenbeiträge von marian04 Ingesamt 7 Beiträge

26.07.2013 - 23:39 Uhr

ah sorry korrektur. Sieht genau NICHT so aus wie bei mir... Das ist aktiviert. Hatte mir dazu ein Tutorial durchgelesen wie es geht.

Deswegen bin ich verwundert wieso es über c# nicht geht

Gruß

26.07.2013 - 23:11 Uhr

Das Bild sieht genauso aus wie bei mir.

Den Port habe ich in keiner Firewall geöffnet, da ich sie ganz unbedacht einfach mal deaktiviert habe, damit ich nicht auf solche Probleme stoße.

Der Port ist auch auf Standard gestellt.

Beste Grüße,

Marian

26.07.2013 - 22:17 Uhr

Hallo Leute,

ich muss mal eine Frage in die Runde stellen, da ich ein Problem mit einem SQL Connection String habe.

Lokal auf meinem PC habe ich einen **SQL EXPRESS 2008 R2 **Server installiert.

Auf diesen Server greife ich über diesen String zu:


 var con = new SqlConnection(@"Data Source=marian-PC\SQLEXPRESS;Initial Catalog=hospiz; User ID=admin1;Password=admin1;");

Dies funktioniert auch sehr gut. Nun wollte ich das Ganze natürlicih auch über das Netzwerk machen, damit mein Programm auf mehreren PC's laufen kann und alle auf die gleiche Datenbank zugreifen.

Also habe ich am Server Remote Zugriff aktiviert Via TCP/IP und bei den Eigenschaften das listening auf 127.0.0.1 und auf 195.168.178.5 gesetzt.

Dann habe ich diesen Connection String ausprobiert, leider führt dieser aber nicht einmal auf dem PC zum erfolg, auf dem der Server läuft 😦


var con = new SqlConnection("Data Source=192.168.178.5,1433;Network Library=DBMSSOCN;Initial Catalog=hospiz;User ID=admin1;Password=admin1;");

Ich wäre sehr dankbar, wenn mir jemand helfen könnte.

Beste Grüße,

Marian

02.12.2011 - 11:54 Uhr

Okay ich habe Image.Dispose() in meine Schleife hinzugefügt und das Problem war sofort gelöst.

Vielen, vielen Dank.
Das hat mir den Tag gerettet.

Viele Liebe Grüße

Marian

02.12.2011 - 11:23 Uhr

Hallo Leute,

da ihr mir schon zwei mal mit sehr guten Tipps und Tricks weitergeholften habt, muss ich mich in meiner Verzweiflung nochmal an euch wenden .

Ich habe ein kleines Tool geschrieben, welches Dateien auf ein Netzwerklaufwerk kopiert und von diesem wieder liest und dabei die Zeit misst. Und die kopierten Dateien wieder löscht.
Dies klappt auch alles wunderbar und hat auch bis heute Morgen wunderbar funktioniert.

Nun wollte ich das Programm heute sozusagen fertig machen und nun bekomme ich den Fehler,
dass ich nur 6 der 10 Dateien löschen kann, da auf die letzten Dateien noch zugegriffen wird.(vhost-clr2.exe)

Der oben genannte Prozess ist mein Programm, wenn ich es im mit Visual Studio ausführe.
Beende ich mein Programm kann ich die Dateien auch löschen.

Leider verstehe ich so gar nicht wieso, es möglich ist testbild 0-5 zu löschen aber 6,7,8,9 nicht.

Unten seht ihr den Code, ich bitte die vielleicht etwas wunderliche Kommentierung zu entschuldigen, da ich mich gerade am Anfang meiner Ausbildung befinde und das noch ein wenig üben muss.

Mit freundlichen Grüßen,

Marian Schneider

Code zum löschen der Dateien

 
        private void delete_Files()
        {

            try
            {
                foreach (string path in Directory.GetFiles(_ZielNetzwerk, "test*.bmp", SearchOption.AllDirectories))
                    File.Delete(path);
                Directory.Delete(_ZielNetzwerk);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message );
            }
           
        }

Code, der die Dateien erstellt :


private void Ram_verfahren(object sender, DoWorkEventArgs args)
        { 
            
            
            MemoryStream TempStream = new MemoryStream();       // initzialisierung eines Memorystream, um Bilddatei in Arbeitsspeicher zu laden 
            byte[] ImageInBytes;                                // BysteArray um Bilddatei zu zerlegen und in Bytes zu speichern 

            MemoryStream TempStream2 = new MemoryStream();
            byte[] ImageInByte2;

            Properties.Resources.test.Save(TempStream, System.Drawing.Imaging.ImageFormat.Bmp);     // Laden der Bilddatei aus den Resources und Übergabe an den MemoryStream
            ImageInBytes = TempStream.ToArray();    // Speichern der Bilddatei in BysteArray

            DateTime now = DateTime.Now;            // Abrufen der Akutellen Systemzeit, um später einen Timespan zu berechnen 
            try // Ablauf in Try / CatchBlöcke geschachtelt, um mögliche Fehler abzufangen 
            {
                //Schleife welche den Vorgang des kopierens auf das H:\ Laufwerk 10 mal wiederholt
                for (int i = 0; i < 10; i++)
                {
                    string Dateiname = "test" + i + ".bmp";
                    string datei = _ZielNetzwerk + Dateiname;
                    ByteArrayToFile(datei, ImageInBytes);       // Rückumwandlung des ByteArrays in ein File 
                }
                
            }
            catch(Exception ex) 
            {
                MessageBox.Show(ex.Message);
            }
            try
            { // Schleife welche die Testdatei aus dem Laufwerk H:\ in den Arbeitsspeicher kopiert.
                for (int y = 0; y < 10; y++)
                {
                    Bitmap Image1 = (Bitmap)Image.FromFile(_ZielNetzwerk + "test" + y + ".bmp"); // Bilddatei wird vom Laufwerk geladen und in eine Variable übergeben 
                    Image1.Save(TempStream2, System.Drawing.Imaging.ImageFormat.Bmp); // Image wird an den MemoryStream übergeben 
                    ImageInByte2 = TempStream2.ToArray();                   // Image wird als ByteStream gesichert
                }
                
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            
            TimeSpan _TimeResult = DateTime.Now - now; // Stoppen der Zeit, Berechnung der benötigten Zeit

            // Umrechnung der Zeit in HH:MM:SS:MS --> Zeit in Sec.Milliseconds(MS) 
            double _Hour = _TimeResult.Hours * 3600;
            double _Min = _TimeResult.Minutes * 60;
            double _seconds = _TimeResult.Seconds + _Hour + _Min;
            double _milliseconds = _TimeResult.Milliseconds;

            _Timeinterval = Convert.ToString(_seconds + "." + _milliseconds);   // Übergabe des Zeitintervalles an einen String und Zusammensetzung des Strings aus Sekunden und MIllisekunden 
            args.Result = _Timeinterval;                                        // Rückgabe des Backgroundworkers 
            computername = System.Windows.Forms.SystemInformation.ComputerName.ToString();      // Liest den Computernamen aus
        }

20.11.2011 - 16:03 Uhr

Hallo,

ich habe ein Programm geschrieben, welches die Netzwerkauslastung auf eine bestimmte Art und Weise testet.
Das Programm erzeugt ein Protokoll in Form einer Textdatei, nun möchte ich diese Textdatei ausdrucken.

Dies war auch Anfangs kein Problem, aber leider nur auf dem Standarddrucker und das Sofort, ohne das man wählen konnte ob man mehrere Exemplare benötigt oder ähnliches.
Nun wollte ich ein PrintDialog nutzen, um solche Dinge abzufragen, aber leider schaffe ich es nicht dann die Datei zu drucken, da ich es nicht verstehe wie ich dem Drucker nun mitteilen soll welche Datei gedruckt werden soll.


FileInfo fileInfo = new FileInfo(fullPath);

    if(!fileInfo.Exists)
    {
        throw new FileNotFoundException();
    }

    Process printProcess = new Process();
    printProcess.StartInfo.FileName = fullPath;
    printProcess.StartInfo.UseShellExecute = true;
    printProcess.StartInfo.Verb = "print";
    printProcess.Start();
}

Dieses Snippet habe ich als erstes verwendet.

Nun ein eigenes geschrieben :


 PrintDialog druckDialog = new PrintDialog();

            PrintDocument druckDoku = new PrintDocument();

            druckDoku.DocumentName = "Print Document";

           druckDialog.Document = druckDoku;

           druckDialog.AllowSelection = true;

            druckDialog.AllowSomePages = true;

 if (druckDialog.ShowDialog() == DialogResult.OK)
               druckDoku.Print();

Das Ergebnis ist eine leere Seite, dies leuchtet mir auch ein, aber leider verstehe ich nicht, wie ich das ändern kann.

Über Hilfe würde ich mich sehr freuen 😃

Liebe Grüße

17.11.2011 - 14:07 Uhr

Hallo ,

ich bin neu hier.

Ich habe ein kleines Programm geschrieben, welches eine Bilddatei 10 mal in einen bestimmten Ordner kopiert und dann wieder löscht( Sinn dahinter ist eine Zeitmessung).
Nun möchte ich aber nicht immer 2 Dateien losschicken, wo der Pfad dann auch noch genau stimmen muss usw.
Deswegen bin ich auf der Suche nach einer Lösung, die Datei direkt in meine Exe einzubinden und von dort aus zu kopieren.

Sozusagen :

  • Starte Programm
  • Entpacke Bild
    -kopiere Bild

Ist sowas überhaupt möglich ?

Liebe Grüße