Laden...

Forenbeiträge von dimuwe Ingesamt 168 Beiträge

25.07.2012 - 11:38 Uhr

Hallo herbivore,

das ist die Information über das Bild. Sieht wohl so aus,als wenn es 24 bpp hat.
Was nun, ich weis wirklich nicht weiter!
dimuwe

25.07.2012 - 10:05 Uhr

Super Leute, das stimmt.
Da wir es nun wissen, was kann ich nun tun um diesen Fehler zu beseitigen?
Wenn ich mich recht besinne, habe ich bisher keine Fehler bekommen wenn ich *jpg einbinde.

24.07.2012 - 13:45 Uhr

Hi,

außer die MassageBox kommt nix
Im Quellcode sieht es dann so aus

24.07.2012 - 13:35 Uhr

Hallo an alle,

ich dachte das ich das habe!
Aufruf:


 this.imglsKeypadModes.Images.Add(((System.Drawing.Image)(resources.GetObject("resource"))));  

Die Fehlermeldung kommt als Messagebox und wenn man auf Ok klickt bricht das Debuggen ab.

Es gibt eine Meldung "System.Drawing.Bitmap
Es kann gut sein, dass Du eine solche noch nicht hattest.

24.07.2012 - 13:24 Uhr

Hallo,
Aufruf:


this.imglsKeypadModes.ImageSize = new System.Drawing.Size(22, 22);
            this.imglsKeypadModes.Images.Clear();
            this.imglsKeypadModes.Images.Add(((System.Drawing.Image)(resources.GetObject("resource")))); 

Fehlermeldung: System.Drawing.Bitmap; danach ABBruch!!

Das ist alles und ich weis nicht warum?
dimuwe

24.07.2012 - 13:07 Uhr

VS2008, C#

Fall: Ich habe im Designer eine ImageList zugefügt. Ein Bild ausgewählt "*.jpg".
Wenn ich das ganze nun Kompiliere kommt der Fehler "System.Drawing.Bitmap" und schließt das Debuggen.

 - in der frmMain.Designer
this.imglsKeypadModes.ImageSize = new System.Drawing.Size(22, 22);
            this.imglsKeypadModes.Images.Clear();
            this.imglsKeypadModes.Images.Add(((System.Drawing.Image)(resources.GetObject("resource"))));

Ich weis einfach nicht, wass da falsch sein soll?
Für Hinweise wäre ich dankbar.
dimuwe

31.07.2011 - 16:43 Uhr

Hallo,

ich habe folgendes Problem.
Unter dem Compact Framework funktioniert folgende Zeile.


double nTest = double.Parse( "1234.99" );

In nTest steht 1234.99

die selbe Zeile in dem Programm (Framework 2.0) auf dem PC funktioniert diese nicht!

double nTest = double.Parse( "1234.99" );

In nTest steht 123499.0

Wo ist hier der Fehler?

Vielen Dank
dimuwe

09.07.2011 - 17:17 Uhr

Hallo,

Der Report soll angezeigt werden, aber über einen anderen Button(als der vom ReportViewer selbst) ausgedruckt werden.
Ebenfalls möchte ich auch das Druckdialogfeld haben, kann aber nicht "reportViewer1.PrintDialog();" verwenden, da ich da nichts zurück bekomme.

Folgenden Code habe ich zum Drucken eines Reports.


private void btnPrint_Click( object sender, EventArgs e )
{
    Warning[] warnings;
    m_streams = new List<Stream>();
    string deviceInfo =
						  "<DeviceInfo>" +
						  "  <OutputFormat>EMF</OutputFormat>" +
						  "  <PageWidth>8.5in</PageWidth>" +
						  "  <PageHeight>11in</PageHeight>" +
						  "  <MarginTop>0.25in</MarginTop>" +
						  "  <MarginLeft>0.25in</MarginLeft>" +
						  "  <MarginRight>0.25in</MarginRight>" +
						  "  <MarginBottom>0.25in</MarginBottom>" +
						  "</DeviceInfo>";

     reportViewer1.LocalReport.Render( "Image", deviceInfo, CreateStream, out warnings );
     foreach ( Stream stream in m_streams )
     	stream.Position = 0;

    if ( m_streams == null || m_streams.Count == 0 )
				return;

    PrintDialog pDialog = new PrintDialog();
    PrintDocument printDoc = new PrintDocument();
    printDoc.PrintPage += new PrintPageEventHandler( PrintPage );
    pDialog.Document = printDoc;

    DialogResult res = printDialog1.ShowDialog();
    if ( res == DialogResult.OK )
    {
	pDialog.Document.Print();    ------->>Hier der Fehler
    }
}

