Du kannst auch das Bild in eine Bitmap laden und dann vergrößert in eine andere Bitmap kopieren und wieder abspeichern.
Der Speicherort lässt sich über den Konstruktor festlegen:
FileSyncProvider (String, FileSyncScopeFilter, FileSyncOptions, String, String, String, String)
Initialisiert eine neue Instanz der FileSyncProvider-Klasse, die auf folgenden Angaben basiert: Stammverzeichnispfad, Bereichsfilter, Konfigurationsoptionen, Pfad der Metadaten-Speicherdatei, Name der Metadaten-Speicherdatei, Pfad für temporäre Dateien sowie Pfad zum Speichern von Dateien für Konfliktverlierer.
Gruss Nils
FileSynProvider funktioniert sehr gut. Ich Syncronisiere nur in eine Richtung. Jetzt möchte ich, dass wenn ich im Quellordner eine Datei lösche beim Syncornisieren diese Datei auch auf dem Zielordner gelöscht wird.
Muss ich das etwa von Hand machen oder wie kann ich den FileSynProvider dazu überreden.
Grüße und Vielen Dank
im Not-invented-here-Syndrom
Häufig werden Boardmittel vermieden, weil der Entwickler sie nicht richtig verstanden hat. Meine Fragestellung zielt darauf ab, ob ich zu blöd bin, die Boardmittel zu verstehen.
Weil es mir schon eigenartig vorkommt, dass so was triviales nicht möglich ist.
Häufig sehe ich unübersichtliche Konstrukte oder erstelle selber welche, die man mit Standart Net-Mitteln mit einer Zeile lösen kann, Sie aber halt nicht kennt.
Also es ist nicht so, dass wenns nicht geht, ich SharpZipLib nehme, aber ich will meine Horizont etwas erweitern.
Gibt es einen Trick ZipPackage zu überreden, auch Dateipfade mit Leerzeichen zu verarbeiten.
Die Leerzeichen mit Unterstrichen zu ersetzen, ist ja nicht wirklich eine elegante Lösung.
SharpZipLib und Co. kann doch sowas. Da müsste das doch auch mit Net Boardmitteln möglich sein. Wenn Ihr mir auf die Sprünge helfen könnte wäre ich dankbar.
ich könnte mir vorstellen, das wenn du über COM den Windows Media Player unter Verweise einfügst bzw in der Toolbox über Elemente hinzufügen COM-Steuerelemente und dann den Windows Media Player auswählst schneller zum Ziel kommst.
Du kannst den Player einfach aufs Formular ziehen und dann unsichtbar machen und dann wunder bar auf alle Funktionalitäten zugreifen. Und auch eigene Playlisten erstellen usw.
Dabei wird
AxWMPLib.AxWindowsMediaPlayer axWindowsMediaPlayer1
eingebunden.
axWindowsMediaPlayer1.Ctlcontrols.play();
wär dann zu Bsp. Play.
Gruss Nils
Dummerweise kann man das ja leider in der Komponente nicht verhindern das sich der User dort einen Ordner erstellt (der hat ja meist Adminrechte) und den dann als Zielordner angibt.
Und dann will ich in diesen ausgewählten Ordner einen Unterordner ertellen und habe dann natürlich ein Problem. Dumme Sache.
Oben ist der Quelltext für Threadsicheres ausgeben.
Kannst den ja einfach auf byte umstellen.
Ansonsten schreibe mal nur in die Datei und gebe nix auf dem Bildschirm aus.
Also ich denke, wenn das Wegschreiben der Datei nicht in einem eigenen Thread abläuft dann blockt das in der Zeit die aufrufende Methode.
Also so was in der Art.
public delegate void CallbackWriteToRichtext(string Line);
private void WriteRichtextboxOverCall(string TextLine)
{
if (this.rtb.InvokeRequired)
{
CallbackWriteToRichtext d = new CallbackWriteToRichtext(WriteRichtextboxOverCall);
this.rtb.Invoke(d, new object[] { TextLine });
}
else
{
this.rtb.AppendText(TextLine+"\n");
}
}
Was machst Du mit den Empfangen Daten.
Verarbeitest Du die schnell genug bzw Ausgabe Threadsicher?
Was passiert wenn Du nicht mit dem Event verbunden bist?
Welchen Übertragungsweg hast Du? Klassisch Kabel, USB-Adpter oder Infrarot?
Und was passiert wenn Du das mal auf Text und
serialPort.Encoding = Encoding.Unicode umstellst.
Wenn der Anwender im FolderBrowserDialog ein Pfad wählt, der Bestandteil eines Special Folder ist und dann einen Unterordner erstellt, erhalte ich als Pfadrückgabe zBsp.: "C:\Users\neuerOrdner". Will ich dann diesen erstellen, scheitere ich, weil dieser Ordner bei mir "Benutzer" benannt ist und der Originale "Users" versteckt und mit schreibschutz versehen ist.
Gibt es eine einfache Möglichkeit zu erkennen, ob ein Teil des Pfades SpecialFolders enthält, bzw. kann man der FolderBrowserDialog-Kompenente das abgewöhnen, die OriginalPfadbezeichnung zu benutzen und die deutschen Relativen Pfade auszuwerfen?
Vielen Dank
Hallo ErfinderDesRades geht das bei Dir unter Visual 2010 ?
Hier mal meine Handlungsschritte: (Visual 2010)
using System.Drawing;
using System.Windows.Forms;
private List<Color> _farbenListe = new List<Color>();
public List<Color> FarbListe
{
get { return _farbListe; }
set { _farbListe = value; }
}
Anwendung gestartet / beendet.
Aus Toolbox die neue Component genommen und ins Formular gebracht.
Anwendung startet nicht / Fehler
Probierma die Property ohne setter zu machen, zur Laufzeit willst du die Liste ja wohl nicht austauschen oder?
Ohne Setter geht das, aber Einstellungen im PropertyGrid werden dann auch nicht abgespeichert was ich natürlich benötige. Auch zur Laufzeit brauche ich bei fast allen Aufgabenstellung den Setter. Ich habe das jetzt mal dem Visual Team gesendet, aber das kann ewig dauern.
Achso System.Collections.Generic.List`1 scheint bei der Serialisierung so eine Art Platzhalter zu sein.
Folgende neue Erkenntnis:
Da das in Visual 2008 ja läuft habe ich von dort den Teil wo die Komponente serialisiert wird aus der resx des Formulars kopiert und in Visual 2010 in die resx Datei kopiert. Damit startet auch unter 2010 die Anwendung und man kann auch Farben auslesen die in Visual 2008 eingestellt worden.
Wenn man jetzt die Anwendung beendet und im PropertyGrid die Farben verändert und jetzt wieder starten will dann scheitert das mit oben benannter Fehlermeldung.
Meine Frage ist ob das nur mein Visual Studio 2010 macht oder ob jemand das in seinem Visual Studio 2010 nachstellen kann.
Denn ich wundere mich das da noch nicht mehr von diesem Fehler zu lesen ist. Denn Generic Listen in Komponenten benutzen ja sicher viele.
Für Hilfe wäre ich sehr dankbar.
Möglicherweise hilft die das weiter
FileStream("File.txt",FileMode.Open, FileAccess.ReadWrite, FileShare.Read);
Da fehlt auf jeden Fall ein :::
Sorry hatte ich leider beim übertragen weggelassen. Also in der Komponente habe ich den Verweis drinn.
Also auch mit using System.Collections.Generic; läuft das unter Visual 2010 nicht.
Die Probleme auf jeweils eine eingene Klassen zu verteilen hilft wenn man später Sachen weiter verwenden will.
Hallo JAck30lena,
System,
SytemData,
System.Deployment,
System.Drawing,
System.Runtime.Serialization,
System.Windows.Forms,
System.Xml
Das hilft sicher:
http://www.munichdot.net/Artikel/94.aspx
Hallo,
Du müsstets dich mit folgendem Grundsachen beschäftigen.
public delgate void KopfBewegenEventHandler(object Sender, EventArgs e);
public event KopfBewegenEventHandler KopfBewegen;
protect void OnKopfBewegen()
{
if (KopfBewegen != null)
{
KopfBewegen(this,new EventArgs());
}
}
wenn Du die Sachen eingebaut hast, kannst Du die automatische Vervollständigung nutzen. Also wenn du ein Ereignis anbinden willst dann nach += einfach die Tabtaste drücken und dann wird sehr viel automatisch erzeugt.
Das Wort Makro wird übrigens eher selten in diesem Zusammenhang benutzt. 🙂
Habe den Quellltext mal in Visual Studio 2008 gebracht.
Dort geht es.
Also offensichtlich ein Fehler von Visual Studio 2010.
Leider habe ich in dem Artikel nichts gefunden was mir weiterhilft oder es nur nicht verstanden.
Mich wundert, dass ich im PropertyGrid ja auf die Eigenschaften zugreifen und auch neue Listeinträge erstellen kann.
Nur zur Laufzeit scheitert die Sache dann.
Der Quelltext ist ja sehr übersichtlich. Wo habe ich da was vergessen?
Hallo Leute,
irgendwie bin ich zu blöd. Ich habe ein Komponente von einem Panel abgeleitet und dort eine Eigenschaft public FarbList<Color> eingefügt . Bei Color handelt es sich um System.Drawing.Color
Wenn ich die Komponente auf ein Formular ziehe wird mir die FarbListe auch im PropertyGrid angezeigt und ich kann Farben hinzufügen und sie verändern.
Wenn ich die Anwendung starten will kommt folgender Fehler:
Es konnte kein Typ für einen Namen gefunden werden. Der Typname war System.Collections.Generic.List`1[[System.Drawing.Color, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089. Zeile 131, Position 5. M:\projekte\Visual2010\SimpleGenericList\SimpleGenericList\Form1.resx 131 5 SimpleGenericList
Tausche ich den Color-Type mit einem Int oder bool geht alles wie es soll.
Auch Array ist kein Problem.
Den Color-Typ habe ich jetz nur mal als Beispiel genommen. In meiner Anwendung nehme ich einen eigenen DatenTyp mit dem es leider auch nicht geht.
Irgendwie gibt es bei den Generic List<> noch einen Trick den ich nicht kenne.
Vielleicht könnt Ihr mich ja mal aus meinem geistigen Tief rausholen.
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using System.Xml.Serialization;
using System.Collections.Generic;
namespace SimpleGenericList
{
[Serializable]
public partial class FarbigesPanel : Panel
{
private List<Color> _farbListe = new List<Color>(1);
[TypeConverter(typeof(System.ComponentModel.CollectionConverter))]
public List<Color> FarbListe
{
get { return _farbListe; }
set { _farbListe = value; }
}
public FarbigesPanel()
{
InitializeComponent();
}
public FarbigesPanel(IContainer container)
{
container.Add(this);
InitializeComponent();
}
}
}