Laden...

Forenbeiträge von Prybe Ingesamt 29 Beiträge

29.07.2008 - 16:59 Uhr

Hi

Suchst du sowas hier ..

Wenn du die Bilder einfach in einem Ordner hast:


System.IO.Stream st;
System.Reflection.Assembly a = System.Reflection.Assembly.GetExecutingAssembly();
                st = a.GetManifestResourceStream("ProjektName.OrdnerMame.Bild.bmp");
                Bitmap bild = new Bitmap(st);
                ImageList list = new ImageList();
                list.Images.Add(bild);

mfg
Martin

11.07.2008 - 16:14 Uhr

Hi,

ich versuche den Wechsel einer Auswahl in einer ComboBox mitzubekommen.
aber nicht erst, wenn ich es bestätigt habe sondern schon wenn ich die combobox öffne und mit der maus auf ein item zeige sodass es markiert wird.

ich würde eben gerne auslesen was ich gerade markiere während die combobox noch offen ist.

hat jemand irgendwelche ideen ?

mfg
Martin

08.07.2008 - 16:46 Uhr

Hi,

wie druckst du bzw. mit welchem Aufruf ?

mfg
Martin

01.07.2008 - 16:15 Uhr

Habe es hin bekommen.

MappedFile mit Serialisieren und CopyMemory.

Bei Interesse Mail an mich.
Ich möchte es noch nicht posten da es noch sub-optimal ist.
Das Serialisieren dauert noch ein wenig lange.
Und ich versuche das zu umgehen.

[edited]: Serialisierung umgangen mit reinem MemoryStream

mfg
Martin

01.07.2008 - 11:37 Uhr

Hallo,

ich versuche gerade zwischen 2 Prozessen zu kommunizieren und da das
besonders schnell gehen muss versuche ich es gerade mit MemoryMappedFile.

Leider klappt das nicht so ohne weiteres.

Mein erster Prozess legt eine MMF an und mapped diese erfolgreich.
Nun möchte ich ein Bitmap austauschen. Dazu erstelle ich ein Grahics Object
vom Bitmap und schreibe den Pointer rein.


IntPtr mappedViewHandle = MapViewOfFile(mmfHandle, (uint)FILE_MAP_WRITE, 0, 
0, 0);



Marshal.WriteIntPtr(mappedViewHandle, gfxScreenshot.GetHdc());

Das ganze scheint auch so zu klappen.

Mein zweiter Prozess liest nun die MMF und mapped sie.

Das scheint auch zu klappen.


IntPtr mappedFileHandle = OpenFileMapping((int)FileAccess.ReadWrite, false, 
"MMF");



IntPtr mappedViewHandle = MapViewOfFile(mappedFileHandle, 
(uint)FILE_MAP_READ, 0, 0, 0);

IntPtr bmpHandle = Marshal.ReadIntPtr(mappedViewHandle);

nun versuche ich mit diesem Handle das Bitmap wieder herzustellen


gfxScreenshot = Graphics.FromHdc(bmpHandle );

Nur das klappt nicht.

Ich bekomme die Exception "Nicht genügend Arbeitsspeicher".

Ich weiß leider nicht warum.

Evt. funktioniert schon mein schreiben nicht.

Weiter unten mal meine Funktionen.

danke im vorraus

Martin

Das Schreiben in die MMF:


public IntPtr CreateMMF(string fileName, FileAccess access, int size)

