Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von v1vec
Thema: Aufruf einer WIndows-Form aus der Konsole
Am im Forum: GUI: Windows-Forms

danke für eure hilfe

letztendlich lags wohl doch an dem visual studio - bei einem anderen projekt gings nämlich später als ichs nochmal probiert hatte - hab nur vergessen hier nochmal zu schreiben ;)

gruß

v1vec

Thema: Assemblyfehler bei Beispieldatei
Am im Forum: Office-Technologien

Hallo miteinander !

Ich sitze derzeit an einem Excel-AddIn das eine abfrage aus einer SQL-Datenbank macht und in excel importiert.

Grundlage ist folgendes Beispiel (für den Excel-Teil):
http://msdn.microsoft.com/en-us/office/bb980207.aspx

Ich habe mir die Beispieldateien heruntergeladen und versucht zu kompilieren aber bekomme folgenden fehler:

zum einen 10 warnungen ala:

Warnung 29 Dieser Verweis konnte nicht aufgelöst werden: Die Microsoft.VisualStudio.Tools.Office, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL-Assembly konnte nicht gefunden werden. Vergewissern Sie sich, dass die Assembly auf dem Datenträger vorhanden ist.. Wenn dieser Verweis für Ihren Code erforderlich ist, können beim Kompilieren Fehler auftreten. HDI-VSTO-Excel-Arrays-CS

und

Warnung 34 Die Komponente "Microsoft.VisualStudio.Tools.Applications.AddInBase", auf die verwiesen wird, wurde nicht gefunden.


sowie 28 Fehler ala:

Fehler 2 Der Typ- oder Namespacename "Tools" ist im Namespace "Microsoft.Office" nicht vorhanden. (Fehlt ein Assemblyverweis?) C:\...\HDI-VSTO-Excel-Arrays-CS\HDI-VSTO-Excel-Arrays-CS\Ribbon1.cs 5 24 HDI-VSTO-Excel-Arrays-CS

und

Fehler 3 Der Typ- oder Namespacename "VisualStudio" ist im Namespace "Microsoft" nicht vorhanden. (Fehlt ein Assemblyverweis?) C:\...\HDI-VSTO-Excel-Arrays-CS\\HDI-VSTO-Excel-Arrays-CS\Sheet1.cs 7 17 HDI-VSTO-Excel-Arrays-CS


Entwicklungsumgeebung ist ein frisch installiertes visual studio 2008 pro mit vsto - mit dem sollte das doch problemlos gehen ?



Grüße und danke für jede hilfe ;)


Edit: habs jetzt hinbekommen - hab einfach mit dem assistenten nen neues projekt erstellt und dann den code rüberkopiert

wahrscheilich war es einfach die falsche version der assemblies die nich verfügbar war oder so was -> erledigt

Thema: Aufruf einer WIndows-Form aus der Konsole
Am im Forum: GUI: Windows-Forms

also irgendwie wird das alles immer seltsamer:
wenn ich topmost schon im vorhinein oder mit dem OnLoad-Ereignis setze passiert nichts (bzw. genau das gleich wie als hätt ich es nich gesetzt) - setze ich topmost hingegen erst (oder wieder) wenn das fenster aktiv ist (z.B. durch OnClick) funktioniert es

Thema: Aufruf einer WIndows-Form aus der Konsole
Am im Forum: GUI: Windows-Forms

also das is alles sehr seltsam

(F.Focus() bringt leider auch keinen Erfolg, wahrscheinlich deshalb weil das Fenster davon ausgeht das es den Focus hat (wird auch als aktiv gezeichnet))

nach ner weile googlen hab ich rausgefunden das es einen bug im visual studio gibt der genau dieses verhalten (form hinter konsole) hervorruft wenn man das programm direkt aus der entwicklungsumgebung aufruft

allerdings ist das nicht alles, dieses verhalten tritt für den fall das man das programm direkt aus dem ordner aufruft auch dann auf wenn man zuvor einen Read befehl ausgeführt hat

