Je nachdem was genau die Ansprüche sind:
static string ExceptTrim(string input, string charsToKeep)
{
//Echtes trim
return String.Concat(input.SkipWhile(c => !charsToKeep.Contains(c))
.Reverse().SkipWhile(c => !charsToKeep.Contains(c)).Reverse());
//Entfernt einfach alle Zeichen die nicht in "charsToKeep" sind aus dem string
return String.Concat(input.Where(c => charsToKeep.Contains(c)));
}
string test = ExceptTrim("test1234test44test", "0123456789");
Ein Pipe brauchst du bei C# nicht mehr explizit aufzubauen. Dafür gibts genug Methoden wenn du einen Prozess erstellt hast. Wie das funktioniert steht alles hier:
https://www.tutorials.de/threads/c-externes-programm-und-ausgabe-auswerten.336543/
Wenn du eine Echtzeitausgabe in deiner GUI willst, musst du das halt in einen zweiten Thread packen.
Danke inflames, grundsätzlich entspricht das genau meiner Frage. Ich hatte allerdings gehofft das es auch einfacher geht. Ich lege den Datentyp ja schließlich schon im DataTable fest:
columnTarifnummer.DataType = System.Type.GetType("System.Int32");
table.Columns.Add(columnTarifnummer);
Ich werde das typisierte Dataset aber für die nächste Aufgabe im Hinterkopf behalten.
Ich hab deinen Rat beherzigt und noch einmal nachgefragt, mir wurde das Vorgehen auch kurz skizziert: Ich soll mir die Seite nehmen und von Eintrag zu Eintrag zu springen und prüfen ob dieser Raum in meiner Datenbank angelegt ist, dann soll ich ihn buchen, ist er nicht angelegt, soll ich zum nächsten Eintrag springen.
Naja nicht wirklich, es fehlt immer noch der Punkt was du überhaupt von uns willst. Wo genau ist dein Problem?
Warum du schreiben solltest was du bisher versucht hast? Ganz einfach, zum einen sehen wir dann, dass du auch selbst versuchst weiterzukommen, zum anderen können wir dann auch erkennen wo deine Schwierigkeiten liegen.
Dein Aktueller Post ist genau so wie der Eingangspost nur eine Beschreibung was du machen willst / sollst. - Daraus lässt sich von uns noch gar nichts ableiten.
Du meinst das .Net Framwwork? Ja, abhängig von der Windows Version ist das schon vorinstalliert.
Siehe Aaron Stebner's WebLog - What version of the .NET Framework is included in what version of the OS oder Peter Marcu's Blog - Which Version of .NET is Built into Windows.
Kurzfassung:
XP: Normal nicht installiert
Vista: 2.0, 3.0(optional, default installiert)
Win7: 2.0, 3.0(optional, default installiert), 3.5(optional, default installiert)
Win8: 4.5, 3.5(optional, default nicht installiert
Win10 4.6, 3.5(optional, default nicht installiert
Was Linux angeht musst du nach Mono suchen, das hängt von der Distro ab.
Danke, inlfames2k
Das Image hat jetzt nun eine normale größe
folgende Code zeile angewendet;
imgcol.ImageLayout = DataGridViewImageCellLayout.Stretch;
Wie überprüfe ich nun am sinnvollsten um welche Tankstelle es sich handel um
dadurch das jeweilige Logo anzuzeigen.
Danke
erzincan24
Ja das auch, hab das Chart gelöscht und ein neues erzeugt und direkt drei Series Hinzugefügt. Trotzdessen, wird eine Serie falsch Dargestellt, obwohl es sich um Identische Daten handelt....aber naja bestimmt nur ne kleine Einstellung in den Eigenschaften
Gruß
Erzincan24 und danke nochmals
Einziges was mir jetzt einfallen würde, wäre von List<T> abzuleiten und in der abgeleiteten Klasse alle Properties außer die Items auszublenden mit deiner tollen Reflection-Funktion.
Hat sich erledigt, es geht auch direkt einen Signal zu connecten. Problem gelöst
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
public delegate int ActivateCellFuncPtr(IntPtr sheet,int row,int col,IntPtr data);
[DllImport("libgtk-x11-2.0.so")]
public static extern ulong gtk_signal_connect_full(
IntPtr obj,
string name,
[MarshalAs(UnmanagedType.FunctionPtr)] ActivateCellFuncPtr ac_func,
IntPtr unsupported,
IntPtr data,
IntPtr destroy_func,
int object_signal,
int after);
Ich übergebe den Editor nicht über EditorAttribute, weil das kein Member von PropertyGridItem ist, sondern ich hole mir erstmal den Namen des Editors, in dem ich "extern" das EditorAttribute erstelle und mit der Methode EditorTypeName hole und übergebe diesen an EditorTypeName (das ist ein Member von PropertyGridItem).
Dann klappt es. Der EditorTypeName ist etwas kryptisch und ich wusste auch nicht, wie ich diesen "erraten" soll. Der EditorTypeName für die Wahl von Farben, wie es von Windows zur Verfügung gestellt wird hat z.B. folgenden Namen:
EditorTypeName = "System.Drawing.Design.ColorEditor, System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Das kann man sicher noch irgendwo nachlesen. Bei selbst erstellten Editoren... gibt es sicher auch eine Logik, die ich aber nicht durchschaue.
Danke für die Hinweise!
Der ursprüngliche Ansatz brauchte nur auf einem PC so lange, auf anderen nicht.
Mit dem neuen Ansatz ist das Problem vollständig gelöst:
private string Laufwerke()
{
// -----------------------------------------------------------------------
// Laufwerke prüfen, ob USB-Stick vorhanden
// -----------------------------------------------------------------------
string lw = "";
string[] drv = Environment.GetLogicalDrives();
int type;
foreach (string s in drv)
{
type = -1;
DriveInfo di = new DriveInfo(s);
type = (int)di.DriveType;
if (type == 2)
{
lw = di.Name;
// Laufwerk A:\ ausschliessen
if (String.Compare(lw, "A:\\") == 0) lw = "";
}
}
return lw;
}
Da bin ich mal wieder
ich komme gleich zur Sache und würde mich über eine schnelle Hilfe freuen.
Ich lese Daten aus einer (an das DGV gebundenen) Datenbank in ein DataGridView ein, diesem kann ich dann neue Daten hinzufügen.
Jetzt möchte ich, dass die Datenbank auf ein ButtonClick_Event aktualisiert wird, jedoch funktioniert nichts.
Beispielsweise:
<DatabaseTable_Name>TableAdapter.Update( <DataBase_Name>DataSet );
Was mache ich falsch?
Schöne Grüße,
PlumberJack