{

if (size < 0)

throw new ArgumentException("The size parameter should be a number greater 
than Zero.");

IntPtr memoryFileHandle = CreateFileMapping(0xFFFFFFFF, IntPtr.Zero, 
(uint)access, 0, (uint)size, fileName);

if (memoryFileHandle == IntPtr.Zero)

throw new Exception("Creating Shared Memory failed.");

return memoryFileHandle;

}

private void SendToMMF()

{

IntPtr mappedViewHandle = MapViewOfFile(mmfHandle, (uint)FILE_MAP_WRITE, 0, 
0, 0);

if (mappedViewHandle == IntPtr.Zero)

throw new Exception("Creating a view of Shared Memory failed.");

Marshal.WriteIntPtr(mappedViewHandle, gfxScreenshot.GetHdc());


UnmapViewOfFile(mappedViewHandle);

CloseHandle((uint)mappedViewHandle);

}

Und das Lesen:


public IntPtr ReadHandle()

{

IntPtr mappedFileHandle = OpenFileMapping((int)FileAccess.ReadWrite, false, 
"MMF");

if (mappedFileHandle == IntPtr.Zero)

throw new Exception("Opening the Shared Memory for Read failed.");

IntPtr mappedViewHandle = MapViewOfFile(mappedFileHandle, 
(uint)FILE_MAP_READ, 0, 0, 0);

if (mappedViewHandle == IntPtr.Zero)

throw new Exception("Creating a view of Shared Memory failed.");

IntPtr windowHandle = Marshal.ReadIntPtr(mappedViewHandle);


if (windowHandle == IntPtr.Zero)

throw new ArgumentException("Reading from the specified address in Shared 
Memory failed.");

UnmapViewOfFile(mappedViewHandle);

CloseHandle((uint)mappedFileHandle);

return windowHandle;

}



private Bitmap CreatePicture(IntPtr picPointer)

{

Bitmap bmpScreenshot;

Graphics gfxScreenshot;

// Create a graphics object from the picPointer

gfxScreenshot = Graphics.FromHdc(picPointer);


// Get the bitmap object

bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, 
Screen.PrimaryScreen.Bounds.Height, gfxScreenshot);

return bmpScreenshot;

}

24.06.2008 - 10:35 Uhr

jap ... nur der SplitContainer besitzt SplitterWidth

mfg
Martin

11.06.2008 - 12:01 Uhr

Okay ..

  • Also du hast eine DeviceApplication erstellt
  • Zielplattform Windows CE 5.0

also selbst kenne ich das UseWaitCursor beim CompactFramework nicht.

Falls es das geben sollte, brauchst du auf jeden Fall das CompactFramework 2.0.

Hast du das installiert ? evt. nochmal installieren.
Ursprünglich müßte Windows CE mit dem 1.0 CompactFramework arbeiten.
Das CF 2.0 muss nachinstalliert werden.

(Glaube ich)

mfg
Martin

03.06.2008 - 14:49 Uhr

Hi,

nicht ganz so schön:

http://support.microsoft.com/kb/319946

ist halt blöd das du erstens die Liste vorher sortieren solltest und zweitens - keine box mit den restlichen möglichkeiten erscheint.
bzw, wenn du aufklappst bleiben alle drin und es wird nur einer markiert.

aber das sollte schon irgendwie gehen.
ist zumindest ein anfang.

wäre cool wenn du, falls du es weiterentwicklest, postest.
ich weiß nicht ob ich dazu komme.

mfg
Martin

10.04.2008 - 09:52 Uhr

Ok, das klingt auch gut 🙂

Aber wenn eine Datenbank als Source dient und es zu einer Änderung kommt - und damit zu einem Update oder Insert ..

gibt es dann nicht ein Problem wenn da keine Zelle ist ?

Ok wenn nichts darunter hängt, geht es ja.

mfg
Martin

10.04.2008 - 09:50 Uhr

gaz blöd würde ich sagen ..

installier mal die VS2005 Express und schau ob du damit drauf kommst.
Aber ich befürchte das das auch nicht klappt.

Was für SQL Dienste laufen denn ?

Blockt ne Firewall den Port ? Ist überhaupt eine Firewall an ?

Hast du mal probiert eine Verbindung ohne Designer herzustellen ?
Das würde ich glaub ich mal probieren.

Mal eine SQLConnection bauen und verbinden.
Evt geht der Designer blos aus irgendeinem Grund nicht.
Oder du bekommst ne Exception mit man was anfangen kann.

mfg
Martin

09.04.2008 - 17:03 Uhr

Hi,

Ich brauche mehr Input 🙂

zu 1:
Von welchem Typ sind deine Spalten ?
Eine für Datum und eine für die Zeit ?

Evt. ein Bsp.

Spalte 1 Spalte2
....... ........

zu 2:

Spalte1 Spalte2
a b
b c
d e

und du willst dann was raus bekommen ?

mfg
Martin

09.04.2008 - 16:58 Uhr

Hi,

Was bekommst du nicht angezeigt und wo ?

Bei Dataconnection -> Add DataConnection bekommst du das Fenster "Typ wählen" dann die Verbindung.
Du gehst auf neue Verbindung -> Datenquelle wählen "sql server"
und dann bekommst du bei Servername bzw bei der Auswahl nichts angezeigt.

Hab ich das bis hierhin richtig verstanden ?

Eine Instanz vom SQL Server läuft aber oder ?
Sprich die SQL Server Dienste usw.
Du kommst mit dem ManagementStudio drauf ?

Und die Protokolle sind auch aktiviert ?

mfg
Martin

09.04.2008 - 16:48 Uhr

hi,

Schmeiß den Logger raus und dann siehst du ob es daran liegt. 🙂

Aber eigentlich nicht wenn deine angegebene Reihenfolge stimmt.
Erst werden die Befehle geschickt, dann geloggt.

Und was heißt "reagiert verzögert".
Kommt eine Rückantwort verzögert oder macht das Gerät auf den Befehl hin etwas verzögert ?

Könntest du das nochmal erklären was du damit meinst :
"(Das Ganze Befehlschicken wird mittels Keydown & up realisiert) "

Wie schickst du deine Befehle los, was für Befehle und wann ?
Evt. Code 🙂 ?
Und bekommst du Antworten vom Gerät ?

mfg
Martin

09.04.2008 - 16:35 Uhr

Hi,

Was willst du damit erreichen das die Zelle ausgeblendet wird.

Was soll an dieser Stelle denn sonst stehen oder gezeichnet sein ?
So ganz verstehe ich den Nutzen nicht.

Soll der User blos den Inhalt nicht sehen und ändern dürfen ?
Und soll ein weißes Feld an der Stelle sein ?

Angenommen dem User soll der Inhalt dieser Zelle verborgen sein unabhängig von Spalte und Zeile dann würde ich 3 Sachen machen ..

  • versuch in der Zelle die Schriftfarbe zu setzen auf weiß
  • versuch in der Zelle die Hintergrundfarbe zu setzen auf weiß
  • setz die Zelle auf .enable = false (um Eingaben zu verhindern)

mfg
Martin

07.04.2008 - 10:21 Uhr

Hi,

mal ne Hardcorefrage.

Ich möchte/will/muss eine Prozess-Prozess Kommunikation aufbauen.

Ein Prozess macht irgendwas.
Prozess sendet nun Daten an 4 Prozesse.
Von diesen 4 Prozessen bekommt er Daten zurück.

Wie kann man das realisieren ?
Ich kann keine Threads verwenden - es müssen Prozesse sein.

Zu den 4 Prozessen geht eine Bilddatei.
Zurück kommen Werte - strings, doubles, ints.
Die verwertet er dann.

Ich habe was über Windows API und WM_COPYDATA gelesen und über MailSlots.
Oder doch Remoting ?
Welche Kommunikation geht am schnellsten ?

mfg
Martin

27.03.2008 - 17:05 Uhr

Hi,

also ich habe das mal nachgebaut und bei mir funktioniert alles.

Also ein Dataset im Designer erstellen mit einer Datatable.

meine Bindingsource hat als Datasource mein dataSet1
damit entsteht dataTable1BindingSource

mein Datagridview hat als Datasource das dataTable1BindingSource

und ein bindingnavigator hat als datasource dataTable1BindingSource.

fertig - geht

Ich tippe auf ein falsches binding.
Oder hast du ein dynamisches dataset oder ein festes ?

mfg
Martin

27.03.2008 - 16:22 Uhr

Naja okay.

Also ich kann es nicht so ganz nachvoll ziehen.

Habe gerade mal ein dgv erstellt mit einigen unsichtbaren spalten.

per button den displayindex gespeichert, alles umsortiert und auf einen anderen button wieder hergestellt und es komm immer das gespeicherte aussehen wieder.

nur das die unsichtbaren spalten wandern. aber die sind eben nicht sichtbar beim drag/dropppen - also verständlich.
Keine Ahnung wie da die Regel ist wonach er die unsichtbaren hinsortiert.
Aber wozu ist der DisplayIndex der unsichtbaren Spalten wichtig ?
Oder kann man die ein/ausblenden ?

aber das der displayindex weit hinten ist obwohl sie in der mitte sichtbar sind konnte ich noch nicht beobachten.
Aber das viele unsichbare davor stehen kann nicht sein oder ?
(blöd gefragt)

mfg
Martin

27.03.2008 - 15:25 Uhr

Evt das hier ..

//Anzeigereihenfolge
//Dabei mußt du aber alle Columns durchgehen
dgv_dataGridView1.Columns[0].DisplayIndex

//Noch ein Tipp damits korrekt wird
//Sortierung - welche Spalte und absteigend oder aufsteigend
DataGridViewColumn col = dataGridView1.SortedColumn;
System.Windows.Forms.SortOrder order = dataGridView1.SortOrder;

Den Displayindex fragst du jedes mal ab wenn der User was verschoben hat oder so und speicherst es dir weg.

mfg
Martin

13.03.2008 - 17:02 Uhr

Hallo,

Ich habe schon ein wenig mit WebRequest herumgespielt und komme auch ganz gut klar.
Aber kann man sich auch auf Seiten einloggen ?
Foren etc.

Ich suche eine Möglichkeit mich bei dooyoo.de einzuloggen mit meinem Account.

Geht das irgendwie ?

mfg
Martin

09.10.2007 - 13:28 Uhr

hat sich erledigt.

DropDown zu DropDownList Eigenschaft ändern.

09.10.2007 - 13:26 Uhr

Hallo,

ich habe eine ComboBox erstellt mit einem DataSet als DataSource.

Wie kann ich die ComboBox vor manueller Eingabe schützen?
Vergleichbar mit der ReadOnly Eigenschaften bei TextBoxen.

Wie Auswahl soll noch funktionieren aber ich möchte keine Tastatureingaben zulassen sodass der Test geändert werden kann.

danke im vorraus
Martin

P.S. ich nutze Visual Studio 2005, C#

03.05.2007 - 15:21 Uhr

Lösung siehe Code:

<
string assembly = "...";
Assembly ass = Assembly.LoadFrom(assembly);

Stream st =
ass.GetManifestResourceStream("Testcontrol.Resources.Winter.jpg");

Image image = Image.FromStream(st);
>

-Testcontrol ist der namespace.
-resources der Ordner in dem das Image liegt
-Winter.jpg der name des Bildes.

Man muß nur beachten das man in der Assembly die man erstellt immer einen Ordner Resources hat in dem das Bild rein kommt.
Und das das Bild im "Buildvorgang" als "eingebettete Ressource" deklariert wird.
Dann kann man die Sache auch so unabhängig von Dateinamen etc machen.
Das sollte ja mein Zeil sein.

danke und Grüße

03.05.2007 - 14:17 Uhr

Hallo,

ich habe ein UserControl geschrieben.
Dieses Control möchte ich in einer anderen Anwendung verwenden.

Nun würde ich gerne ein Bild in die Assembly mit rein packen das ich dann in der anderen Anwendung auslesen kann. Quasi als Icon dann später nutzen.

Wie stelle ich das an ?

Ich binde die Assembly dynamisch ein per Assembly.LoadFrom ..
und Assembly.CreateInstance( .... )

Damit erzeuge ich mir das Control.

Aber wie komme ich an das Bild ?

danke im vorraus
Martin

12.04.2007 - 15:23 Uhr

Hallo,

ich habe eine Anwendung für einen PDA geschrieben.
Nun möchte ich abfragen ob eine Speicherkarte eingelegt ist.

Ich könnte zwar nach einem Ordner "Speicherkarte" suchen (funktioniert auch) aber gibt es da evt. etwas besseres ?
Evt. sogar ein Event aus der coredll oder so ?

Ich schätze bei der Ordner "Speicherkarte" wird sich ändern von engl. zu deutschen Versionen. Dann noch ob es Windows Mobile oder PocketPC ist usw.

Hat jemanden einen Tipp wie man das noch abfragen kann ?

danke im vorraus !

05.04.2007 - 12:01 Uhr

hat sich erledigt.

ich habe ein event an das binding objekt der Textbox angehängt.
.Parse
und in der aufgerufenen Methode überprüfe ich den aktuellen wert.

05.04.2007 - 09:24 Uhr

Hallo,

ich erstelle gerade ein Windows Mobile Anwendung in Visual Studio 2005.
Ich habe ein Dataset und eine Textbox.
Den Text der Textbox habe ich an eine Spalte des Ds bzw der DataTable gebunden die einen INT Wert erwartet.

Gebe ich nun einen Buchstaben in die Textbox ein kann ich die Textbox nicht mehr verlassen.
Im Debug Modus bekomme ich in der Ausgabe eine FormatException in mscorlib.dll.
Kann ich diese Exception irgendwie abfangen ?

Ich habe ja keine Methode in der ich eine Zeile hinzufüge und es mit try catch lösen könnte.
Der Wert wird ja bei "onPropertyChanged" in das Dataset geschrieben.

Wie kann ich diese Exception abfangen ?

danke im vorraus

03.04.2007 - 15:37 Uhr

Hi,

du hast das Dataset gelöscht und dann neu angelegt und gefüllt.
soweit so gut.

Und nach dem Löschen ist die zuordnung des Tableadapter weg.
Deswegen geht es nur beim Start aber nach dem löschen usw nicht mehr.

TODO nach dem Löschen:

Warum nimmst du nicht deine combobox und machst folgendes.

//Der Verweis auf die Datatable
//Tables[0] - ich gehe davon aus das nur eine Tabelle drin steht.
combobox1.DataSource = DataSet.Tables[0];

//Der Verweiss auf die Spalte - was er eben anzeigen soll
//Das ist der Punkt das er nicht das Objekt als DataRowView interpretiert
combobox1.DataMember = "{dein Spaltenname in der DataTable als String}";

und das wars auch schon !

mfg Martin

26.03.2007 - 15:50 Uhr

Das Problem war das noch nichts in dem Databinding stand.
Er liest erst bevor er schreibt.

Ich schätze <DBNull> konnte er nicht lesen.

Ich füge jetzt am Anfang eine typisierte Datarow hinzu.
dataset1.datatable1.AddDataTable1Row(dataset1.datatable1.NewDataTable1Row())
Und beim Clear des Datasets anschließend auch.

Ich weiß das dies nicht die schönste Lösung ist und es höchst wahrscheinlich auch anders geht aber naja.
Die DataTable Columns sind teilweise bool, teilweise int, teilweise string werte und da kann ich bei Einigen bei nullValue leider kein empty angeben.

Zumindest funktioniert es so.
Evt. finde ich oder Ihr noch eine bessere Lösung!

25.03.2007 - 17:51 Uhr

Hallo,

ich nutze Visual Studio 2005 und möchte folgendes machen.

Ich habe ein Dataset mit einer Tabelle erstellt.
Nun habe ich eine Textbox die ich per Databinding an eine Spalte der Tabelle binde.

Jetzt sollte sich doch bei Textänderung der Textbox das Dataset bzw die Tabelle füllen oder ?
Oder habe ich etwas vergessen.
Denn wenn ich eine XML Datei aus dem Dataset erstelle ist diese leer.

Was habe ich vergessen oder was mache ich falsch!

danke im vorraus !