Laden...
S
sypher myCSharp.de - Member
Ich schreibe Code, den ganzen Tag. Nur bis kurz vor meine registrierung hier mit VB! Dabei seit 02.06.2006 22 Beiträge
Benutzerbeschreibung

Forenbeiträge von sypher Ingesamt 22 Beiträge

10.08.2009 - 14:33 Uhr

mdb und es haben sich über 2 Jahre soviele Daten angesammelt, dass die mdb die Kapazitätsgrenze erreicht hat.

hast du die DB mal komprimiert? Access legt verdammt viele "sinnlose" Daten an, gerade beim Änderung und/oder löschen.

Ja, allerdings hat das nicht sehr lange funktioniert...

Ich nehm mal den eingebetteten Freuervogel...

Danke!

10.08.2009 - 13:54 Uhr

Hallo,

ich erstelle gerade eine Anwendung, welche auf einem Einzelplatzrechner laufen soll.
Diese Anwendung soll Kundendaten erfassen und speichern. Gleichzeitig soll sie auf die Daten zugreifen und Periodisch jedes Jahr für jeden Kunden einen Geschenkgutschein ausdrucken. Zudem müssen die Mitarbeiterinnen auf die Kundendaten (über die selbe Anwendung) zugreifen können, um die Kunden zu bedienen. Es geht hier um einen Friseursalon, bevor jemand was falsches denkt!

Tabellen der bisherigen Datenbank (würde ich gerne übernehmen):

Adressen (selbsterklärend)
Kunden (Kundennummer, Name, Vorname, Geburtsdatum)
Farben (enthält "Farbcodes")
Kunde2Farbe (Verbindet "Farbcodes" mit Kunden und gibt die Anteile an)

Die Anwendung soll einfach installierbar sein:
CD rein, setup.exe, Programm starten... läuft!
ODER BEIM KUNDEN:
Stick in den Laptop, Programm starten... läuft!

Ich dachte erst daran, eine einfache mdb zu nehmen. Allerdings läuft die momentane Anwendung bereits mit einer mdb und es haben sich über 2 Jahre soviele Daten angesammelt, dass die mdb die Kapazitätsgrenze erreicht hat.

Nun zu meinen Fragen:
Ist es möglich einen Datenbankserver in eine C# Anwendung einzubauen, sodass der Datenbankserver keine weiteren Benutzereingaben oder installationen erfordert? Oder gibt es Datenbankdateitypen, die keine Kapazitätsgrenzen haben? Oder kennt jemand eine ganz andere lösung für ein solches Problem?

Gruß Sypher

24.07.2009 - 15:24 Uhr

Hallo Leute,

ich habe schon den ganzen Tag rumgegoogelt, bin aber entweder zu doof oder es ist so versteckt, dass man es nicht findet.

Es geht um eine Dokumentation zur COM: AxSHDocVw. Bzw. Zum AxWebbrowser...

Gibt es sowas? Wenn ja: Wo?

MfG Sypher

20.02.2009 - 10:54 Uhr

Danke für die superschnelle Antwort!

Ich werde das mal ausprobieren, hatte es nämlich vorher mit dem rc-interface gelöst gehabt (TCP-Client und dann Befehler rüberjagen...).

Gruß Sypher

19.02.2009 - 17:41 Uhr

...Falls du noch eine Lösung sucht, kann ich dir die Klasse zum Wrappen gerne zukommen lassen.

Hallo!

Ich weis, ich komme sehr, sehr spät, aber ich bekomme es selber nicht so richtig hin...

Ich wäre interessiert um mir das mal anzugucken...

Gruß Sypher

20.02.2008 - 20:10 Uhr

Hi Leute,

ich würde gerne einen proxy basteln, der seine anfragen durch mehrere Proxy-Server leitet...

leider habe noch keine ahnung, wie ich das ganze machen kann...

