Laden...
M
Meli myCSharp.de - Member
Traisen, Austria Dabei seit 05.12.2003
Benutzerbeschreibung

Forenbeiträge von Meli Ingesamt 115 Beiträge

20.03.2011 - 15:53 Uhr

Mußt Du nicht DataAdapter.Update() aufrufen, um die Änderungen in die Datenbank zu übernehmen?

Oder steht das anderswo?

17.08.2006 - 17:14 Uhr

Da kommt was interessantes auf uns zu:

http://blogs.msdn.com/tmiller/

28.05.2006 - 13:41 Uhr

Du könntest die thumbnails auslesen, die in der versteckten
thumbs.db verwaltet werden.
Dazu gibt es eine Lib:

http://www.petedavis.net/MySite/DynPageView.aspx?pageid=31

http://weblogs.asp.net/justin_rogers/articles/131704.aspx

mfg, meli

08.03.2006 - 18:03 Uhr

Oder die System.Diagnostics.Stopwatch-Klasse in FW2.0

09.02.2006 - 23:05 Uhr

Ich habe das unbestimmte Gefühl, wir reden aneinander vorbei 😁
Wie Svenson bereits geschrieben hat, bezieht sich der codeproject-Artikel
auf einen Umweg über COM, was meines Erachtens unötig ist:zumindest
unter VS2005 C++/Cli

Nehmen wir eine c# dll:

  
namespace test
{
   class meineDll
  {

    public meineDll(){}
    
    public void machwas()
   {
      Console.WriteLine("Hallo!");
   }

  }
 
}


Dann kannst Du in deinem C++ Projekt, nachdem du den Verweis erstellt hast
auf die dll zugreifen ohne COM zu benutzen:


int main()
{
     test::meineDll^ d = gcnew test::meineDll();
     d->machwas();

//Ausgabe:Hallo
}


Oder sollte ich irgendwas an deinem Problem nicht verstanden haben, und
Du musst(aus welchen Grund auch immer) über COM gehen?

09.02.2006 - 12:42 Uhr

In C++/CLI (VS2005) ist es sehr wohl möglich managed und native Code in
einer Assembly zu mischen.

http://msdn2.microsoft.com/en-us/library/x0w2664k.aspx

Folgendes bezieht sich also auf VS2005 C++/CLI:

Also Project/Properties/Common properties/References einen Verweis
auf die C# dll erstellen, dann unter Configuration Properties Common Language Runtime Support(/clr) einstellen.

08.02.2006 - 01:39 Uhr

Du kannst in deinem C++ Projekteigenschaften einfach einen Verweis auf die
C# dll erstellen, und sie dann wie in C# verwenden.

Das C++ Projekt muß dann natürlich mit /clr kompiliert werden.

01.02.2006 - 21:10 Uhr

Der letzte Parameter ist doch UINT(lt. PlatformSDK), wieso übergiebst Du string?

24.01.2006 - 19:24 Uhr

Original von herbivore
Hallo Meli,

was denn für BeginInvoke/EndInvoke/Delegate-Schwachsinn?

Mal abgesehen davon, dass du um Delegaten auch beim BackgroundWorker nicht drum rum kommst, ist ein BeginInvoke doch 'ne simple Sache: Statt eine Methode aufzurufen, bittet man BeginInvoke das zu tun. That's all. Ist genauso einen Zeile wie ReportProgress.

Dagegen braucht man zum Starten eines Threads 1-2 Zeilen. Zum Starten eines BackgroundWorkers mindestens 5.

herbivore

Sagen wir mal so: Ich hoffe das weder die Thread-Klasse, noch die Backgroundworker-Komponente der Weisheit letzter Schluß ist in Sachen Multithreading.Besonders was das parallelisieren von Algorithmen betrifft.
Siehe die OpenMP-API für C++

Ansonsten hast Du natürlich recht 👍

Meli

24.01.2006 - 19:17 Uhr

Du könntest mit einem Zeiger über das Byte-Array iterieren.Aber gibt es denn
ein Performance - Problem? Du weißt ja: "Premature optimization is the root of all evil!"

23.01.2006 - 19:32 Uhr

Original von ikaros
Ich vermute das liegt daran, dass herbivore nicht die VS-Ide benutzt. Backgroundworker kann man einfach aufs Formular ziehen, dann wird das Codeskelett erzeugt.
Ansonsten sehe ich auch keine Vorteile(dh. keine, nur Nachteile).

Einfacheres Update des GUI von einem anderen Thread aus ohne BeginInvoke/EndInvoke/Delegate-Schwachsinn ist kein Grund?

19.01.2006 - 02:45 Uhr

Hast Du Dir schon den Namespace System.Data.Common angeschaut?

http://msdn2.microsoft.com/en-us/library/t9f29wbk.aspx

18.01.2006 - 15:04 Uhr

Wie soll denn das gehen? Feiertage werden ja nicht berechnet, sondern vom
Staat festgelegt. 😁

13.01.2006 - 18:58 Uhr

