Laden...

Forenbeiträge von kruprecht Ingesamt 11 Beiträge

18.11.2015 - 17:13 Uhr

Wir haben ca. 150 Installationen einer alten SW, die über die Registry parametrisiert wird. Nun möchte ich für den Support eine kleine WinForms-App schreiben, die es ihm ermöglicht, auf selektierten Stationen einen oder mehrere Registry-Einträge zu warten.
Ich dachte mir, ich arbeite mit einem Service, das auf jeder Installation läuft und via asynchronem TCPSocket mit dem Tool kommuniziert. Da könnte man dann auch erweitern, also Statusmeldungen retour liefern, etc.
Was ist eure Meinung dazu? Gibt es da einfachere/modernere Lösungen oder überhaupt was Kommerzielles? Oder sollte man eine gitHub-Implementierung nehmen (z.B. WebSocketListener)?
Danke!

29.01.2014 - 11:07 Uhr

Servus,

ich würde gerne wissen, was im Moment die "empfohlene" Art ist, Inhalte aus einer SharePoint Liste auszulesen und in einer C# Windos-Forms Anwendung in einem Grid darzustellen.
Schön wären auch gleich Beispiele dazu...:-)

Kein WebPart, keine SharePoint Server-Objects.

Danke!

05.12.2012 - 13:37 Uhr

Hallo,

ich habe einen Timer laufen, der alle x-Millisekunden Daten aus einer DB liest und in einer DataGridView ausgibt. In der ersten Spalte werden Icons angezeigt, die ich aus einer ImageList mit diesem Befehl erstelle (das funktioniert oft, aber leider nicht immer):

imgCell = Icon.FromHandle(((Bitmap)imlSiMEx.Images["information"]).GetHicon());

Im Fehlerfall bekomme ich obigen Fehler und diese Ausgabe dazu:> Fehlermeldung:

System.Runtime.InteropServices.ExternalException (0x80004005): A generic error occurred in GDI+.
at System.Drawing.Bitmap.GetHicon()
at SiMEx_PowerTool.formSiMEx.DGVTasks_SelectionChanged(Object sender, EventArgs e)
at System.Windows.Forms.DataGridView.OnSelectionChanged(EventArgs e)
at System.Windows.Forms.DataGridView.FlushSelectionChanged()
at System.Windows.Forms.DataGridView.SetSelectedRowCoreInternal(Int32 rowIndex, Boolean selected)
at System.Windows.Forms.DataGridViewBand.set_Selected(Boolean value)
at System.Windows.Forms.DataGridViewRow.set_Selected(Boolean value)
at SiMEx_PowerTool.formSiMEx.timerRefresh_Tick(Object sender, EventArgs e)
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Was mache ich falsch?

23.10.2012 - 14:51 Uhr

Doch nicht:> Fehlermeldung:

Der geerbte Member "System.Windows.Forms.Timer.Start()" kann nicht überschrieben werden, weil er nicht als "virtual", "abstract" oder "override" markiert ist.

Heisst das, ich kann mir keinen (zumindest nicht in dieser Form) eigenen Timer bauen?

23.10.2012 - 14:42 Uhr

Ich würde gerne eine Timer-Klasse bauen, die vom Standard Timer abgeleitet ist, jedoch mit der Erweiterung, dass sowohl Start als auch Stop einen Event feuern.

Nun würde ich gerne eine Methode basteln, die die Start-Methode des Basis-Timers aufruft und anschliessend einen Event raisen.

Äh - wie geht das?
Danke!

OK - ich habs: base.
Sorry!

25.09.2012 - 10:41 Uhr

Diese Reihenfolge halte ich ein - zuerst lege ich die DataGridViewComboBoxColumn bzw. die restlichen Spalten an und dann erst wird das Grid gefüllt.
Das Fill geht ja auch noch gut, aber bei DGVLog.AutoResizeColumns kommt der Fehler Formatting, PreferredSize und dann noch einmal bei der eigentlichen Anzeige kommt Formatting, Display.
Keine Ahnung, was ich da falsch mache.
LG

21.09.2012 - 16:59 Uhr

In einem gebundenen DataGridView habe ich eine Spalte vom Typ DataGridViewComboBoxColumn.
Dazu gibt es eine Key/Value-Liste. Nun bekomme ich leider den Fehler Formatting, PreferredSize für jede Zeile. Ausserdem wird nicht der DisplayValue angezeigt, sondern der Key.
Was kann's da haben?