ein erster erfolg wäre es, wenn ich einen normalen proxy basteln kann, den ich dann über 127.0.0.1:8080 erreiche...

kann mir jemand ein paar tipps geben?

gruß sypher

15.08.2007 - 15:39 Uhr

Hintergrund-Infos:

In einer Firma arbeiten mehrere Personen (sehr viele) an verschiedenen Rechnern. Angemeldet wird sich auf einem Windows-Server. Leider hat sich herausgestellt, dass die Benutzer sehr doofe Passwörter nehmen. Also entschied sich der Administrator die Passwörter selbst zu vergeben. Die Benutzer gingen allerdings mit diesen Passwörtern unvorsichtig um.

Deswegen die Aufgabe:

Eine Windows-Anmeldung per EC-Karte oder sonstigen Chipkarten.

Der Zugriff auf die Karte und das Auslesen der Benutzerdaten aus einer Datenbank sind kein Problem, allerdings bräuchte ich einen Tipp, wie ich die beiden strings "username"; "passwd" in die Anmelde-Felder bekomme. Und wie ich mein Programm zum Auslesen der Karte, mit Connect über TCP-Client wärend der Anmeldung ausführen kann.

Gruß Sypher

10.08.2006 - 20:29 Uhr

danke sehr, das hat mir sehr weiter geholfen...

Ich mache dies jetzt einfach mit "speichern" und "lesen" in einer variable...

ich denke aber, dass es es auch noch eine einfachere lösung geben muss... wenn noch jemand was weiß, dann bitte posten...

Gruß Sypher

28.07.2006 - 14:38 Uhr

Hallo,

ich habe ein (hoffentlich) kleines Problem...

Ich habe eine Anwendung, die auf mehrere Threads zurück greift. Eine Datei, die im 1. Thread bearbeitet wird, soll nun zu einem weiteren Thread geschickt werden. Wie mache ich dies? Wenn Anhaltspunkte gesendet werden, wäre es sehr positiv, wenn evt. Links auf Deutsche Tuts zurückgreifen, da mein Englisch nicht besonders gut ist.

MFG Sypher

28.07.2006 - 14:25 Uhr

warum lädst du das nicht einfach alles per FTP hoch? Port nicht frei? dann nehm doch nen andren... der port 80 ist meißt frei...

wenn du die sachen oben hast, dann kannst du in die php eintragen lassen, wo sich die datei befindet und dann hast du schon das problem gelöst... denke ich mal... wenn nicht, dann hab ich mir wenigstens mühe gegeben^^

16.06.2006 - 14:07 Uhr

ahh, evt. hilft mir das schon weiter...
ich tüftel mal nen bissle...

wenn nicht, dann freue ich mich schon auf das tutorial...

danke für eure hilfen!

Sypher

10.06.2006 - 22:58 Uhr

ja, das ist gut... ich habe eine frage...

solch eine ähnliche programm-stuktur habe ich in einem Programm verarbeitet... allerdings dient es jetzt nur zu abfrage zwecken... ich möchte eine Funktiom einbauen, in der die user dieses programms miteinander kommunizieren können... also client-nr 4 will jetzt beispielsweise eine nachricht an client-nr 27 schicken...

  1. muss eine ID oder logindaten erkennen
  2. muss die ID mit den Clienten-nr abgleichen
  3. die nachricht an diesen clienten senden*

*hiermit habe ich bedenken, dass es funktioniert

bevor ich mich jetzt ans große programmieren mache, wollte ich wissen, ob dies möglich ist...

im prinzip benutze ich das gleiche system (mehr oder weniger), nur dass die verbindung dauerhaft ist...

wäre nett, wenn mir das jemand sagen könnte...

Sypher

06.06.2006 - 21:51 Uhr

also ich würde nach dem download einfach gucken, ob die datei vorhanden ist:

using System.IO

...

if(File.Exists(@"c:\test.ini"))
{
 MessageBox.Show("File vorhanden");
} 