Und wie wär`s mit C++/CLI ?
Das Beste aus beiden Welten. Mischen von managed und native Code
in der selben Assembly.

12.01.2006 - 18:41 Uhr

Pinvoke.Net hilft!
Ganz runterscrollen:
http://www.pinvoke.net/default.aspx/kernel32/CreateFile.html

12.01.2006 - 16:36 Uhr

Ahh, dann versuchs mit:


string[] source = {@"e:\\*.*" };


So klappts bei mir.

12.01.2006 - 13:55 Uhr

Nochmals:
Ich habe die ShellLib von Codeproject verwendet.


            ShellLib.ShellFileOperation op = new ShellLib.ShellFileOperation();

       

            string[] source = {@"e:\\beispiele\kapitel 01" };
            string[] dest =  {@"d:\\test" };

            op.OwnerWindow = this.Handle;
            op.Operation = ShellLib.ShellFileOperation.FileOperations.FO_COPY;
            op.SourceFiles = source;
            op.DestFiles = dest;
            
            bool ret=op.DoOperation();

Wurde einwandfrei kopiert von CD mit Unterverzeichnissen.Und bei Dir
funktioniert es nicht?

11.01.2006 - 20:12 Uhr

Ich hab das ganze mal mit der ShellLib von Codeproject ausprobiert.
Funktionierte einwandfrei.

07.01.2006 - 18:43 Uhr

Du musst Dir nur verinnerlichen, das ein selbst erstelltes Formular auch
nichts anderes ist als eine Klasse: Eine Klasse abgeleitet von System.Windows.Forms
die der Forms-Designer für dich erstellt.

06.01.2006 - 01:50 Uhr

Erstell dir die entsprechenden Abfragen in ACCESS und schau dir die SQL-Syntax in der Entwurfsansicht an.

Beziehung zwischen Tabellen werden mit LEFT JOIN,RIGHT JOIN, INNER JOIN in SQL bei der
Abfrage hergestellt.

05.01.2006 - 22:41 Uhr

Für diesen Anwendungsfall gibt es generische Klassen.
z.B.: List<T>

05.01.2006 - 00:58 Uhr

Bei der VS2005 ist eine ImageLibrary dabei:
C:\Programme\Microsoft Visual Studio 8\Common7

04.01.2006 - 00:07 Uhr

Alternativ gibt`s noch:

http://www.pinvoke.net/default.aspx/kernel32/CopyFileEx.html

Implementierung:
http://planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=1282&lngWId=10

Oder:
Unter Net2.0 die Microsoft.VisualBasic.dll referenzieren,
und dann die 'Microsoft.VisualBasic.FileIO.FileSystem.CopyFile' Methode verwenden.

22.12.2005 - 15:12 Uhr

Der CLR-Profiler kommt mit Sourcecode.
Wirf mal einen Blick rein.

20.12.2005 - 16:55 Uhr

Ach ja übrigens:

Mein Arbeitsspeicherverbrauch explodiert...

Servas

20.12.2005 - 16:46 Uhr

zu 1. Gar nicht. Macht der GC
zu 2. Wird ohnehin per ref übergeben da Verweistyp.

Du kannst allerdings die Ressourcen des Bitmaps freigeben, mittels .Dispose() Methode

18.12.2005 - 14:20 Uhr

Bietet nicht der Objekt-Browser eine ähnliche Funktionalität?

Mit History meinst Du die Undo/Redo History?

18.12.2005 - 13:59 Uhr

http://msdn2.microsoft.com/en-us/library/ms173109.aspx

Es gibt noch BinaryReader, BinaryWriter, und schau dir die Filestream-Klasse
an.

13.12.2005 - 22:58 Uhr

Klappt bei mir einwandfrei.