Das sind meine Werte:

    public class TAS_State
    {
        public string Name { get; private set; }
        public int Value { get; private set; }

        public TAS_State(string name, int value)
        {
            Name = name;
            Value = value;
        }

        private static readonly List<TAS_State> possibleChoices = new List<TAS_State>
        {
            { new TAS_State("PENDING", 0) },
            { new TAS_State("RUNNING", 1) },
            { new TAS_State("FINISHED", 2) }
        };

        public static List<TAS_State> GetChoices()
        {
            return possibleChoices;
        }
    }

Und so wird die Grid-Column angelegt:

DataGridViewComboBoxColumn cbocol;
cbocol = new DataGridViewComboBoxColumn();
cbocol.HeaderText = "State";
cbocol.DataSource = TAS_State.GetChoices();
cbocol.DataPropertyName = "TAS_STATE";
cbocol.DisplayMember = "Name";
cbocol.ValueMember = "Value";
cbocol.ReadOnly = true;
cbocol.FlatStyle = FlatStyle.Flat;
dgv.Columns.Add(cbocol);

Und das ist die Grid-Bindung:

OracleDataAdapter dataAdapter = new OracleDataAdapter("SELECT TAS_GUID," +
                                                        "       TAS_ACTIVE," +
                                                        "       TAS_CAPTION," +
                                                        "       TAS_PROCEDURE," +
                                                        "       TAS_STATE" +
                                                        "  FROM <tabelle>", connectionString);
OracleCommandBuilder commandBuilder = new OracleCommandBuilder(dataAdapter);
DataTable table = new DataTable();
dataAdapter.Fill(table);
DGVTasks.DataSource = table;

19.09.2012 - 15:10 Uhr

Nachdem ich nirgends im Forum ein gleich gelagertes Thema fand, traue ich mir mein Problem zu posten.
Ich habe ein gebundenes DataGridView

var getData = from t in ctx.TTASKs
select new { t.TAS_ACTIVE, t.TAS_CAPTION, t.TAS_PROCEDURE };

dataGridView2.DataSource = getData;

wobei die Spalte TAS_ACTIVE vom Typ int16 ist.
Die sollte nun aber zu einer DataGridViewCheckBoxColumn "mutieren" und auch Änderungen in der DB persistieren.

Leider kenne ich mich zu wenig aus. Habe auch schon probiert, die Spalte im Entity-Model als boolean zu definieren - ist leider nicht erlaubt, weil sie ja in der DB numeric ist.

Irgendjemand eine Lösung, Danke!

19.09.2012 - 11:23 Uhr

Newbie-Frage:
Wie nennt ihr instantiierte Objekte?
Ich habe eine Windows-Form formSettings, wenn ich die im Code nun instantiiere, wie nenne ich da das Objekt?

            formSettings Settings = new formSettings();

oder

            formSettings formObjSettings = new formSettings();

Letzteres ist doch etwas sperrig...
Danke!

14.09.2012 - 11:35 Uhr

Ich persönlich bevorzuge DSynchronize (http://dimio.altervista.org/eng/), hat alles was man braucht (Autostart, Bidirectional, ...) und muss nicht mal installiert werden.
LG

05.09.2012 - 15:05 Uhr

verwendetes Datenbanksystem: Oracle 11

Hallo,

ich möchte mit folgendem Code in XML-File einlesen (angenommen, das wurde mit WriteXML aus der DB generiert und dann geringfügig verändert, sodass sich ein UPDATE und ein INSERT ergeben sollten) und anschliessend in eine entsprechende Tabelle schreiben (lassen).
Ich dachte eigentlich, dass der UPDATE so schlau ist, um je nach Bedarf ein UPDATE oder ein INSERT zu generiern. Ich bekomme jedenfalls bloß die Meldung von der DB, dass der Datensatz bereits existiert, was ja auch korrekt ist.
Geht das nicht oder muss ich noch was drehen?
Danke

string constr = "User Id=UID;Password=PWD;Data Source=DSN";
string cmdstr = "SELECT * from table";

try
{
// Create the adapter with the selectCommand txt and the
// connection string
OracleDataAdapter adapter = new OracleDataAdapter(cmdstr, constr);

// Create the builder for the adapter to automatically generate
// the Command when needed
OracleCommandBuilder builder = new OracleCommandBuilder(adapter);

// Create and fill the DataSet using the table
DataSet dataset = new DataSet();
dataset.ReadXml("c:\\table.xml");
adapter.Fill(dataset, "TABLE");
DataTable table = dataset.Tables["TABLE"];

// Now update the TABLE using the adapter
// The OracleCommandBuilder will create the UpdateCommand for the
// adapter to update the TABLE table
adapter.Update(dataset, "TABLE");
}
catch (Exception ex)
{
MessageBox.Show("Fehler: " + ex.Message);
}