ansonsten kann ich dir nur raten mit HttpWebRequest zu arbeiten...

06.06.2006 - 19:18 Uhr

Also das Programm startet ohne Probleme, lässt mich aber nicht auf den Server zugreifen... Das Programm gibt immer aus, dass der server offline ist...

http://www.codeproject.com/csharp/GameServerInfo.asp

^^da habe ich die dll her...

den code habe ich komplett übernommen...

		[STAThread]
		static void Main() 
		{
			Application.Run(new Form1());
		}

^^ das habe ich nur noch reingepackt...

kann mir jemand sagen, warum die Counter-Strike Server immer als offline angezeigt werden?

using System;
using System.Windows.Forms;
using System.Collections;
using System.Reflection;
using GameServerInfo;

namespace ServerTest
{
	class Form1 : System.Windows.Forms.Form
	{
		private System.ComponentModel.IContainer components = null;
		private System.Windows.Forms.TextBox tbHost;
		private System.Windows.Forms.TextBox tbPort;
		private System.Windows.Forms.Button btQuery;
		private System.Windows.Forms.ComboBox cbGametype;
		private System.Windows.Forms.ListView lvPlayers;
		private System.Windows.Forms.ListView lvParams;
		private System.Windows.Forms.ColumnHeader colName;
		private System.Windows.Forms.ColumnHeader colScore;
		private System.Windows.Forms.ColumnHeader colPing;
		private System.Windows.Forms.ColumnHeader colTime;
		private System.Windows.Forms.ColumnHeader colKey;
		private System.Windows.Forms.ColumnHeader colVal;
		private System.Windows.Forms.TextBox tbInfos;

		protected override void Dispose( bool disposing )
		{
			if ( disposing && ( components != null ) )
			{
				components.Dispose();
			}
			base.Dispose( disposing );
		}

		#region Windows Form Designer generated code
		private void InitializeComponent()
		{
			this.tbHost = new System.Windows.Forms.TextBox();
			this.tbPort = new System.Windows.Forms.TextBox();
			this.btQuery = new System.Windows.Forms.Button();
			this.cbGametype = new System.Windows.Forms.ComboBox();
			this.lvPlayers = new System.Windows.Forms.ListView();
			this.colName = new System.Windows.Forms.ColumnHeader();
			this.colScore = new System.Windows.Forms.ColumnHeader();
			this.colPing = new System.Windows.Forms.ColumnHeader();
			this.colTime = new System.Windows.Forms.ColumnHeader();
			this.lvParams = new System.Windows.Forms.ListView();
			this.colKey = new System.Windows.Forms.ColumnHeader();
			this.colVal = new System.Windows.Forms.ColumnHeader();
			this.tbInfos = new System.Windows.Forms.TextBox();
			this.SuspendLayout();

			this.tbHost.Location = new System.Drawing.Point(13, 13);
			this.tbHost.Name = "tbHost";
			this.tbHost.Size = new System.Drawing.Size(107, 20);
			this.tbHost.TabIndex = 0;
			this.tbHost.Text = "";
			this.tbHost.TextChanged += new System.EventHandler(this.tbHost_TextChanged);

			this.tbPort.Location = new System.Drawing.Point(129, 14);
			this.tbPort.Name = "tbPort";
			this.tbPort.Size = new System.Drawing.Size(42, 20);
			this.tbPort.TabIndex = 1;
			this.tbPort.Text = "";

			this.btQuery.Location = new System.Drawing.Point(176, 13);
			this.btQuery.Name = "btQuery";
			this.btQuery.Size = new System.Drawing.Size(75, 22);
			this.btQuery.TabIndex = 2;
			this.btQuery.Text = "Query";
			this.btQuery.Click += new System.EventHandler(this.button1_Click);

			this.cbGametype.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
			this.cbGametype.Location = new System.Drawing.Point(13, 40);
			this.cbGametype.Name = "cbGametype";
			this.cbGametype.Size = new System.Drawing.Size(238, 21);
			this.cbGametype.TabIndex = 3;

			this.lvPlayers.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
																						this.colName,
																						this.colScore,
																						this.colPing,
																						this.colTime});
			this.lvPlayers.FullRowSelect = true;
			this.lvPlayers.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
			this.lvPlayers.Location = new System.Drawing.Point(13, 68);
			this.lvPlayers.Name = "lvPlayers";
			this.lvPlayers.Size = new System.Drawing.Size(238, 191);
			this.lvPlayers.TabIndex = 4;
			this.lvPlayers.View = System.Windows.Forms.View.Details;

