Laden...
P
parrain myCSharp.de - Member
student Giessen Dabei seit 12.09.2012 8 Beiträge
Benutzerbeschreibung

Forenbeiträge von parrain Ingesamt 8 Beiträge

16.11.2012 - 09:51 Uhr

Hallo zusammen,

ich habe ein problem bei meinem Code, und zwar ich bekomme die Fehler meldung: "Die Eingabezeichenfolge hat das falsche Format". und zwar ich versuche dezimal werte zum Heaxl werte umzuwandeln um die als Array einzugeben damit ich ein CRC rechnung durchführen kann. Die fehler meldung bekomme ich an der Zeile "int sourceadd".
Ich gehe davon aus, dass der gelesen wert dafür, der 2000(dezimal) ist, das Problem löst. da 2000(dez) = 07D0(hex) ist.
auch wenn ich Uschort und byte benutze funktioniert es nicht??
Habt ihr vielleicht eine lösung??


public bool Checker(DataRow dr)
        {
            if ((dr["F_PAR_VERSION"].ToString().Length > 0) && (dr["F_BLOCK_ID"].ToString().Length > 0) && (dr["F_SOURCE_ADD"].ToString().Length > 0) && (dr["F_DEST_ADD"].ToString().Length > 0) && (dr["F_WD_TIME"].ToString().Length > 0))
            {
                return true;
            }
            return false;
        }

        public String Calculate(DataRow dr)
        {
            if (Checker(dr))
            {
                int parversion = Int32.Parse(Convert.ToInt32(dr["F_PAR_VERSION"]).ToString("X"));
                int blockId = Int32.Parse(Convert.ToInt32(dr["F_BLOCK_ID"]).ToString("X"));
                int sourceadd = Int32.Parse(Convert.ToInt32(dr["F_SOURCE_ADD"]).ToString("X"));
                int destadd = Int32.Parse(Convert.ToInt32(dr["F_DEST_ADD"]).ToString("X"));
                int wdtime = Int32.Parse(Convert.ToInt32(dr["F_WD_TIME"]).ToString("X"));

                int[] intArray = new int[] {parversion, blockId, sourceadd, destadd, wdtime};

                int crcwert = CRC_Berechnung.CRC16(intArray);

                return String.Format("{0:X}", crcwert);                
            }
            return null;
        }

Grüße

10.11.2012 - 19:38 Uhr

hi pdelvo,

dein Code ist super 😃
danke

10.11.2012 - 16:18 Uhr

Hallo zusammen,

ich hatte mal gefragt wie man die IP-Adresse in einen Masked Text box einstellen kann. Ich habe mittlerweile eine meiner Meinung nach gute Lösung gefunden, die ich euch auch gern zeigen möchte. hoffe es könnte euch helfen 🙂

Anstatt einen Masked text Box benutze ich einen einfachen text box, und dazu Regular Expressions wie folgt:


 private void txbRouter_TextChanged(object sender, EventArgs e)
            {
                var r = new Regex(@"\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b");

                if (r.Match(txbRouter.Text).Success)
                {
                    txbRouter.BackColor = Color.White;
                }
                else
                {
                    txbRouter.BackColor = Color.PaleVioletRed;
                }
            }

man braucht nicht überheblich zu sein, wenn einfache frage auftauchen...
Grüße 🙂 👍

18.09.2012 - 11:33 Uhr

Hallo zusammen,

ich habe mich angestrengt und meinem Code soweit geschrieben, dass ich jetzt versuche aus einer 2. Datei infos aus einer spalte zu nehmen und in meiner erstellten Tabelle einzufügen. (tabelle wurde ausgefüllt von eine 1. Datei, fehlende spalte sollte von der zweite Datei eingefügt).

habe mir dann überlegt das PrimaryKey zu benutzen, was denke ich mjir gelungen ist..Jedoch ich bekomme folgende Fehler Meldung:

Fehlermeldung:
Die Spalte 'BMK' hat die Einschränkung, dass sie eindeutig sein muss. Der Wert '-FC1' ist bereits vorhanden.

ich habe auch gemerkt im Debbuger, dass es für die 2. liste der Pfad der 1. liste weiter benutzt obwohl ich das schon definiert habe wie folgt:


            dtWorkTable = Text.ImportGeräteliste(dtWorkTable, xd.SelectSingleNode("Configuration/FileDirectory/txbGeräteliste").InnerText.ToString());  // Pfad zu Geräteliste
            dtWorkTable = Text.ImportZuLiVCAM(dtWorkTable, xd.SelectSingleNode("Configuration/FileDirectory/txbZuLiVCAM").InnerText.ToString());        // Pfad zu ZuLiVCAM

mein Code sieht so aus:


public DataTable ImportGeräteliste(DataTable dtWorkTable, string path)
        {

            if (File.Exists(path))                                                  // Überprüfen ob Datei existiert
            { 
                using (StreamReader sr = new StreamReader(path, Encoding.Default))
                { 
                    string line;                                                    // 
                    while ((line = sr.ReadLine()) != null)                          //  Schleife
                    {                        
                        string[] strS = line.Split(new Char[] { '§' });             // Spalten Trennung
 
                        if (strS[0].Trim() != "")                                  // Leere Zeile ausschneiden    if (!string.IsNullOrEmpty(strS[0]))
                        {
                            DataRow row = dtWorkTable.NewRow();                     // Neue Zeile Definieren

                            row["Hersteller"] = strS[5].Trim();                     // Einträge einfügen   und Leerraumzeichen entfernen mit Trim()
                            row["Bestellnummer"] = strS[6].Trim();                  // Einträge einfügen  
                            row["Gerätetyp"] = strS[7].Trim();                      // Einträge einfügen  
                            row["BMK"] = strS[3].Trim();

                            dtWorkTable.Rows.Add(row);                              //  Einfügen von Reihen
                        }
                    }
                }
                return dtWorkTable;
            }
            else
            {
                MessageBox.Show("Datei nicht gefunden");                            // Fehler Meldung falls Datei nicht gefunden ist
                return null;
            }
        }


         public DataTable ImportZuLiVCAM(DataTable dtWorkTable, string path)
         {

             if (File.Exists(path))                                                   // Überprüfen ob Datei existiert
             {
                 using (StreamReader sr = new StreamReader(path, Encoding.Default))
                 {
                     string line;                                                     // 
                     while ((line = sr.ReadLine()) != null)                           //  Schleife
                     {
                         string[] strS = line.Split(new Char[] { ';' });              // Spalten Trennung

                         if (strS[0].Trim() != "")                                    // Leere Zeile ausschneiden    if (!string.IsNullOrEmpty(strS[0]))
                         {                                                      
                             DataRow row = dtWorkTable.Rows.Find(strS[9]);            // Finde Spalte mit BMK
                             if (row != null)                                         // Überprüfen 
                             {
                                 row["Ort"] = strS[8];                                // Eintrag Ort einfügen                                  
                             }
                             else
                             {
                                 MessageBox.Show("Betriebsmittelkennzeichen nicht gefunden");               // Fehler Meldung falls BMK nicht gefunden ist
                             }
                         }                       
                     }
                 }
                 return dtWorkTable;
             }
             else
             {
                 MessageBox.Show("Datei nicht gefunden");                             // Fehler Meldung falls Datei nicht gefunden ist
                 return null;
             }
         }

hat jemand das fehler vielleicht entdeckt???
der PrimaryKey habe ich so gemacht:


            
            DataColumn[] PrimaryKeyColumns = new DataColumn[1];
            PrimaryKeyColumns[0] = dtWorkTable.Columns["BMK"];
            dtWorkTable.PrimaryKey = PrimaryKeyColumns;

12.09.2012 - 14:19 Uhr

Es Tut mir Leid..Danke

Bredator danke für dein Tipp 😉 es laüft jetzt.

12.09.2012 - 14:12 Uhr

😦 nicht böse sein MrSparkle, ich kamm nicht weiter deshalb habe ich so gefragt..wie schon gesagt ich beschäftige mich seit kurzem mit C#. danke trotzdem für deine Antwort.

12.09.2012 - 14:02 Uhr

Danke trib für deine Schnelle antwort..

ich habe schon im Hauptprogramm eine Tabelle erstellt:

DataTable dtWorkTable = new DataTable(); ....

jetzt möchte ich aus einer Text datei daten auslesen und in der Tabellen dtWorkTable einlesen, und zwar mit dem Stream Reader..ich habe dann einen neuen Projekt geöffnet den ich Import genannt habe, und das so angefangen wie du es schon gesehen hast. Danke nochmal für die Infos 😃

Datei sieht so aus:

==166-70-SA21 §=000EEA011 §+H011 §-EA1 §1 §Rittal §SZ4140.830 §SZ4140.830 §Systemleuchte LED

über einen bsp. Code werde ich sehr dankbar sein. und Danke im voraus

12.09.2012 - 13:41 Uhr

hallo zusammen,

ich beschäftige mich seit kurzem mit C# für meine Diplom arbeit..ich möchte eine Text datei in einer Tabelle einlesen, und ich weiss leider nicht wie ich das machen kann. werde mich freuen wenn jemand mich weiter helfen kann. ich habe erst mal so angefangen:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Data;


namespace HWG2
{
    class Import
    {

        public DataTable ImportDaimlerBR205(DataTable dtWorkTable, string path)
        {

            try
            {
                if (File.Exists(path))
                {
                    File.Delete(path);
                }

                List<string> list = new List<string>();               // Liste erstellen
                using (StreamReader sr = new StreamReader(path))
                {
                    String line = sr.ReadToEnd();        // Lies bis ende
                    while (!sr.EndOfStream)              // Schleife
                    {
                        list.Add(line);                  // in der liste einfügen
                        Console.WriteLine(line);         // schreiben
                    }
                }
            }

            catch 
            {
            }                        
          
            return dtWorkTable;
        }
    }
}