Soweit so gut. Das funktioniert auch, aber nur einmal!
Wenn ich einen neuen Report drucken will, kommt folgende Fehlermeldung an der oben angezeigten Stelle:
siehe Anhang

Kann mir den jemand helfen, oder sagen was ich falsch gemacht habe?

Vielen Dank
dimuwe

20.06.2011 - 13:32 Uhr

Danke für die Antwort.
Ja, die sind leer.

20.06.2011 - 10:47 Uhr

Vielen Dank trib,

leider funktioniert das auch nicht im Code.


this.AUFKLEBERTableAdapter.Fill( this.AufkleberDataSet.AUFKLEBER, "'0001', '0007'");

20.06.2011 - 10:45 Uhr

Hallo,
ich möchte zwei unterschiedliche Berichte wahlweise in einem Viewer anzeigen.
Folgenden Code habe ich dazu.


        private void btnBoxaufkleber_Click( object sender, EventArgs e )
        {
            try
            {
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource1 = new Microsoft.Reporting.WinForms.ReportDataSource();
                reportDataSource1.Name = "AufkleberDataSet_AUFKLEBER";
                reportDataSource1.Value = this.AUFKLEBERBindingSource;
                this.reportViewer1.LocalReport.DataSources.Add( reportDataSource1 );
                this.reportViewer1.LocalReport.ReportEmbeddedResource = "BB_Desktop.Report_Karton.rdlc";

                this.AUFKLEBERTableAdapter.Fill( this.AufkleberDataSet.AUFKLEBER);
                this.reportViewer1.RefreshReport();
                this.reportViewer1.SetDisplayMode( Microsoft.Reporting.WinForms.DisplayMode.PrintLayout );
            }
            catch ( Exception ex )
            {
                MessageBox.Show( ex.Message );
            }
        }

        private void btnLieferscheindrucken_Click( object sender, EventArgs e )
        {
            try
            {
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource1 = new Microsoft.Reporting.WinForms.ReportDataSource();
                reportDataSource1.Name = "AufkleberDataSet_LIEFERSCHEIN";
                reportDataSource1.Value = this.LIEFERSCHEINBindingSource;
                this.reportViewer1.LocalReport.DataSources.Add( reportDataSource1 );
                this.reportViewer1.LocalReport.ReportEmbeddedResource = "BB_Desktop.Report_Delivery.rdlc";
                this.LIEFERSCHEINTableAdapter.Fill( this.AufkleberDataSet.LIEFERSCHEIN );
                this.reportViewer1.RefreshReport();
                this.reportViewer1.SetDisplayMode( Microsoft.Reporting.WinForms.DisplayMode.PrintLayout );
            }
            catch ( Exception ex )
            {
                MessageBox.Show( ex.Message );
            }
        }

Leider funktioniert dies nicht. Es wird immer nur das Layout des ersten angezeigt.
Das heißt, wenn ich zuerst Aufkleber wähle dann wird nur dieser Bericht angezeigt und umgedreht.

Was mache ich hier falsch?
Besten Dank
dimuwe

20.06.2011 - 08:56 Uhr

verwendetes Datenbanksystem: SQL Compact 3.5
Hallo,

ich habe folgende Abfrage mit Parameter in einem DataSet.


SELECT     ID, ComNo1, ComNo2, ScnNo, CtnNo, LieferNo, Art_Modell, Art_Stoff, Farbe, [Set], Gr1, Me1, Gr2, Me2, Gr3, Me3, Delivery, Empfaenger, RefOrder, 
                      Gedruckt, Abgeglichen, Leer
FROM         AUFKLEBER
WHERE     (CtnNo IN (@Items)) AND (Gedruckt = 0)

Wenn ich die Werte in der Abfrage eintrage, "CtnNo IN (0001,0007)", funktioniert die Abfrage.
Wenn ich die Parameter eingebe, funktioniert es nicht (siehe Bild)

Was mache ich da falsch?
Vielen Dank
dimuwe

20.06.2011 - 07:34 Uhr

Hallo Gü,

vielen Dank, genau das war es.

dimuwe

19.06.2011 - 18:18 Uhr

verwendetes Datenbanksystem: SQL Compact 3.5

Hallo,
Ich habe einen Report erstellt in dem ich im Textkörper
eine Liste, worin die ganzen Datenfelder sind.
Die Festen Felder und Linien habe ich direkt auf dem Textkörper.

