Laden...

Forenbeiträge von Max1809 Ingesamt 67 Beiträge

28.08.2011 - 21:12 Uhr

Hi,

eine kurze Frage am späten Abend. 😉

Wie kriege ich es hin, dass wenn ich über ein miniatur Bild von mir, sich der Cursor zu so einer Lupe ändert ?

Alles funktioniert, es öffnet sich ein neues Fenster, das Bild wird größer dargestellt.

Aber das mit den Cursorn klappt nicht. Ich will halt das beim kleinen Bild eine Lupe zum Vergrößern des Bildes auftaucht und beim großen Bild eine Lupe zum verkleinern des Bildes auftaucht.

Ich habs bisher über das Move-Event des Image Controls gemacht. Da drin will ich den Cursor ändern.

Danke schonmal.

PS: ZoomIn und ZoomOut habe ich schon als PNG Dateien da.

05.05.2011 - 22:41 Uhr

Okey.

Ich versuchs jetzt.

Bin noch net so weit in C#, jedoch dachte ich das wird so schon funktionieren. 😉

Jeder weitere ( am besten auch erklärte ) Vorschlag wäre sehr nett 😉

05.05.2011 - 21:11 Uhr

Hi,

ich habe ein Projekt. Und da würde ich jetzt gerne bei jedem Start ein neues Fenster öffnen mit einer kleinen Meldung wo aktuellen News drinstehen ( Programmbezogene ).

Ich dachte halt, dass ich eine .txt File auf einem FTP Server habe.

Diese immer aktualisiere und der Client ( Benutzer ) halt bei jedem Progrmmstart sich die .txt runterladet und ich dann halt die .txt mit Substring richtig in die TextBox auf dem Formular unterbringe. ^^

Benutze WPF.

Wie kann ich das realisieren? ^^

24.03.2011 - 07:31 Uhr

Hi,

Und ja, ich habe gegoogelt, aber dazu leider nichts passendes gefunden.

Mein Problem ist, ich weiß nicht so recht wie ich eine Hilfe-Datei erstellen kann ( muss ich die selber in HTML schreiben oder gibt es fertige "Umgebungen" dafür ), womit ich sie erstellen.

Also eher grundlegende Fragen.

Arbeite mit Visual Studio 2010 ( falls das eine Rolle spielt ). Ich hoffe jemand kann mir ein Programm empfehlen ( oder eben nicht ?) womit ich sowas erstellen kann - falls man sowas mit Visual Studio verbinden kann, ist dieses nicht notwendig.

12.03.2011 - 23:37 Uhr

Guten Abend,

ich habe eine Frage, kann ich es irgendwie so einstellen, dass etwas bestimmtes passiert für jede Sekunde im Timer. Also Interval ist gesetzt.

Ich will halt eine bestimmte Zeit zurückzählen. Z.b. 100 und dann pro Sekunde 1 subtrahieren.

11.03.2011 - 09:07 Uhr

Habe in der Zeit folgenden Code geschrieben, probiere das mal mit IEnumerable.

     private List<string> entferneDoppelteEintraege(List<string> ungueltigeBezeichnungen)
      {
         List<string> gueltigeBezeichnungen = new List<string>();
         List<string> list = new List<string>();

         foreach (string bezeichnung in ungueltigeBezeichnungen)
         {
            if (!list.Contains(bezeichnung))
            {
               list.Add(bezeichnung);
               gueltigeBezeichnungen.Add(bezeichnung);
            }
         }

         return gueltigeBezeichnungen;
      }
11.03.2011 - 08:39 Uhr

Hi,

ich habe eine LinQ Abfrage:

         IQueryable<DtoInventar> abfrage = from inventar in dmc.DbInventare
                                           select inventar;

Diese gibt mir jedoch alle Bezeichnungen. Es gibt aber in der Datenbank Datensätze mit doppelter Bezeichnung die für mich unwichtig in diesem Fall ist. Ich möchte in meiner Abfrage jeweils nur eine Bezeichnung, nicht die Bezeichnung doppelt und vierfach usw.