			this.colName.Text = "Name";
			this.colName.Width = 83;
 
			this.colScore.Text = "Score";

			this.colPing.Text = "Ping";

			this.colTime.Text = "Time";

			this.lvParams.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
																					   this.colKey,
																					   this.colVal});
			this.lvParams.FullRowSelect = true;
			this.lvParams.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
			this.lvParams.Location = new System.Drawing.Point(258, 14);
			this.lvParams.Name = "lvParams";
			this.lvParams.Size = new System.Drawing.Size(199, 243);
			this.lvParams.TabIndex = 5;
			this.lvParams.View = System.Windows.Forms.View.Details;
			this.lvParams.SelectedIndexChanged += new System.EventHandler(this.lvParams_SelectedIndexChanged);

			this.colKey.Text = "key";
			this.colKey.Width = 108;

			this.colVal.Text = "val";
			this.colVal.Width = 105;

			this.tbInfos.AutoSize = false;
			this.tbInfos.Location = new System.Drawing.Point(462, 14);
			this.tbInfos.Multiline = true;
			this.tbInfos.Name = "tbInfos";
			this.tbInfos.Size = new System.Drawing.Size(221, 243);
			this.tbInfos.TabIndex = 7;
			this.tbInfos.Text = "";

			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(690, 266);
			this.Controls.Add(this.tbInfos);
			this.Controls.Add(this.tbPort);
			this.Controls.Add(this.tbHost);
			this.Controls.Add(this.lvParams);
			this.Controls.Add(this.lvPlayers);
			this.Controls.Add(this.cbGametype);
			this.Controls.Add(this.btQuery);
			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
			this.Name = "Form1";
			this.Text = "Form1";
			this.Load += new System.EventHandler(this.Form1_Load);
			this.ResumeLayout(false);

		}

		#endregion
		[STAThread]
		static void Main() 
		{
			Application.Run(new Form1());
		}

		public Form1()
		{
			InitializeComponent();

			// Bind the gameserver types to the combobox
			string[] items = Enum.GetNames( typeof( GameServerInfo.GameType ) );
			Array.Sort( items );
			cbGametype.DataSource = items;
		}

		private void d()
		{
			GameServer server = new GameServer( "192.168.0.15", 27960, GameType.Quake3 );
			server.QueryServer(); 
		}

		private void button1_Click(object sender, EventArgs e)
		{
			GameServerInfo.GameType type = (GameServerInfo.GameType)Enum.Parse( typeof( GameServerInfo.GameType ), cbGametype.SelectedValue.ToString() );
			GameServerInfo.GameServer server = new GameServerInfo.GameServer( tbHost.Text, Int32.Parse(tbPort.Text), type );
			server.DebugMode = true;
			server.QueryServer();

			tbInfos.Text = "";
			lvPlayers.Items.Clear();
			lvParams.Items.Clear();

			if ( !server.IsOnline )
			{
				MessageBox.Show( "server is offline or not responding" );
				return;
			}

			foreach ( GameServerInfo.Player player in server.Players )
			{
				ListViewItem lvItem = new ListViewItem( new string[] {
																		 GameServer.CleanName( player.Name ), player.Score.ToString(), player.Ping.ToString(), player.Time.ToString()
																	 } );
				lvPlayers.Items.Add( lvItem );
			}

			foreach ( DictionaryEntry de in server.Parameters )
			{
				ListViewItem lvItem = new ListViewItem( new string[] {
																		 de.Key.ToString(), de.Value.ToString()
																	 } );
				lvParams.Items.Add( lvItem );
			}

			PropertyInfo[] props = server.GetType().GetProperties( BindingFlags.Public | BindingFlags.GetField | BindingFlags.Instance );
			foreach ( PropertyInfo prop in props )
			{
				try
				{
					object obj = prop.GetValue( server, null );
					if ( obj.ToString().IndexOf( "Collection" ) != -1 )
					{
						continue;
					}
					tbInfos.Text += prop.Name + " - " + obj.ToString() + "\r\n";
				}
				catch ( TargetInvocationException )
				{ }
				catch ( NullReferenceException )
				{ }
			}
		}

		private void tbHost_TextChanged(object sender, EventArgs e)
		{
			if ( tbHost.Text.IndexOf(":") == -1 )
			{
				return;
			}
			int sep = tbHost.Text.IndexOf( ":" );
			tbPort.Text = tbHost.Text.Substring( sep + 1 );
			tbHost.Text = tbHost.Text.Substring( 0, sep );
		}

		private void Form1_Load(object sender, System.EventArgs e)
		{
		
		}

		private void lvParams_SelectedIndexChanged(object sender, System.EventArgs e)
		{
		
		}
	}
}
06.06.2006 - 15:11 Uhr