Wenn nun der report im Reportviewer angezeigt wird, hat nur die erste Seite die festen und variablen Daten. Alle weiteren haben nur die variablen Daten.

Was ist da falsch?

besten Dank
dimuwe

19.06.2011 - 17:50 Uhr

Hat sich erledigt


TableAdapter.Fill( DataSet.TABELLE, "0001,0007" );

funktioniert

19.06.2011 - 17:35 Uhr

verwendetes Datenbanksystem: SQL Compact 3.5
Hallo,
ich habe folgende Abfrage mit Parameter in einem Dataset.


SELECT     ID, ComNo1, ComNo2, ScnNo, CtnNo, LieferNo, Art_Modell, Art_Stoff, Farbe, [Set], Gr1, Me1, Gr2, Me2, Gr3, Me3, Delivery, Empfaenger, RefOrder, 
                      Gedruckt, Abgeglichen, Leer
FROM         TABELLE
WHERE     (CtnNo IN (@Liste))

Leider Funktioniert diese nicht, es werden keine Datensätze angezeigt.

Den Parameter übergebe ich:


TableAdapter.Fill( DataSet.TABELLE, "'0001','0007'" );

Was mache ich falsch, wie werden die Parameter für WHERE IN übergeben?

Vielen Dank
dimuwe

13.06.2011 - 15:26 Uhr

Hallo Gü,

trotzdem vielen Dank für die Mühe.
Ich werde es dann mal Client-seitig versuchen.

dimuwe

13.06.2011 - 13:47 Uhr

Hallo Gü,

vielen Dank dafür.

ID ComNo1 ComNo2 ScnNo CtnNo E_TeileNr Verarbeitet
2 011 400044 A01 0009 076175434 0
3 011 400044 A01 0007 076175453 0
4 011 400053 A01 0001 076350504 0
5 011 400053 A01 0001 076350505 0
6 011 400053 A01 0007 076350551 0
7 011 400053 A01 0002 076350552 0
8 011 400053 A01 0002 076350553 0
9 011 400053 A01 0001 076350554 0
0 011 400053 A01 0001 076350555 0

reichen die?
dimuwe

13.06.2011 - 13:38 Uhr

Hallo Gü,

danke für die Antwort.
Groupe By-Unterabfrage?
Wie würde diese denn in diesem Fall aussehen.

Vielen Dank für die Hilfe
dimuwe

13.06.2011 - 12:24 Uhr

verwendetes Datenbanksystem: SQL Compact 3.5 (CE)

Hallo,
ich habe folgende Abfrage:


SELECT     MAX(ScnNo) AS ScnNo, CtnNo, COUNT(ETeileNr) AS ETeile, COUNT(ComNo2) AS Com
FROM         TICKETINGDATEN
WHERE     (Verarbeitet = 0)
GROUP BY CtnNo
ORDER BY CtnNo

Als Ergebnis bekomme ich:

A01	0001	4	4
A01	0002	2	2
A01	0007	2	2
A01	0009	1	1

Soweit so gut!
Ich möchte aber folgendes Ergebnis:

A01	0001	4	1
A01	0002	2	1
A01	0007	2	2
A01	0009	1	1

Dies würde man mit "... COUNT(DISTINCT ComNo2) AS Com" hinbekommen.
Aber ich bekomme eine Fehlermeldung, das DISTINCT in SQLCE nicht unterstütz wird.

Meine Frage ist nun, wie kann ich dies hinbekommen?

Vielen Dank
dimuwe

17.05.2011 - 00:22 Uhr

das habe ich auch schon versucht.
SELECT Feld1,Feld2,Feld3,Feld4,Feld5,Feld6,Feld7,Feld8,Feld9,Feld10,Feld11,Feld12,Feld13,Feld14,Feld15,Feld16,Feld17,Feld18
FROM Tabelle
GROUP BY Feld4

Da bekomme ich aber eine fehlermeldung:
In Aggregat- und Gruppierungsausdrücken darf die Select-Klausel nur Aggregat- und Gruppierungsausdrücke enthalten!
Sprich: Select Feld4 From Tabelle Group By Feld4

Oder verstehe ich das falsch?

dimuwe

16.05.2011 - 23:57 Uhr

Vielen Dank,

ich will sagen,
die Daten stehen in einer Datenbank in einer Tabelle!
Mit einer Selectanweisung bekomme ich oberes Ergebnis.
Ich möchte aber ein Ergebnis haben, wie es in der unteren dargestellt ist.
Bekomme es aber nicht hin, deshalb meine Frage.

kann man das mit einer SQL-Anweisung lösen?

dimuwe

16.05.2011 - 22:37 Uhr