Wie baue ich sowas ein?

03.03.2011 - 09:18 Uhr

Hi,

ich habe das Problem das mein Programm immer eine User Config erstellt, und in dieser immer eine Versionsnummer gespeichert ist, und eben diese beim Deinstallieren nicht gelöscht wird.

Aber das ist mein Problem. Ich speichere mir die aktuelle Versionsnummer in den Settings - gut. Sobald eine neuere Version installiert wird, hollt das Programm die Versionsnummer aus der User.config und vergleicht diese mit der aktuellen Versionsnummer der exe. Wenn nicht gleich, wird ein Backup der Datenbank erstellt.

Sprich bei jeder Installation einer neueren Version soll ein Backup erstellt werden.

Aber wenn ich schonmal eine Versions 0.2 installiert hatte, ist die User.config ja noch da. Zu testzwecken habe ich Version 0.2 deinstalliert. Ich installiere Version 0.2 nochmal, und installiere daraufhin gleich wieder die Version 0.3.

Normalerweise müsste jetzt Defaultwert der Versionsnummer 0.0 sein. Aber das ist nicht der Fall, da ja 0.2 schonmal installiert war übernimmt er nun wieder 0.2 als Versionsnummer - und 0.2 is dann "alteVersionsnummer" und aktuelle ist selbstverständlich auch 0.2. 😦

Worum es also geht ist :
**
Kann ich die User.config garnicht erstellen lassen? Oder kann ich sie bei der Deinstallation löschen lassen? **

01.03.2011 - 14:02 Uhr

Okey Fehler gefunden.

Er hat immer die Versionsnummer aus der user.config genommen. Und dort war sie halt falsch, weil die user.config nicht gelöscht wird bei der Deinstallation.

01.03.2011 - 09:16 Uhr

Guten Morgen,

ich habe da eine Frage - ich habe folgendes Problem.

Ich speichere mir in den Settings eine DbVersion standartmässig auf 0.0.0.0 . Dann wird im Code die aktuelle Version

  Assembly assem = Assembly.GetEntryAssembly();
         AssemblyName assemName = assem.GetName();
         string aktuelleVersion = assemName.Version.ToString();

Mit der "altenVersion"

      string alteVersion = adkomm_mobil.Properties.Settings.Default.DbVersion;

Doch hier kommt auch schon der Fehler. Bei mir ist in diesem Fall die "alteVersion" 0.2.0.0 wie eben die aktuelle. Obwohl standartmässig 0.0.0.0 eingegeben wurde und nirgendwo anders belegt.

25.02.2011 - 12:46 Uhr

Jawohl. Danke sehr ...

Es lag daran das die Methode CreateText nicht nur die txt.Datei erstellt sondern sie auch öffnet und eben verwendet. Habe dann den Stream davon einfach geschlossen und nun gehts. Danke nochmal.

25.02.2011 - 08:26 Uhr

Guten Morgen,

ich habe ein Problem wo ich net richtig weiter komme ... und zwar habe ich eine Instanzierung der Klasse StreamWriter und in dieser gleich ein File.AppendText mit eingebaut. Den Pfad habe ich auch zur TextDatei . Soweit so gut ...

Nur sagt er mir jedesmal wenn ich das Programm NEUSTARTE und die Config Dateien lösche das die txt.Datei schon verwendet wird. Aber eben nur dann wenn ich das erste mal das Programm starte nachdem alle Config Dateien weg sind ( die werden immer angelegt wenn sie nicht vorhanden sind )

Sobald ich dann den Fehler wegklicke und dann das Programm nochmal starte, funktioniert alles ... sehr schade eig.

Ich kann natürlich nicht meinen ganzen Code schicken ist total viel ... aber das Stückchen wenigstens :

 private void ausgebenTextDatei(string ausgabeText)
      {
         if (!string.IsNullOrEmpty(this.vollerPfad))
         {
            if (File.Exists(this.vollerPfad))
            {
               StreamWriter streamWriter = File.AppendText(this.vollerPfad); // funktioniert nicht
               if (streamWriter != null)
               {
                  streamWriter.WriteLine(ausgabeText);
                  streamWriter.Close();
               }
            }
         }
      }