Basis-Form erstellt( form1) mit ein paar Buttons, zweite Form erstellt(form2)
und von form1 abgeleitet.

       
     public partial class Form2 : Form1
    {
        public Form2()
        {
            InitializeComponent();
    }

Ergebnis: Alle UI-Elemente der Basis-Form+die,die ich auf Form2 erstellt habe.

12.12.2005 - 23:06 Uhr

Redim Preserve....shudder..

ArrayList in Framework 1.x oder List<T> in Framework 2.0
bieten dynamisch erweiterbare Arrays.

Was willstn genau machen?

Eine mögliche Implementierung in einer Klasse wäre:
(Framework 2.0)



class stringListe 
    {
        private List<string> stringList;

        //Konstruktor
        public stringListe() 
        { 
            stringList = new List<string>(); 
        }


        //Indexer
        public string this[int Index]
        {
            get { return stringList[Index]; }
            set { stringList[Index] = value; }
        }

        public void Add(string Item)
        {
            stringList.Add(Item);
        }

        public int Count
        {
            get { return stringList.Count; }
        }




    }



07.12.2005 - 14:44 Uhr

Statt:

this.Controls.Add(lb);

mußt Du

this.tabPage4.Controls.Add(lb);

schreiben.

Der this-Zeiger bezieht sich ja auf deine Form und nicht auf die Tabpage.

07.12.2005 - 14:30 Uhr

Die Rows Eigenschaft des DataGridViews (VS2005) hat eine Add Methode....

z.B.:



 this.dataGrid1.Rows.Add(Wert1, Wert2,Wert3);


02.12.2005 - 17:45 Uhr

Übrigens:
In Net 2.0 ist die Rekursion schon mit eingebaut:



string[] files = Directory.GetFiles(Path, "*.*", SearchOption.AllDirectories);


26.11.2005 - 14:43 Uhr

Warum benutzt Du nicht List<Point> Points anstatt der ArrayList?

Ist performanter und Du ersparst Dir das casting.

24.11.2005 - 18:32 Uhr

DriveInfo Klasse benutzen ab 2.0

Meli

23.11.2005 - 14:26 Uhr

Du solltest ein Insert-Command (jedes SQL Command) nicht auf diese Weise zusammensetzten. Das ist ziemlich fehlerträchtig:

Besser so wie in diesem Beispiel:



OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\TestDB.mdb;");

            string SQL = "INSERT INTO Adressen (Nachname,Vorname) VALUES (?,?);";
            OleDbCommand command = new OleDbCommand();
            command.Connection = conn;
            command.CommandText = SQL;
            
            command.Parameters.Add("Nachname", OleDbType.Char).Value = "Wöss";
            command.Parameters.Add("Vorname", OleDbType.Char).Value = "Tobias";


            conn.Open();
            command.ExecuteNonQuery();
            conn.Close();


Meli

22.11.2005 - 19:06 Uhr

System.Media.Soundplayer

Meli

22.11.2005 - 16:37 Uhr

Oder die toArray()-Methode

Meli

22.11.2005 - 16:35 Uhr

Wenn Du Net2.0 benutzen kannst:

System.Media.Soundplayer-Klasse

Meli

21.11.2005 - 17:27 Uhr

Hilft das?

Kommentare aus Excel - Dateien auslesen

Ansonsten in Forensuche "Excel" eingeben.

Meli,
over and out!

09.10.2005 - 19:38 Uhr

Ja, ist mir alles bekannt. 😉
Ich selbst habe auch kein Problem damit und spätestens mit
Windows Vista hat sich das alles sowieso erledigt.

Ich wollte nur auf dieses Statement der Net-Entwickler hinweisen.

Meli

09.10.2005 - 17:55 Uhr

Vergiss nicht etwaige GUI-Updates erst nach InitializeComponent(); durchzuführen.

09.10.2005 - 17:50 Uhr

Ich glaube mich an ein Cannel9 Video zu erinnern, wo der
Interviewer (Charles) gegenüber den Entwicklern erwähnte, das das
Framework einfach zu groß sei.

Ein Net Entwickler meinte :"Es sei etwas in Entwicklung, aber noch zu
früh für eine Ankündigung!"

Scheint also doch ein "Problem" zu sein....

Meli

07.10.2005 - 02:17 Uhr

Da du VS2005 schon benutzt, könntest Du auch ein DataGridView nehmen.
Erstell zwei Spalten(Columns) , und lege die erste als 'Textbox', und die zweite
als 'Image' fest.

Anschließend füllst Du die Spalten z.B.:

this.datgridview1.rows.Add(imageURL,myImage);

ect.

21.09.2005 - 17:41 Uhr

Hab mal kurz im PlatformSDK nachgeschaut:

The MessageBoxEx function creates, displays, and operates a message box. The message box contains an application-defined message and title, plus any combination of predefined icons and push buttons. **The buttons are in the language of the system user interface. **



int MessageBoxEx(HWND hWnd,
    LPCTSTR lpText,
    LPCTSTR lpCaption,
    UINT uType,
    WORD wLanguageId
);


Es gibt scheinbar einen Parameter für Spracheinstellung, aber er wird (noch) nicht verwendet.(Ist reserviert).

20.09.2005 - 16:31 Uhr

Struct ist ein Werte-Typ, und kein Verweis-Typ.

11.09.2005 - 19:28 Uhr

Welche Office Version benutzt Du? Bei mir unter Office2003/VS 2005 funktioniert
es einwandfrei. Ich referenziere die Microsoft Office 11.0 Object Library.
Probiere mal diesen Code:




using System;
using System.Text;

using Office = Microsoft.Office.Core;
using Excel = Microsoft.Office.Interop.Excel;

namespace ExcelAutomat
{
    class Program
    {
        static void Main(string[] args)
        {


            object mMissing = System.Reflection.Missing.Value;


            Excel.ApplicationClass EXCEL = new Excel.ApplicationClass();



            EXCEL.Workbooks.Open(@"C:\Kommentar.xls", mMissing, mMissing,
                mMissing, mMissing, mMissing, mMissing, mMissing, mMissing,
                mMissing, mMissing, mMissing, mMissing, mMissing, mMissing);


            Excel.Range rg = (Excel.Range)EXCEL.Cells[1, 1];


            if (rg.Comment != null)
            {
                Console.WriteLine(rg.Comment.Text(mMissing, mMissing, mMissing));

            }
            
          
        }
    }
}



Hoops, ich war wohl zu langsam....