folgendes funktioniert also richtig (wenn man es aus dem ordner aufruft

static void Main(string[] args)
{
Form1 F = new Form1();
F.ShowDialog();
}

das hingegen nicht:

static void Main(string[] args)
{
Console.ReadKey();
Form1 F = new Form1();
F.ShowDialog();
}

sinn macht das ja keinen - leider brauch ich aber ReadLine() und ReadKey()
falls jemand also ein workaround weiß - immer her damit
ansonsten schonmal danke, ich denke wir werden auf ein update des studios warten müssen -.-

Thema: Aufruf einer WIndows-Form aus der Konsole
Am im Forum: GUI: Windows-Forms

danke schonmal, leider gehts aber trotzdem nich

der dialog is dann zwar in der mitte des bildschirms aber immernoch hinter der Konsole

Ich hab zum test mal folgendes gemacht (um es besser nachvollziehbar zu machen):
- Neues Projekt -> Konsolenanwendung
- Dem Projekt eine Form hinzugefügt (Form1)
- using Verweis hinzugefügt (System.Windows.Forms)
- in die Main funktion folgenden Code geschriebe:

Form1 F = new Form1();
F.StartPosition = FormStartPosition.CenterScreen;
F.ShowDialog();

das ergebnis is das die konsole zwar anhält bis ich die form schließe, aber die form bleibt beim start in hintergrund

hab ich vllt irgendwas vergessen ? X(

ps: weder F.TopLevel noch F.TopMost ändern da was dran

Thema: Aufruf einer WIndows-Form aus der Konsole
Am im Forum: GUI: Windows-Forms

Hallo

Ich verwende Visual Studio C# 2008 Express Edition und hab ein Konsolenprogramm erstellt das eine ebenfalls in dem Projekt enthaltene Form aufrufen soll. Der Aufruf an sich funktioniert auch ohne probleme, allerdings ist die Form dann immer im Hintergrund was sehr unschön ist - zumal die Konsole während der Zeit eh blockiert ist (was auch in meinem sinn ist). Der Dialog soll dazu verwendet werden das ergebnis der vorherigen berechnungen graphisch darzustellen. Auch das setzen der TopMost Variable in der Form hat nix gebracht.

Mein Code sieht derzeit so aus (gekürzt):


Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

Form1 F = new FormXY();
            
Application.Run(F);

Hat jemand ne idee woran das hängt und wie ich die form in den vordergrund bekomme ?

Thema: Dictionary effizienter durchlaufen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

hi
hab mir auf meinem xp-system irgendwas gefangen und bin deshalb mit vista unterwegs, wo ich aber vs nich drauf hab, deshalb entschuldigt bitte das ich mich nicht gemeldet habe.

zur größenordnung:
bei einem testlauf hatte ich nach einem durchlauf eine arbeitsspeicherauslastung von fast 250 mb ^^

der sinn ist, alle möglichkeiten von additionen die aus den elmenten aus preis gebildet werden können zu bilden, und (wenn möglich sortiert) zu speichern, so dass man, wenn man einen wert vorgibt, leicht den am nächsten kleineren findet, und auch weiß was man adddieren muss um ihn zu bekommen.

eure ansätze wer ich dann demnächst mal versuchen zu verwirklichen.

gruß v1vec

PS: Im Prinzip funktionierts ja auch, aber es kommt mir irgendwie so vor als würde der viel unnötiges zeug machen, und meine frage war nur, ob irgendjemand auf anhieb was einfällt.

Thema: Dictionary effizienter durchlaufen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi
also ich hab ein bissl code gescrieben und ausgeführt und der is sooooo lahm
ich denk ma das hängt am häufigen kopieren von _Einkäufe nach Einkäufe.
Wie durchlaufe ich das effizienter ?
Thx für alles was kommt ^^
mfg v1vec, der erst ma ferseh gucken ist

ps: der code


Dictionary<uint, List<int>> _Einkäufe = new Dictionary<uint, List<int>>();
            do
            {
                _Einkäufe.Clear();
                foreach (KeyValuePair<uint, List<int>> einkauf in Einkäufe)
                {
                    foreach (KeyValuePair<int, uint> preis in Preise)
                    {
                        if ((!Einkäufe.ContainsKey(preis.Value + einkauf.Key))
                            && (!einkauf.Value.Contains(preis.Key))
                            && (!_Einkäufe.ContainsKey(preis.Value + einkauf.Key)))
                        {
                            _Einkäufe.Add(preis.Value + einkauf.Key, new List<int>(einkauf.Value));
                            _Einkäufe[preis.Value + einkauf.Key].Add(preis.Key);
                        }
                    }
                }

                foreach (KeyValuePair<uint, List<int>> var in _Einkäufe)
                {
                    Einkäufe.Add(var.Key, var.Value);
                } 
            } while (_Einkäufe.Count != 0 );

Thema: Zwischenspeicher als Array realisieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

hi

also den grund dafür das alles erst dreimal geschrieben wird bevor es gändert wird hab ich auch nich gefunden, aber ich würde statt eines arrays eine Liste nehmen.

Da kannst du dann einfach immer ein elment anhängen (add) und danach gucken wie viele elmente gerade drin sind (count) und dann evtl am anfang welche abschneiden (RemoveRange(0, Count - Max))

gruß v1vec

Thema: Dictonary durchlaufen und eine Kopie ändern nicht möglich?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Kopiert hab ich mit dem Konstruktor und durchlaufen mit foreach:

Dictionary<int, List<int>> Req2 = new Dictionary<int, List<int>>(Req);

foreach (intk in Req[j])
{
   if (!Req[i].Contains(k))
       Req2[i].Add(5);
}

edit: reihenfolge geändert

Thema: Dictonary durchlaufen und eine Kopie ändern nicht möglich?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

hi

Ich möchte ein Dictonary (Dictonary<int,List<int>>) durchlaufen und dabei eine kopie davon verändern indem ich elemente zur list hinzufügen. Aber ich erhalte immer eine InvalidOperationException wenn ich das programm starte
Hat jemand eine Rat für mich?

Gruß v1vec

Thema: Registry-Berechtigungen setzen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi herbivore

Hab da mal geschaut, ich blick aber nich so recht durch.
Es gibt da ja drei Arten nach denen die Berechtigungssätze verteilt werde.
1.Organisation
2.Computer
3.Benutzer
bei 1 und 3 gibt es nur eine code gruppe und die hat jeweils fulltrust
bei 2 gibt es mehrere, unter anderen auch MyComputer mit der Bedingung das das Programmm im Arbeitsplatz sein muss. Und da steht dann auch full trust.
brauch ich etwa mehr rechte oder is das doch der falsche ansatz?

Gruß v1vec

Thema: Registry-Berechtigungen setzen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi

1. Kann man mit dem .Net-Framework Registry-Berechtigungen setzten, auch wenn man nur Besitzer ist und eigentlich nicht einmal das Recht hat Den Inhalt zu lesen?

2. Kann man sich als User mit Administrator-Rechten zum Besitzer machen (wieder mit .net, gui weiß ich ja wie es geht )

Hab das zwar schon probiert aber immer wieder ne UnauthorizedAccessException bekommen.
Ich bin für alle Tips offen.
mfg v1vec

Thema: Statusbar Farbe verändern
Am im Forum: GUI: Windows-Forms

Hi
apropos Dokumentation
hab grad ma geguggt und ich hab im .net Framework ordner von 2.0 keine doku
ich hab nur die vom 1.1
muss man die extra installieren oder anders aufrufen?
hab das sdk mit visual studio (damals express) installiert

Thema: Dateien eindeutig unterscheiden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

das hilft zwar wenn er das programm nur selbst benutzt (und eben replace benutzt), aber nicht wenn ein anderer nutzer subst benutzt.

entweder du löst subst auf, oder du lässt die datei vom betriebssystem sperren (ka wie das in .net geht ) und dann kannst du sie beim zweiten öffnen eh nur schreibgeschützt oder garnich öffnen.

mfg v1vec

Thema: lokale hooks mit SetWindowsHookEx
Am im Forum: GUI: Windows-Forms

Ich hab leider kaum Erfahrung mit lokalen Hooks, aber vllt hilft es ja wenn du mal beschreibst was du überhaupt hookst.

mfg v1vec

Thema: XML-String nach Double konvertieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich weiß jetz nich gant was du meinst, aber es gibt allgemein 2 Möglichkeiten:

1. Die Datei soll auf der Festplatte gespeichert werden
So hattest du es ja. Vorteil is eben das auch andere Programme Zugriff haben.

2. Eine Ressourcendatei
Damit wird deine Datei mit in die exe (oder was auch immer) kompiliert. Damit hat man zumindest nich so einfach zugriff ^^

Thema: lokale hooks mit SetWindowsHookEx
Am im Forum: GUI: Windows-Forms

Du musst wahrscheinlich die funktion die aufgerufen werden soll in eine dll packen, weil man sie sonst nur aus der eigenen exe aufrufen kann, nicht aber der "gehookten" exe.

siehe auch:
OldNewThing Blog

Thema: probleme mit einer dll
Am im Forum: Rund um die Programmierung

und genau das is unnötig, da:

name1.class1 a = name1.class1();
ob man jetzt nämlich

name1.class1 a;
oder

using name1;
class1 a;
schreibt is egal

PS: Referenz braucht man natürlich trotzdem

Thema: Array mit sich selbst vergleichen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

for(int i = 0;i<array.length;i++)
{
   for(int j = i+1;j < array.length;j++)
   {
       //hier vergleichen
       if(array[i] == array[j])
          MessageBox.Show("Damn!");
   }
}

Thema: Latex oder vergleichbares in NET 2.0 ?
Am im Forum: Grafik und Sound

Hi
gint es in .net 2.0 eine klasse mit der man latex oder so ähnliche strings erstellen und vor allem malen kann ?

danke schon im vorraus
v1vec

Thema: puffer in char-array umwandeln
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi
Ich hab jetzt mitlerweile ne Lösung gefunden
Das war meine AusgangsStruktur:

public struct Unicode_String
{
    public ushort Length;
    public ushort MaximumLength;
    public IntPtr Buffer;
}

hab den Buffer mit Marshal.Copy in ein bytearray kopiert und mit Encoding.Unicode.GetString() dekodiert

Thema: puffer in char-array umwandeln
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

hi
ich hab nen zeiger auf einen puffer und dessen länge
in dem puffer sind (Unicode)chars.
wie bekomm ich die als char-array in ne variable ?

danke für alle vorschläge

Thema: Rückgabe von Addressen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich hatte das eher allgemein gedacht.
in meinem konkretem fall ist es ein void*.
geht das auch mit IntPtr?

Thema: Rückgabe von Addressen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

hi
wie muss man denn eine funktion formulieren damit sie einen zeiger zurückgibt (DllImport ) (mit ref klappets nich:()

danke für alle hinweise
v1vec

Thema: Byte Array formatieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

wie gesagt das war so als beispiel und erfüllt genau den gesuchten zweck also hab ichs reingepostet.
und ob das unbedingt schlechter ist als alles in einen string zu konvertieren is fraglich
is natürlich nicht ganz schön anzusehen, das stimmt

Thema: Byte Array formatieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

oder so:

static char[] hexDigits = {
        '0', '1', '2', '3', '4', '5', '6', '7',
        '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
 
    public static string ToHexString(byte[] bytes) {
        char[] chars = new char[bytes.Length * 2];
        for (int i = 0; i < bytes.Length; i++) {
            int b = bytes[i];
            chars[i * 2] = hexDigits[b >> 4];
            chars[i * 2 + 1] = hexDigits[b & 0xF];
        }
        return new string(chars);
    }

so stehts als beispiel in meiner lokalen msdn (deshalb auch kein link )

edit: habs doch noch gefunden:
http://msdn2.microsoft.com/de-de/library/system.byte.aspx

Thema: Syntax für Accessoren get und set
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wozu soll das eigentlich dienen?
Damit man die werte public lesen aber nur private schreiben kann?

das geht auch so:


int i
{
   get
   {
      return i;
   }
   private set
   {
      i = value;
   }
}

Das spart immerhin eine zeile pro variable 8)

Thema: ASCII zeichen aus einem Textfile auslesen!?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich glaube mit | hat er eher einen Strich gemeint der angezeigt wird wenn ein ungültiges zeichen angezeigt erden soll (und eben nicht angezeigt werden)
das hatte ich z.B. mal bei '\n' in ner singleline textbox (oder so, is schon ne weile her)

Thema: Programm Code zur Laufzeit Comlilieren und Einbinden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

gut hab mich vllt etwas unpräzise ausgedrückt

du musst dir eben überlegen worauf du dem plugin / der dll zugriff geben willst und dann entsprechende prototypen für die in der dll vorhandenen funktionen formulieren

wenn du also mit der dll ein fenster bearbeiten willst brauchst du eben eine funktion in der dll die ein fensterhandle entgegennimmt und dann bearbeitet.

vllt auch noch ne callback-funktion die Nachrichten von der dll entgegen nimmt (ich weiß das das win-api und keine .net begriffe sind, hoffe aber du weißt was ich meine )