Ansich eig. nix schlimmes, aber es kommt immer diese Fehlermeldung :

Fehlermeldung:
Der Prozess kann nicht auf die Datei "C:\ProgramData\adKomm\mir\prot_mir.txt" zugreifen, da sie von einem anderen Prozess verwendet wird.

Gibt es typische Fehler die passieren ? Mit AppendText ? Wo könnte ich nachschauen ?
Wann gilt den die File als "verwendet" ?!

18.02.2011 - 13:37 Uhr

Okey, habs nun soweit :

 public void einlesen(string zielPfad)
      {
         AdConnectionStringBuilder connectionStringBuilder = new AdConnectionStringBuilder();
         SqlCeConnection sqlConnectionQuelle = new SqlCeConnection();
         sqlConnectionQuelle.ConnectionString = connectionStringBuilder.gebenConnectionStringFuerBackupQuelle();

         //using (DatenModell db = new DatenModell(sqlConnectionQuelle.ConnectionString))
         //{
         using (sqlConnectionQuelle)
         {
            sqlConnectionQuelle.Open();
            DtoInventar inventar = new DtoInventar();
            string cmd = "SELECT * FROM DbInventare";
            SqlCeCommand sqlCommand = new SqlCeCommand(cmd, sqlConnectionQuelle);
            SqlCeDataReader sqlReader = sqlCommand.ExecuteReader();

            while (sqlReader.Read())
            {
               inventar.ID = sqlReader.GetInt32(0);
               inventar.BEZEICHNUNG = sqlReader.GetString(1);
               inventar.MENGE = sqlReader.GetString(2);
               inventar.ETIKETT = sqlReader.GetBoolean(3);
               inventar.CODE = sqlReader.GetString(4);
               inventar.NUMMER = sqlReader.GetString(5);
               inventar.IDSTANDORT = sqlReader.GetInt32(6);
               inventar.NEUANGELEGT = sqlReader.GetBoolean(7);
               inventar.DATUM = sqlReader.GetString(8);
               inventar.KOSTEN = sqlReader.GetString(9);
               inventar.VERANTWORTLICHER = sqlReader.GetString(10);
               inventar.ANLAGEGUT = sqlReader.GetString(11);
               inventar.GRUPPE = sqlReader.GetString(12);
               inventar.BEZEICHNUNG2 = sqlReader.GetString(13);
               inventar.BEZEICHNUNG3 = sqlReader.GetString(14);
               inventar.INVENTAR = sqlReader.GetString(15);
               inventar.VORGAENGERSTANDORT = sqlReader.GetString(16);
               inventar.GRUPPEKZ = sqlReader.GetString(17);
               inventar.GRUPPENFELD1 = sqlReader.GetString(18);
               inventar.GRUPPENFELD2 = sqlReader.GetString(19);
               inventar.GRUPPENFELD3 = sqlReader.GetString(20);
               inventar.GRUPPENFELD4 = sqlReader.GetString(21);
               inventar.GRUPPENFELD5 = sqlReader.GetString(22);
               inventar.GRUPPENFELD6 = sqlReader.GetString(23);
               inventar.GRUPPENFELD7 = sqlReader.GetString(24);
               inventar.GRUPPENFELD8 = sqlReader.GetString(25);
               inventar.GRUPPENFELD9 = sqlReader.GetString(26);
               inventar.GRUPPENFELD10 = sqlReader.GetString(27);
               inventar.ANLAGEGUTKEY = sqlReader.GetString(28);

               sqlConnectionQuelle.Close();

               SqlConnectionStringBuilder stringBuilder = new SqlConnectionStringBuilder();
               stringBuilder.DataSource = zielPfad;
               stringBuilder.PersistSecurityInfo = false;

               SqlCeConnection connectionString = new SqlCeConnection();
               connectionString.ConnectionString = stringBuilder.ToString();

               connectionString.Open();
               using (SqlCeCommand sqlCommandInsert = new SqlCeCommand("INSERT INTO DbInventare VALUES(@inventar)", connectionString))
               {
                  sqlCommandInsert.Parameters.AddWithValue("@id", inventar.ID);
                  sqlCommandInsert.Parameters.AddWithValue("@bezeichnung", inventar.BEZEICHNUNG);
                  sqlCommandInsert.Parameters.AddWithValue("@menge", inventar.MENGE);
                  sqlCommandInsert.Parameters.AddWithValue("@etikett", inventar.ETIKETT);
                  sqlCommandInsert.Parameters.AddWithValue("@code", inventar.CODE);
                  sqlCommandInsert.Parameters.AddWithValue("@nummer", inventar.NUMMER);
                  sqlCommandInsert.Parameters.AddWithValue("@idstandort", inventar.IDSTANDORT);
                  sqlCommandInsert.Parameters.AddWithValue("@datum", inventar.DATUM);
                  sqlCommandInsert.Parameters.AddWithValue("@kosten", inventar.KOSTEN);
                  sqlCommandInsert.Parameters.AddWithValue("@verantwortlicher", inventar.VERANTWORTLICHER);
                  sqlCommandInsert.Parameters.AddWithValue("@anlagegut", inventar.ANLAGEGUT);
                  sqlCommandInsert.Parameters.AddWithValue("@gruppe", inventar.GRUPPE);
                  sqlCommandInsert.Parameters.AddWithValue("@bezeichnung2", inventar.BEZEICHNUNG2);
                  sqlCommandInsert.Parameters.AddWithValue("@bezeichnung3", inventar.BEZEICHNUNG3);
                  sqlCommandInsert.Parameters.AddWithValue("@inventar", inventar.INVENTAR);
                  sqlCommandInsert.Parameters.AddWithValue("@vorgaengerstandort", inventar.VORGAENGERSTANDORT);
                  sqlCommandInsert.Parameters.AddWithValue("@gruppekz", inventar.GRUPPEKZ);
                  sqlCommandInsert.Parameters.AddWithValue("@gruppenfeld1", inventar.GRUPPENFELD1);
                  sqlCommandInsert.Parameters.AddWithValue("@gruppenfeld2", inventar.GRUPPENFELD2);
                  sqlCommandInsert.Parameters.AddWithValue("@gruppenfeld3", inventar.GRUPPENFELD3);
                  sqlCommandInsert.Parameters.AddWithValue("@gruppenfeld4", inventar.GRUPPENFELD4);
                  sqlCommandInsert.Parameters.AddWithValue("@gruppenfeld5", inventar.GRUPPENFELD5);
                  sqlCommandInsert.Parameters.AddWithValue("@gruppenfeld6", inventar.GRUPPENFELD6);
                  sqlCommandInsert.Parameters.AddWithValue("@gruppenfeld7", inventar.GRUPPENFELD7);
                  sqlCommandInsert.Parameters.AddWithValue("@gruppenfeld8", inventar.GRUPPENFELD8);
                  sqlCommandInsert.Parameters.AddWithValue("@gruppenfeld9", inventar.GRUPPENFELD9);
                  sqlCommandInsert.Parameters.AddWithValue("@gruppenfeld10", inventar.GRUPPENFELD10);
                  sqlCommandInsert.Parameters.AddWithValue("@anlagegutkey", inventar.ANLAGEGUTKEY);
                  sqlCommandInsert.ExecuteNonQuery();
               }
               connectionString.Close();
            }
         }
}