so, ich habe den fehler zwar nicht gelöst, aber eine andere möglichkeit gefunden...

Ich speichere die Daten jetzt untereinander in einer textdatei ab...

using System.IO;

...

			StreamWriter writer = File.CreateText(Application.StartupPath + "\\progs.txt");
			for (int i=0;i < proganzahl; i++)
			{
				writer.WriteLine(prog[i]);
				writer.WriteLine(att[i]);            
			}
			writer.Close();

so habe ich die möglichkeit beliebig viele progs zu starten...

aber danke für eure hilfe...

Sypher

EDIT: hab die dateien gefunden... sie befinden sich in dem Verzeichnis, in dem die Ausführbare datei liegt, die ich über mein prog starten wollte...

05.06.2006 - 14:22 Uhr

oups... hab nen fehler oben gemacht... ist jetzt verbessert...

natürlich soll der inhalt der richtextbox mit .SaveFile() gespeichert werden...

05.06.2006 - 00:00 Uhr

auch gut, danke... jetzt brauche ich nur noch ne lösung für mein problem...

sypher

04.06.2006 - 23:34 Uhr

Original von -acid-
🤔

Erwartest du wirklich, dir antwortet jemand hierauf, oder gar gibt eine entsprechende Antwort? Drück dich doch mal genauer aus.

von mir aus...

also:

in der Programm-Zeile, die ich gepostet habe, steht, dass der inhalt der RichTextBox gespeichert werden soll...

im Debug-Ordner befindet sich aber danach keine Datei, die Beispielsweise "prog0.rtf" heißt... fehler werden auch keine ausgegeben... weder mit ner MessageBox noch im Debug-Bereich...

Sypher

04.06.2006 - 22:38 Uhr
		private void cmd_OpenFile_Click(object sender, System.EventArgs e)
		{
			OpenFileDialog of = new OpenFileDialog(); // Datei-Öffnen Dialog wird geöffnet und auf eine Antwort gewartet

          
			if(of.ShowDialog() == DialogResult.OK) // wenn die Antwort kommt...
			{
				rch_prog.Text = (of.FileName.ToString()); // ... wird der Pfad zur Datei in eine Textbox geschrieben
			}
		}
System.Diagnostics.Process.Start(rch_prog.Text); // startet das ausgewählte Programm (start-attribute werden mit komma abgetrennt: rch_prog.Text, "-hide /setup" oder rch_prog.Text, rch_att.Text)