verwendetes Datenbanksystem: SQL Compact 3.5

Hallo,
ich habe hier ein Problem und kann es einfach nicht lösen.

Folgende Ausgabe bei: SELECT * FROM Tabelle

Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7;Feld8;Feld9;Feld10;Feld11;Feld12;Feld13;Feld14;Feld15;Feld16;Feld17;Feld18;
0001;400793;03050856;011000001;01;8811;4;;;;;;;;4;4;0;9
0001;400793;03050856;011000001;01;8811;;2;;;;;;;2;2;0;10
0001;400793;03050856;011000001;01;8811;;;2;;;;;;2;2;0;11
0001;400749;67180484;011000002;01;4123;4;;;;;;;;4;4;0;12
0001;400749;67180484;011000002;01;4123;;4;;;;;;;4;4;0;13
0001;400749;67180484;011000002;01;4123;;;4;;;;;;4;4;0;14
0001;400749;67180484;011000002;01;4123;;;;1;;;;;1;1;0;15

Ich benötige aber diese Zusammenführung:
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7;Feld8;Feld9;Feld10;Feld11;Feld12;Feld13;Feld14;Feld15;Feld16;Feld17;Feld18;
0001;400793;03050856;011000001;01;8811;4;2;2;;;;;;8;8;0;9
0001;400749;67180484;011000002;01;4123;4;4;4;;;;;;9;9;0;12

Kann mir bitte jemand sagen, wie ich dies mit einer SQL-Anweisung hin bekommen kann?

Vielen Dank
dimuwe

16.05.2011 - 15:33 Uhr

Hallo Bernd und vielen, vielen Dank für die Antwort.
Ich habe mal eine tabelle erstellt und es geht.

Nun habe ich meine Felder auf eine neu erstellt Liste gelegt und
von "=First(Fields!Empfaenger.Value)"
in "=Fields!Empfaenger.Value" geändert und siehe da, es geht. 😃

Vielen Dank
dimuwe

16.05.2011 - 14:35 Uhr

Hallo,

ich möchte aus einer Datenbank alle Datensätze drucken.
Pro Datensatz eine Seite.
Folgender Code funktioniert zwar, aber nur ein Datensatz 😦
Kann mir bitte jemand helfen?