Ja aber es kommt immernoch ein Fehler genau hier :

  sqlCommandInsert.ExecuteNonQuery();

Folgender : The number of columns in the query and the table must match. [ Number of columns in query = 1, Number of columns in table = 29 ]

18.02.2011 - 12:13 Uhr

Wieso wird hier

com.Parameters.AddWithValue("@num", num);

Zweimal num zugewiesen als Parameter?

18.02.2011 - 11:49 Uhr

Wenn ich dich richtig verstanden habe, willst du einfach Daten aus der einen Datenbank in die andere Datenbank kopieren?

Du hast den Connection-String zu beiden DBs, in deinem Code sehe ich aber nur eine Connection. Du brauchst ja dann für die zweite DB auch noch eine zweite Connection. Wenn du dann einen Datensatz einliest in deiner while-Schleife musst du diesen Daten mit der zweiten Connection ja einfach nur noch in der zweiten DB speichern.

Oder habe ich da was falsch verstanden?

Genau richtig. Ich kriege die andere Connection über den String in die Methode ( ggf. ändere ich das so um das ich direkt einen "ConnectionString" kriege und nicht einfach nen normalen string ( wo eig. das selbe drin ist )).

Gut, aber WIE speichere ich sie in der anderen DB ? Ja Fremdschlüssel usw. sind vorhanden aber soweit komm ich sicher garnet .... jedenfalls momentan.