so einfach kann das sein, aber ich kam halt nicht richtig drauf.

zur zeit habe ich das prob, dass ich den pfad abspeichern will, habe unlogischerweise einen einen neuen Thread auf gemacht! An alle Mods: nicht böse sein!

Dieser Thread hier kann dann geschlossen werden^^

Sypher

EDIT: NEN PAAR KOMMENTARE ERSTELLT

04.06.2006 - 22:29 Uhr

Also, ich schreibe gerade ein Prog, welches den Programm-start vereinfachen soll.

nach dem Programm-Pfad sollen Attribute stehen... damit habe ich ja kein Problem..jetzt wird aber das Programm ausgewählt, aber ich kann den Pfad nicht abspeichern. ich weiß nicht, woran es liegen kann!


		private void cmd_OpenFile_Click(object sender, System.EventArgs e)
		{
			OpenFileDialog of = new OpenFileDialog();

          
			if(of.ShowDialog() == DialogResult.OK)
			{
				rch_prog1.Text = (of.FileName.ToString());
				rch_prog1.SaveFile("prog"+Programmzähler.ToString()+".rtf");
			}
		}

woran kann der fehler liegen?

ich kann die Programmnamen abspeichern, aber das Programm nicht!

Sypher

03.06.2006 - 17:55 Uhr

Guten Tag,

ich schreibe zur zeit ein Programm, mit dem man mehrere Anwendungen gleichzeitig starten kann...

soweit ja kein problem...

nun will ich dem User aber die möglichkeit geben, neue Programme in das C#-Programm zu laden...

heißt:

  1. Der User wählt aus, was er starten will
  2. Der pfad wird bestimmt
  3. Der pfad wird übernommen
  4. Der User klickt auf den Button und das Programm läuft

so, klingt ja sehr einfach... nur bin ich ein hobby-progger, der gerade mit c# angefangen hat... also sind die punkte 1-3 ein Problem für mich...

könnte mir da jemand vieleicht helfen?

Gruß Sypher

EDIT: DANKE SEHR, HABE ABER SCHON NE LÖSUNG GEFUNDEN!

02.06.2006 - 16:49 Uhr

Guten Tag, ich habe ein Problem mit dem MySQL Connector!

Ich will Daten aus der Datenbank in ein Label oder ähnliches schreiben... ist ja egal, wohin...

Jedenfalls in der Tabelle auf der Datenbank stehen etwa folgende Daten:

ID User PW

1 user1 PW1
2 user2 PW2
3 user3 PW3
4 user4 PW4

jetzt will ich "user3" aus der Tabelle auslesen und in lbl_beispiel1.Text schreiben... wie mache ich das?

folgendes habe ich schon gefunden, allerdings kann ich damit noch nicht so viel anfangen...

			if (conn != null)
				conn.Close();
	
			string connStr = String.Format("server=localhost;user id=database1; password=pw1; database=database1; pooling=false"); 

			try 
			{
				conn = new MySqlConnection( connStr );
				conn.Open();
				GetDatabases();  
			}
			catch (MySqlException ex) 
			{
				MessageBox.Show( "Error connecting to the server: " + ex.Message );
			}
			MySqlDataReader reader = null;

			conn.ChangeDatabase( "database1" );

			MySqlCommand cmd = new MySqlCommand("SHOW TABLES", conn); 
			///
			try 
			{
				reader = cmd.ExecuteReader();
			}
			catch (MySqlException ex) 
			{
				MessageBox.Show("Fehler beim Einlesen der Daten: " + ex.Message );
			}
			finally 
			{
				if (reader != null) reader.Close();
			}
			///
			data = new DataTable();
            			
			da = new MySqlDataAdapter("SELECT * FROM user", conn );
			cb = new MySqlCommandBuilder( da );

			da.Fill( data );

			dataGrid.DataSource=data;

Danke schonmal...