public partial class frmReport : Form
    {
        private string s_report = "BB_Desktop.ctn_label.rdlc";
        public frmReport( string report )
        {
            s_report = report;
            InitializeComponent();
            this.reportViewer1.Dock = System.Windows.Forms.DockStyle.Fill;
            if ( s_report == "BB_Desktop.ctn_label.rdlc" )
            {
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource1 = new Microsoft.Reporting.WinForms.ReportDataSource();
                reportDataSource1.Name = "BBTicketingDataSet_BBBoxAufkleber";
                reportDataSource1.Value = this.BBBoxAufkleberBindingSource;
                this.reportViewer1.LocalReport.DataSources.Add( reportDataSource1 );
                this.reportViewer1.LocalReport.ReportEmbeddedResource = "BB_Desktop.ctn_label.rdlc";
            }
            else
            {
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource2 = new Microsoft.Reporting.WinForms.ReportDataSource();
                //          reportDataSource1.Name = "BBTicketingDataSet1_BBLieferschein";
                //          reportDataSource1.Value = this.BBLieferscheinBindingSource;
                this.reportViewer1.LocalReport.DataSources.Add( reportDataSource1 );
                this.reportViewer1.LocalReport.ReportEmbeddedResource = "BB_Desktop.Delivery.rdlc";
            }
        }

        private void frmReport_Load( object sender, EventArgs e )
        {
            if ( s_report == "BB_Desktop.ctn_label.rdlc" )
            {
                this.BBTicketingDataSet.EnforceConstraints = false;
                this.BBBoxAufkleberTableAdapter.Fill( this.BBTicketingDataSet.BBBoxAufkleber );
            }
            else
            {
                //             this.BBTicketingDataSet1.EnforceConstraints = false;
                //             this.BBLieferscheinTableAdapter.Fill( this.BBTicketingDataSet1.BBLieferschein );
            }
            this.reportViewer1.RefreshReport();
        }
        private void btnBeenden_Click( object sender, EventArgs e )
        {
            this.Close();
        }
        private void btnPrint_Click( object sender, EventArgs e )
        {
            reportViewer1.PrintDialog();
        }

Vielen Dank
dimuwe

15.03.2011 - 10:57 Uhr

An alle,
vielen Dank. Ich hatte in meiner Frage schon den Fehler. Da ich das Komma doch schon in einen Punkt gewandelt habe.

Das heißt:

  • mit Punk geht es nicht
  • mit System.Globalization.CultureInfo.InvariantCulture geht es nicht
  • mit Komma geht es.

Sorry für die Verwirrung.

dimuwe

15.03.2011 - 09:31 Uhr

Hallo,

bei mir ist der Ausgagswert z.B 19,123 als String!
Wenn ich diesen mit umwandeln will:


string sWert = "19,123";
double dWert = double.Parse( sWert );

bekomme ich 19123.0 zurück.

Ich benötige den Stringwert aber nur mit zwei Nachkommastellen. (gerundet)

kann mir den jemand hierbei helfen?

Vielen Dank
dimuwe

27.02.2011 - 14:05 Uhr

Hallo an alle,

vielen Dank für die Antworten. Ein Schreibschutz war nicht gesetzt.
Mit einem StreamReader, open und close, ging auch nicht.
Ich habe es nun gelöst, aber finde es irgentwie komisch und nicht logisch.


XmlDocument XMLEdit = new XmlDocument();
XMLEdit.Load( XMLPath );
File.Delete( XMLPath ); -> nicht logisch??
XmlNodeList XMLItems = XMLEdit.SelectNodes( "CONF" );
// and set its node value
foreach ( XmlNode node in XMLItems )
{
    node[SubjectID].InnerText = Value;
}
XMLEdit.Save( XMLPath );

27.02.2011 - 12:14 Uhr

Hallo krai,

das mit dem Schreibschutz war schon mal gut.
Wenn ich das ganze in eine andere Datei schreibe funktioniert es.

Ich möchte aber die selbe Datei haben?
XMLEdit.Load( XMLPath );
....
XMLEdit.Save(XMLPath );

Gibt es denn irgent eine Möglichkeit die Datei nach Load wieder freizugeben?

Vielen Dank für die Hilfe.

27.02.2011 - 11:26 Uhr

Vielen Dank für die Antwort.

Die Fehlermeldung ist nicht sehr aussagekräftig.
"An error message cannot be displayed because an optional resource assembly containing it cannot be found"

Das Programm läuft mit dem Compact Framework 2. Sollte doch nicht hinderlich sein, oder?

27.02.2011 - 10:44 Uhr

verwendetes Datenbanksystem: XML

Hallo,
ich habe hier das Problem, dass die editierte XML nicht gespeichert wird.
Kann mir denn hier jemand helfen?


XmlDocument XMLEdit = new XmlDocument();
XMLEdit.Load( XMLPath ); // new StreamReader( XMLPath, Encoding.UTF8 ) );

XmlElement XMLEditNode = XMLEdit.DocumentElement;
foreach ( XmlNode node in XMLEditNode )
{
    if ( node.Name == SubjectID )
    {
        node.InnerText = Value;
        break;
    }
}
XMLEdit.Save( XMLPath ); -> hier Fehler

28.01.2011 - 18:15 Uhr

Hallo,
ich möchte von einem dynamisch erstellten Menü, einige Items gleichzeitig auf ToolStripMenuItem stellen.
Mein Code dazu:


        private void RemoveAllItemsCheck()
        {
            for ( int i=0; i < this.menuStrip1.Items.Count; i++ )
            {
                ToolStripMenuItem Strip1 = (ToolStripMenuItem)this.menuStrip1.Items[i];
                if ( Strip1.Text == "Setup" )
                {
                    for ( int j=0; j < Strip1.DropDownItems.Count; j++ )
                    {
                        ToolStripMenuItem Strip2 = (ToolStripMenuItem)Strip1.DropDown.Items[j];

                        if ( Strip2.Text == "Sprache" )
                        {
                            for ( int k=0; k < Strip2.DropDownItems.Count; k++ )
                            {
                                ToolStripMenuItem Strip3 = (ToolStripMenuItem)Strip2.DropDown.Items[k];
                                Strip3.Checked = false;
                            }
                        }
                    }
                }

            }
        }

Meine menüstruktur ist:
Beenden
Setup
--Admin
--Sprache
----Deutsch
----English
----...
Info
Kann man diese Funktion noch etwas verkürzen?

Besten Dank
dimuwe

07.07.2010 - 12:38 Uhr

vielen Dank für die Antworten.

Aber ich habe herausgefunden, dass mann auf dem CE Gerät so etwas wie folgt nicht in eine Batchdatei schreiben kann.
Storage Card\CF1copy\CF1copy.exe "Storage Card\Data" "Onboard Flash\Test"
selbst wenn man den Aufruf in Hochkomme setzt geht es nicht.
ich habe mir von der exe Datei einen Shortcut gemacht dort dei Parameter hinzu und es funktioniert.

Vielen Dank
dimuwe

05.07.2010 - 21:58 Uhr

Danke winSharp93 für die Antwort.
die Fehlerausgabe: File not found
ich rufe das Prog aber mit einer batch auf und die liegt im gleichen Verzeichnis.


static void CopyDirectory(string Source, string Dest)
{
	try
	{
		DirectoryInfo directoryInfo = new DirectoryInfo(Source);
		// Create destination directory
		if(!Directory.Exists(Dest)) 
		{
			Directory.CreateDirectory(Dest);
		}
		// Get all files in the current directory
		FileInfo[] files = directoryInfo.GetFiles();

		// Iterate all files
		foreach(FileInfo file in files) 
		{
			bool copy = true;
			if(copy) 
			{
				// Copy the file to the destination
				file.CopyTo(Path.Combine(Dest, file.Name), true);
			}
		}
		// Iterate all directories in the current directory
		// and use recursion
		DirectoryInfo[] directoryInfos = directoryInfo.GetDirectories();
		foreach(DirectoryInfo dirSub in directoryInfos) 
		{
			bool copy = true;
			if(copy) 
			{
				// Copy directory
				CopyDirectory(dirSub.FullName, Path.Combine(Dest, dirSub.Name));
			}
		}
	}
	catch(ArgumentException) 
	{
		throw;
	}
	catch(Exception ex) 
	{
		throw new IOException(ex.Message, ex);
	}
}

05.07.2010 - 21:33 Uhr

Hallo,
ich habe folgendes Problem auf einem Mobile CE CF2 Gerät.
Ich kopiere in einem Konsolenprogramm ein verzeichnis in ein anderes.
Wenn ich es debuge, funktioniert es. Wenn ich es von der cmd aufruge nicht.
Argumente für debug:
"Storage Card\Test" "Onboard Flash\Temp"
und so in der cmd:
test.exe "Storage Card\Test" "Onboard Flash\Temp"


CopyDirectory(args[0],args[1]);

in der Funktion ist dann der Create, und Copy Befehl u.s.w.


static void CopyDirectory(string Source, string Dest)
{....
if(!Directory.Exists(Dest)) 
{
Directory.CreateDirectory(Dest);
}
file.CopyTo(Path.Combine(Dest, file.Name), true);

Kann mir jemand sagen was ich vielleicht bei der schreibweise in der cmd falsch mache?

Besten Dank
dimuwe

05.07.2010 - 16:19 Uhr

Hallo,

ich kann den Namespace IOUtil nicht finden?

Kann mir jemand helfen?

Besten Dank
dimuwe

05.07.2010 - 15:41 Uhr

Hallo dN!3L,

oh, ja. du hast völlig recht.
Jetzt frag ich mich natürlich, warum es in der anderen Anwendung ohne fehler funktioniert. sonderbar. Auf jeden Fall werde ich es da auch ändern.
Danke

05.07.2010 - 14:56 Uhr

Hallo,
ich habe folgenden fehler, den ich mir nicht erklären kann.
In meiner GUI Anwendung habe ich eine folgende Substring, die dort auch funktioniert.


// values[i]  ist "2bcdefghijklm"; 
// values[i].Length ist 13;
string sBC = String.Empty;
if ( values[i].StartsWith( "2" ) )
{
   sBC = values[i].Substring( 2, values[i].Length ); //  Hier kommt der fehler
   values[i] = "00" + sBC;
}

Nun will ich diese zeilen in eine Konsolenanwendung verwenden und bekomme diesen Fehler.

Der Index und die Länge müssen sich auf eine Position in der Zeichenfolge beziehen.
Parametername: length

Kann mir jemand sagen, was da falsch läuft?

Besten Dank
dimuwe

04.04.2010 - 14:07 Uhr

Hallo,
ich habe ein Programm welches unsichbar läuft(hide) und ein anderes Programm welches sichbar läuft.
Frage: wie kann ich aus dem sichbaren programm heraus finden ob das andere noch läuft und wenn ja in den Vordergrund bringen?
Das ganze läuft auf einem Mobilen CE5 mit dem Compact Framwork 2
Besten Dank
dimuwe

03.04.2010 - 17:16 Uhr

Hallo soma,
das funktioniert wirklich gut und das ohne so eine lästige Datei.

ein Problem wäre noch, dass es sein kann das sich das gestartete Programm hinter ein anderes Fenster legt. Wie bekomme ich das wieder in den Vordergrund?

Besten Dank
dimuwe

31.03.2010 - 15:01 Uhr

Hallo Floste,
danke für deine Antwort.
Mit einer Datei habe ich im Moment laufen, was mir aber so unsicher erscheint.


static void Main()
        {
            //Lets check if another instance of the application is already running.
            string AppDirectory = System.IO.Path.GetDirectoryName (System.Reflection.Assembly.GetExecutingAssembly ().GetModules()[0].FullyQualifiedName);
            System.IO.FileInfo fiFile = null;
            foreach (string s in System.IO.Directory.GetFiles(AppDirectory))
            {
                fiFile = new System.IO.FileInfo(s);
                if (fiFile.Extension == ".proc")
                {
                    try
                    {
                        if ((System.Diagnostics.Process.GetProcessById (Convert.ToInt32 (fiFile.Name.Replace (fiFile.Extension, "")))).Responding)
                        {
                            //if application already runs in another process kill this one
                            System.Threading.ThreadPool.QueueUserWorkItem (ShowMessage);
                            System.Threading.Thread.Sleep(3000);
                            System.Diagnostics.Process.GetCurrentProcess().Kill();
                        }//end if
                    }//end try
                    catch (ArgumentException e)
                    {
                        System.IO.File.Delete(s); //löschen wenn Prozess nicht mehr aktiv
                        string BlossSo = e.Message;
                    }//end catch
                }//end if
            }//end foreach

            //Lets create a flagfile with the processID as name. so we define that the application is already running one time.
            string FileName = System.IO.Path.Combine (AppDirectory, System.Diagnostics.Process.GetCurrentProcess().Id.ToString() + ".proc");
            using (System.IO.File.Create(FileName)) { }//end using

            //Now lets start the application
            try
            {
                Application2.Run(new frmMain());
            }//end try
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }//end catch
            finally
            {
                // We delete the flag file after application exits
                if (System.IO.File.Exists(FileName))
                    System.IO.File.Delete(FileName);
            }//end finally
        }

aus diesem Grund dachte ich, dass es mit dem OpenNet oder einer ganz anderen Lösung geht. Vielleicht kann man ja diese noch verbessern?
Gruß
dimuwe

31.03.2010 - 14:43 Uhr

Visual Studio 2008, CF2

Hallo,
ich habe hier viele Ansätze und Lösungen mit System.Threading.Mutex gelesen, die ein mehrfaches Starten der Applikation verhindern.
Leider gibt es diese Möglichkeit unter CF2 nicht.
In der OpenNetCF Klasse gibt es die Applikation2.Run Methode:


public static void Run(
	Form mainForm,
	bool runAsSingletonApp,
	bool displayMainForm
)

Nun habe ich es mit


Applikation2.Run(new MainForm(),true,true) 

versucht, aber da bekomme ich auch nicht den gewünschten Erfolg.
Gibt es da vielleicht eine bessere und funktionierende Lösung?

Besten Dank
dimuwe

09.03.2010 - 12:11 Uhr

Hallo,
nach langem lesen und suchen, habe ich folgende Demo gefunden und diese funktioniert auch, wenn ich einen String mit 22 Zeichen verschlüssle. Wenn ich aber nun den Inhalt einer Datei verschlüsseln möchte bekomme ich den Fehler "Schlüssel ist im angegebenen Status nicht gültig."

Kann mir hierbei jemand helfen?


        private void btnEncrypt_Click( object sender, System.EventArgs e )
        {
            this.m_RSA = new RSACryptoServiceProvider();
            System.IO.StreamReader srRdPubKey = new StreamReader( Application.StartupPath.ToString() + System.IO.Path.DirectorySeparatorChar + "PublicKey.xml" );
            string pubKey = srRdPubKey.ReadToEnd();
            srRdPubKey.Close();
            try
            {
                this.m_RSA.FromXmlString( pubKey );
                this.test = this.m_RSA.Encrypt( this.m_originalData, false );
                this.txtEncrypted.Text = Convert.ToBase64String( this.m_RSA.Encrypt( this.m_originalData, false ) ); = hier der Fehler ?
                this.txtData.Text = string.Empty;
                this.btnEncrypt.Enabled = false;
                this.btnDecrypt.Enabled = true;
            }
            catch ( CryptographicException ex)
            {
                MessageBox.Show( ex.Message );
            }
        }

Für eure Hile besten Dank
dimuwe

20.02.2010 - 15:35 Uhr

... besten Dank für den Hinweis. Es scheint wohl so zu sein (bin noch auf der Suche ob es wirklich so ist), denn folgende Befehle funktionieren.


SCC.CommandText = "DROP INDEX \"ArtikelTab\".\"Idx_EAN\"";
SCC.CommandText = "CREATE INDEX \"Idx_EAN\" ON \"ArtikelTab\"(\"EAN\" ASC)";

wenn jemand weis, ob ALTER INDEX vom SQL Compact unterstützt wird kann es ja posten.

--- Habe es gefunden, es geht nicht mit ALTER INDEX
http://stackoverflow.com/questions/562705/how-do-you-disable-all-table-indexes-in-sql-server-compact-edition-via-an-sqlceco

Besten Dank nochmal
dimuwe

20.02.2010 - 09:29 Uhr

... danke für die Antworten.
ich habe es nun so versucht:


                    SqlCeTransaction TRAN = conn.BeginTransaction();

                    SqlCeCommand SCC = new SqlCeCommand(); // "ALTER INDEX ALL ", conn );

                    SCC.Connection = conn;
                    SCC.CommandText = "ALTER INDEX Idx_EAN ON ArtikelTab REORGANIZE";
                    SCC.CommandType = CommandType.Text;
                    SCC.Transaction = TRAN;
                    SCC.Prepare();
                    SCC.ExecuteNonQuery(); 
                    TRAN.Commit();
                    SCC.Dispose();

Trotzdem kommt weiterhin der fehler: [ 1,7,INDEX ]
Wo liegt nur der Fehler?

dimuwe

19.02.2010 - 14:16 Uhr

... dank für die Antwort.

ich habe nun folgendes zwischen geschoben


...
SCC.Prepare();
SCC.ExecuteNonQuery();
TRAN.Commit;
...

Nun bekomme ich folgenden Fehler:
[ 1,7,INDEX ]

????
Gruß
dimuwe

19.02.2010 - 13:59 Uhr

verwendetes Datenbanksystem: SQL Compact 3.5
Visual Studio 2008 CF2

Hallo,
ich habe auf einem gerät eine Compact DB, diese wird regelmäßig mit Daten aus einer einer anderen CSV Datei gefüllt. Soweit so gut. Wenn ich nun das erste mal eine Suche starte dauert es ca. 2min., ab dann wieder wie gewohnt ca. 1sek.
Auf dem Suchfelder ist ein Index angelegt.
Nun dachte ich, wenn ich den Index nach dem füllen reorganisiere wird es besser, aber dem ist nicht so.
Was mache ich falsch?
hier die funktion zum reorganiesieren.


            using ( SqlCeConnection conn = new SqlCeConnection( "Data Source=" + Properties.Resources.DB_DataSource ) )
            {
                conn.Open();
                try
                {
                    SqlCeTransaction TRAN = conn.BeginTransaction();
                    SqlCeCommand SCC = new SqlCeCommand();
                    SCC.Connection = conn;
                    SCC.CommandText = "ALTER INDEX Idx_Ident";
                    SCC.CommandType = CommandType.Text;
                    SCC.Transaction = TRAN;
                    SCC.Prepare();
                    TRAN.Commit();
                    SCC.Dispose();
                }
                catch ( SqlCeException ex )
                {
                    DisplaySQLCEErrors( ex );
                }
                finally
                {
                    conn.Close();
                }
            }

Kann mir da jemand helfen?
Besten Dank
dimuwe

15.10.2009 - 10:49 Uhr

nun habe ich es gefunden und gelöst.

bei den projekteigenschaften gibt es in vs2008 den reiter "dienste". darunter das häckchen "clientanwendungsdienst aktivieren" (ist standart an). diese einstellung benötigt framework3.5.
habe dies deaktiviert -> und es funktioniert.

gruß
dimuwe

15.10.2009 - 09:37 Uhr

hallo,
leider ist das problem nicht gelöst.
habe nun nochmals alle einstellungen kontrolliert, aber weiterhin verlagt die installation framework 3.5. auf dem zielrechner ist xp serpack2 und framework2.0 installiert.

muss ich das projekt tatsächlich wieder in vs2005 kompilieren, damit es läuft?

besten dank,
dimuwe

14.10.2009 - 18:52 Uhr

hallo JAck30lena,
besten dank für die antwort.

bei der applikation habe ich 2.0 eingestellt
bei dem installer als neues Projekt->Setup Projekt Framework 2.0

bei dem installer kann man dann unter den eigenschaften die erfordelichen komponenten einstellen, da habe ich ebenfalls 2.0 ausgewählt und 3.5 deaktiviert.

gruß dimuwe