Ich hab sowas halt noch nie geschrieben, deswegen sagt mir INSERT rein garnix ... -.- Ein Beispiel ( einfaches ) wäre wirklich sehr nett.

PS: So sieht jetzt meine Methode aus :

public void einlesen(SqlConnection sqlConnectionZiel)
      {
         AdConnectionStringBuilder stringBuilder = new AdConnectionStringBuilder();
         SqlCeConnection sqlConnectionQuelle = new SqlCeConnection();
         sqlConnectionQuelle.ConnectionString = stringBuilder.gebenConnectionStringFuerBackup();

         using (DatenModell db = new DatenModell(sqlConnectionQuelle.ConnectionString))
         {
            DtoInventar inventar = new DtoInventar();
            string cmd = "SELECT * FROM DbInventare";
            SqlCeCommand sqlCommand = new SqlCeCommand(cmd, sqlConnectionQuelle);
            SqlCeDataReader sqlReader = sqlCommand.ExecuteReader();

            while (sqlReader.Read())
            {
               inventar.ID = sqlReader.GetInt32(0);
               inventar.BEZEICHNUNG = sqlReader.GetString(1);
               inventar.MENGE = sqlReader.GetString(2);
               inventar.ETIKETT = sqlReader.GetBoolean(3);
               inventar.CODE = sqlReader.GetString(4);
               inventar.NUMMER = sqlReader.GetString(5);
               inventar.IDSTANDORT = sqlReader.GetInt32(6);
               inventar.NEUANGELEGT = sqlReader.GetBoolean(7);
               inventar.DATUM = sqlReader.GetString(8);
               inventar.KOSTEN = sqlReader.GetString(9);
               inventar.VERANTWORTLICHER = sqlReader.GetString(10);
               inventar.ANLAGEGUT = sqlReader.GetString(11);
               inventar.GRUPPE = sqlReader.GetString(12);
               inventar.BEZEICHNUNG2 = sqlReader.GetString(13);
               inventar.BEZEICHNUNG3 = sqlReader.GetString(14);
               inventar.INVENTAR = sqlReader.GetString(15);
               inventar.VORGAENGERSTANDORT = sqlReader.GetString(16);
               inventar.GRUPPEKZ = sqlReader.GetString(17);
               inventar.GRUPPENFELD1 = sqlReader.GetString(18);
               inventar.GRUPPENFELD2  = sqlReader.GetString(19);
               inventar.GRUPPENFELD3  = sqlReader.GetString(20);
               inventar.GRUPPENFELD4  = sqlReader.GetString(21);
               inventar.GRUPPENFELD5  = sqlReader.GetString(22);
               inventar.GRUPPENFELD6  = sqlReader.GetString(23);
               inventar.GRUPPENFELD7  = sqlReader.GetString(24);
               inventar.GRUPPENFELD8  = sqlReader.GetString(25);
               inventar.GRUPPENFELD9  = sqlReader.GetString(26);
               inventar.GRUPPENFELD10  = sqlReader.GetString(27);
               inventar.ANLAGEGUTKEY  = sqlReader.GetString(28);
            }

         }
18.02.2011 - 11:20 Uhr

Wieso übergibst du beim Aufruf nicht die Information? Z.B. als string ?

Also so stell ichs mir vor :

SecondPage zweitesFenster = new SecondPage();
zweitesFenster.ShowDialog(string "MainPage");

Und der Ablauf fängt das dann halt ab ...

18.02.2011 - 11:02 Uhr

verwendetes Datenbanksystem: <SQL CE> Visual Studio 2010

Hi,

ich hab ein Problem, wo ich echt nicht mehr weiterkomme, und zwar möchte ich Daten von einer DB ( SQL CE) in eine andere Kopieren ( die Datenbankstruktur ist 100% gleich )

Beide DBs sind die selbe Version, nur wie kriege ich das hin?

Also das einlesen klappt ( also so wie ich es mir vorgestellt habe, sicherlich falsch )

 public void einlesen(string backupSDFPfad)
      {
         AdConnectionStringBuilder stringBuilder = new AdConnectionStringBuilder();
         SqlCeConnection sqlConnection = new SqlCeConnection();
         sqlConnection.ConnectionString = stringBuilder.gebenConnectionStringFuerBackup();

         string cmd = "SELECT * FROM DbInventare";

         SqlCeCommand sqlCommand = new SqlCeCommand(cmd, sqlConnection);
         try
         {
            sqlConnection.Open();

            SqlCeDataReader sqlReader = sqlCommand.ExecuteReader();

            //while (sqlReader.Read())
            //{
               //int inventarID = sqlReader.GetInt32(0);
               //string inventarStandortBezeichnung = sqlReader.GetString(1);
               //string inventarMenge = sqlReader.GetString(2);
               //bool inventarEtikket = sqlReader.GetBoolean(3);
               //string inventarCode = sqlReader.GetString(4);
               //string inventarNummer = sqlReader.GetString(5);
               //int inventarIDStandort = sqlReader.GetInt32(6);
               //bool inventarNeuAngelegt = sqlReader.GetBoolean(7);
               //string inventarDatum = sqlReader.GetString(8);
               //string inventarKosten = sqlReader.GetString(9);
               //string inventarVerantwortlicher = sqlReader.GetString(10);
               //string inventarAnlagegut = sqlReader.GetString(11);
               //string inventarGruppe = sqlReader.GetString(12);
               //string inventarBezeichnung2 = sqlReader.GetString(13);
               //string inventarBezeichnung3 = sqlReader.GetString(14);
               //string inventarInventar = sqlReader.GetString(15);
               //string inventarVorgaengerStandort = sqlReader.GetString(16);
               //string inventarGruppeKZ = sqlReader.GetString(17);
               //string inventarGrpFeld1 = sqlReader.GetString(18);
               //string inventarGrpFeld2 = sqlReader.GetString(19);
               //string inventarGrpFeld3 = sqlReader.GetString(20);
               //string inventarGrpFeld4 = sqlReader.GetString(21);
               //string inventarGrpFeld5 = sqlReader.GetString(22);
               //string inventarGrpFeld6 = sqlReader.GetString(23);
               //string inventarGrpFeld7 = sqlReader.GetString(24);
               //string inventarGrpFeld8 = sqlReader.GetString(25);
               //string inventarGrpFeld9 = sqlReader.GetString(26);
               //string inventarGrpFeld10 = sqlReader.GetString(27);
               //string inventarAnlagegutKey = sqlReader.GetString(28);


            sqlReader.Close();
            sqlConnection.Close();
         }
         catch (SqlException ex)
         {
            Console.WriteLine(ex.Message);
         }

Also so kriege ich halt die Daten in total viele Variablen, naja wenigstens habe ich die Daten da ( 😄 ) ... aber weiter weiß ich nicht. Ich habe beide Connectionstrings! Beide DBs sind definitv vorhanden ( wird vorher geprüft, also vor dem Aufruf dieser Methode )

Ich habe sowas halt noch nie gemacht, einmal gesehen wird das sicherlich verständlicher.

PS: Der auskommentierte Code ist eigentlich !auskommentiert. War nur grad ein Test.