Laden...

Forenbeiträge von Mandy Ingesamt 47 Beiträge

20.03.2014 - 11:07 Uhr

Hallo Leute,

ich hänge schon seit Wochen an einem Problem fest:
Zwei Dienstverweise sollten einen Vorgang anlegen und dann einen pdf - Beleg hochladen.
Im Beleg gibt es jetzt ein Element vom Typ Date, das ich nicht mitgeben sollt.
Wenn ich null an den Verweisaufruf übergebe wird

<COOSYSTEM_1_1_contchanged>0001-01-01T00:00:00</COOSYSTEM_1_1_contchanged>

übertragen, was am Server einen Fehler produziert.

Kann man irgendwie einstellen, dass Datum=null

<COOSYSTEM_1_1_contchanged></COOSYSTEM_1_1_contchanged>

überträgt?

Danke
Mandy

07.03.2014 - 12:55 Uhr

Hallo Leute,

ich hoffe ihr könnt mir weiterhelfen:
Hier gibt es ein größeres WaWi - System, mit 4 Datenbanken auf einem Server (MSSQL 2008R2).
Jede Zweigstelle hat eine eigene Datenbank, aber es gibt Daten, die auch in anderen gebraucht werden.
z.B. Berechnung der verfügbaren Mengen, Mitarbeiterdaten in anderen Zweigstellen, ...

Die einfachste Variante wären Synonyme in der Form
<Tabellenname>_<Zweigstellenkürzel>

Mein Problem ist jetzt: Die Mitarbeiter haben im allgemeinen nur Zugriff auf die eigene DB.
Für die Daten der anderen Zweigstellen würde ich gerne einen einzigen readonly-User verwenden, der unabhängig vom Benutzer für DB - übergreifende Abfragen verwendet wird.
Der müsste jetzt grundsätzlich von den Synonymen verwendet werden.

Ich hoffe das war verständlich...
Und vor allem, dass jemand eine Idee hat, wie ich das umsetzen kann.

Danke
Mandy

19.12.2013 - 17:29 Uhr

Danke Khalid.

/ToolsVersion:3.5
wäre der entsprechende Schalter.

Mein Problem war aber ein anderes: Lösung

Moral aus der Geschichte:
Wenn man weiß nach was man sucht ist es gar nicht so schwer zu finden.

Mandy

19.12.2013 - 11:18 Uhr

Hallo Leute,

ich habe ein spezielles Problem:
Nach dem Erstellen einer Assembly für den MSSQL 2008R2 IN VS2010 kann ich diese zwar registrieren,
aber wenn ich die Funktion registrieren will bekomme ich folgende Meldung:

CREATE FUNCTION dbo.[IsDirectShipment](@BelegKSt varchar(25), @PosKSt varchar(25))
RETURNS int WITH EXECUTE AS CALLER
AS 
EXTERNAL NAME SQLRecomLib.ItcFunktionen.IsDirectShipment
go

Meldung 6505, Ebene 16, Status 2, Prozedur IsDirectShipment, Zeile 3
Der ItcFunktionen-Typ wurde in der SQLRecomLib-Assembly nicht gefunden.

Mein Kollege hat herausgefunden, dass es funktioniert, wenn man die Assembly mit ...\microsoft.net\v3.5\vbc kompiliert.

Kann ich im VS irgendwo festlegen, welchen Compiler er verwenden soll?
Die framework Version 3.5 einzustellen ändert nicht den verwendeten Compiler.

Oder gibt es eine einfache Möglichkeit, über Kommandozeile das komplette Projekt SQLRecomLib.vbproj zu kompilieren.

Vielen Dank
Mandy

04.06.2013 - 11:37 Uhr

Hallo pdelvo,

die DigitSum gefällt mir, darauf wär ich nicht gekommen.

Bin gespannt, was du für eine Aufgabe hast...

Mandy

30.05.2013 - 12:29 Uhr

Hallo Scavanger,

nachdem du dich nicht mehr meldest, stelle ich da ein Rätsel ein, das ich gerade erhalten habe:

Ich suche eine Zahl:
Stelle ich sie im Zweiersystem dar, so endet sie auf 0 und ist 11-stellig.
Stelle ich sie im Vierersystem dar, so ergibt sich für die Quersumme der Wert 11.
Stelle ich sie im Sechzehnersystem dar, so ergibt sich für die Quersumme ein Wert von 26 und für die alternierende Quersumme einer von 0.
Wie lautet die von mir gesuchte Zahl?
(Die jeweilige Quersumme ist im Zehnersystem angegeben!)

Erhalten habe ich das von einem Mathematiker, nachdem das nicht mein Fach ist, habe ich mich an eine empirische Ermittlung (aber mit reduziertem Zahlenraum) gemacht.

Bin gespannt, was euch dazu einfällt...

Mandy

16.01.2013 - 21:34 Uhr

Hallo Sven,

ist ja auch kein Wunder: Funktionalität ohne Ende und trotzdem einfach zu bedienen.
Kennst du brauchbare Alternativen?

Installiert hab ich es schon, aber keine projektübergreifende Ressourcenplanung gefunden.

Und bevor ich 100'erte Plugins durchprobiere wollte ich fragen, ob jemand schon Erfahrung damit hat.

Also...
Frage noch offen.

Danke aber erst mal Sven.

16.01.2013 - 17:50 Uhr

Hallo Leute,

ich bin gerade auf der Suche nach einer Projektverwaltungssoftware.
Redmine gefällt mir sehr gut, aber ich vermisse ein Gantt-Diagramm
in dem die Auslastung der Mitarbeiter dargestellt wird.

Kennt jemand von euch Redmine?
Kann die Mitarbeiterplanung Projektübergreifend dargestellt werden?

Danke,
Mandy

21.09.2012 - 10:49 Uhr

Vielen Dank XXX,

das ist ja viel einfacher als ich dachte.
Hinweis für die Nachwelt:
Im Config auf die Assemblynamen achten, die können auch im config nach dem Appendertyp stehen:
Beispiel mit Assemblynamen

Vielleicht auch für andere interessant:
Eine eigene Variante des loggers

Mandy

18.09.2012 - 10:36 Uhr

Weil noch diverse Anhänge mitgehen sollten.

18.09.2012 - 08:38 Uhr

Danke weismat,

ich meinte ob eine Meldung für diesen Loglevel ausgegeben wurde.

Es geht um ein Service, das verschiedene Tasks abarbeitet,
und dann ein Mail verschicken soll, wenn ein Fehler aufgetreten ist.

Mein Problem ist, herauszufinden, ob irgendwo zuvor ein Fehler gemeldet wurde.

17.09.2012 - 17:14 Uhr

Hallo,

ich hätte gerne ein Flag im logmanager, ob eine warnung oder ein error gesetzt wurden.

Habt ihr eine Idee, ob es sowas bereits gibt, oder wie man das zusätzlich in die jeweiligen funktionen einbauen kann?

Danke,
Manfred

07.08.2012 - 12:41 Uhr

Funktioniert nicht so ganz...

ExtensionSet ist protected, also habe ich ein Klasse davon abgeleitet.
Dann bekomme ich allerdings die Meldung:

Fehlermeldung:
2012-08-07 12:37:08,445 [7 ] ERROR ICE.TaskExterneProjekte
System.DirectoryServices.AccountManagement.PrincipalOperationException: Das angegebene Verzeichnisdienstattribut bzw. der angegebene Verzeichnisdienstwert ist bereits vorhanden. (Ausnahme von HRESULT: 0x8007200A) ---> System.DirectoryServices.DirectoryServicesCOMException: Das angegebene Verzeichnisdienstattribut bzw. der angegebene Verzeichnisdienstwert ist bereits vorhanden. (Ausnahme von HRESULT: 0x8007200A)
bei System.DirectoryServices.DirectoryEntry.CommitChanges()
bei System.DirectoryServices.AccountManagement.SDSUtils.ApplyChangesToDirectory(Principal p, StoreCtx storeCtx, GroupMembershipUpdater updateGroupMembership, NetCred credentials, AuthenticationTypes authTypes)
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.DirectoryServices.AccountManagement.ADStoreCtx.Insert(Principal p)
bei System.DirectoryServices.AccountManagement.Principal.Save()

Hast du da noch einen Hinweis dazu?

Danke

Edit: Objekte kann man nicht ableiten --> Klasse

07.08.2012 - 08:50 Uhr

Hallo,

ist es möglich, für einen UserPrincipal eine andere PrimaryGroup zu setzen?

Es gibt einige dubiose Vorschläge wie man die PrimaryGroup herausfindet,
aber ich habe nichts gefunden wie man sie setzen kann.

Hat jemand eine Idee?

Danke,
Mandy

06.08.2012 - 13:17 Uhr

Hallo Abt,

wenn man weiß wonach man sucht ist es gleich viel einfacher...

War noch hilfreich für mich:
CodeProject-Artikel

Und dass man im Beispiel bei "DC=MyDomain,DC=com" noch die OU angeben kann, in der neue User automatisch hineinkommen:
"OU=MeineOU,DC=MyDomain,DC=com"

Vielen Dank,
Mandy

06.08.2012 - 09:52 Uhr

Hallo Leute,

ich hänge momentan völlig in der Luft:

Ich soll im AD einen Benutzer anlegen, und verschiedenen Gruppen zuordnen.
Damit das ganze nicht zu einfach wird, befinde ich mich nicht in der Domäne,
die Anbindung erfolgt über VPN.

Die Anlage des Benutzers funktioniert korrekt, aber die Zuweisung des Kennwortes bringt mir einen Fehler:
(Sorry für VB-Code, aber in dem Fall ist es ja 1:1 das gleiche...

newUser = ad.GetDirectoryEntry(newUser.Path)
Dim err As Object = newUser.Invoke("setPassword", New Object() {Pwd})

System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Runtime.InteropServices.COMException: Mindestens ein Eingabeparameter ist ungültig.

Hat jemand von euch schon mal AD-Zugriffe gemacht, aber als AD-User einen anderen als den Programm-Aufrufer verwendet?
Was kann diese Fehlermeldung bedeuten?

(Ich verwende .net 4)

Vielen Dank,
Mandy

23.05.2012 - 09:03 Uhr

In diesem Pfad liegen die .dll's alle.
Allerdings hilft es genau nichts !!??

Falls es noch andere gibt, die nicht sinnerfassend lesen können 🙁 :
<probing> funktioniert nur unterhalb des Anwendungspfades...

23.05.2012 - 08:41 Uhr

Danke weismat,
das war ein guter Hinweis.
Ich habe es versucht mit

    <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <probing privatePath="C:\Program Files (x86)\Sage\Office Line\6.0\Shared\"/>
      </assemblyBinding>
    </runtime>

im app.config, damit sollten auch die Versionsnummern keine Rolle spielen.

In diesem Pfad liegen die .dll's alle.
Allerdings hilft es genau nichts !!??

@herbivore: Du hast grundsätzlich Recht, keine Frage.
Allerdings will ich nicht eine Unmenge an .dll's eines fremden Systems in den GAC legen.
Und das Kopieren in mein Anwendungsverzeichnis ist auch nicht das wahre,
denn es ist nur eine Frage der Zeit, wann ich eine veraltet Version verwende.
Also ist in diesem Fall ein Pfad auf das Originalverzeichnis wohl die bessere Lösung.

22.05.2012 - 15:12 Uhr

Ist das assemblyresolve ein sinnvolle Lösung?

Habt ihr das schon mal verwendet?
Oder gibt es eine bessere Lösung?

22.05.2012 - 14:58 Uhr

Jetzt is mir klar was er meint.

  • Meine .exe wird als Task oder Service gestartet.
    Der Aufruf ist immer gleich, muß also nicht in den %Path% 8o

  • Die .dll liegen in einem Ordner der von der .exe als dll-Verzeichnis erkannt werden soll.
    Und das geht mit einem %Path% - Eintrag nicht, oder?

Edit: So eine Art dynamischer Verweis. Die .dll's liegen zur Laufzeit nicht bei der .exe

22.05.2012 - 14:22 Uhr

Kannst du mir noch sagen, was du mit %Path% meinst?

22.05.2012 - 14:00 Uhr

Hallo,

hat jemand eine Idee zu meinem Verteilungsproblem:

Ich habe eine Schnittstelle ERP-System <--> webshop / amazon.
Die Schnittstelle verwendet Unmengen an .dll's des ERP-Systems.

Damit bekomme ich aber ein Problem mit den ERP-Updates,
das relativ oft einige .dll's erneuert, die dann jedesmal auch wieder
in mein Verzeichnis kommen müssen.

Ich hätte jetzt gerne zur Laufzeit einen Verweis gesetzt,
damit ich die .dll's nicht in mein \bin - Verzeichnis kopieren muß.
Geht das überhaupt?

Anmerkung:
* GAC ist keine Lösung....
* Die Schnittstellen der .dll's ändern sich garantiert nicht

Vielen Dank,
Manfred

12.03.2012 - 14:28 Uhr

Hallo Abt,

das ist genau das was ich suchte:

Eine Klasse der man Freigabename, Domain, Name und Kennwort übergibt.
Anschließend wird von der Klasse ein NetUseAdd aufgerufen, und sämtliche Filefunktionen können auf die Freigabe ausgeführt werdenn.

Wie hast du das so schnell gefunden?

"net use", 'net use' oder net-use
bringen relativ schnell alles, wo die beiden Wörter irgendwie vorkommmen
und das ist nicht wenig...

Vielen Dank,
Mandy

12.03.2012 - 09:06 Uhr

Hallo,

ich sollte per Prg Files von einer Windows-Freigabe abholen.

Hat jemand einen schnellen Hinweis, wie ich das mit der Anmeldung löse, ohne ein Laufwerk zu mappen?

Herr Google erzählt mir alles mögliche, nur nicht wie ich mich da anmelden kann.

Vielen Dank,
Mandy

23.02.2012 - 15:06 Uhr

Hallo,

danke für die anregende Frage =)

Natürlich muss ich meine Projekt-Assembly auch importieren,
der generierte Code hat ja mit dem Projekt keine Verbindung.

LG,
Mandy

23.02.2012 - 12:39 Uhr

Hallo Leute,

ich habe in meinem Projekt eine Klasse ixMaske erstellt.

Nun will ich in einem automatisch generiertem Code Klassen erzeugen, die von ixMaske abgeleitet sind.

Das sieht in etwa so aus:


//EMail
public class IxMaskeEMail : IxMaske
{

	public IxMaskeEMail(log4net.ILog Logger) : base(Logger)
	{
		ID = 2;
		Name = "EMail";
	}

	public override int VerschlagworteDokument(EditInfo ed)
	{
		SqlDataReader rd = Belegart.DataReader;
		if ((ed.sord.objKeys(0).name != "ELOOUTL1")) {
			throw new ArgumentException("Ungültige Indexzeile in Maske EMail", ed.sord.objKeys(0).name + ", Erwartet: ELOOUTL1");
		}
		ed.sord.objKeys(0).data = GetDataFromRd(rd, "ELOOUTL1", "", 3000);

		if ((ed.sord.objKeys(1).name != "ELOOUTL2")) {
			throw new ArgumentException("Ungültige Indexzeile in Maske EMail", ed.sord.objKeys(1).name + ", Erwartet: ELOOUTL2");
		}
		ed.sord.objKeys(1).data = GetDataFromRd(rd, "ELOOUTL2", "", 3000);

		if ((ed.sord.objKeys(2).name != "ELOOUTL3")) {
			throw new ArgumentException("Ungültige Indexzeile in Maske EMail", ed.sord.objKeys(2).name + ", Erwartet: ELOOUTL3");
		}
		ed.sord.objKeys(2).data = GetDataFromRd(rd, "ELOOUTL3", "", 3000);


		return 1;
	}
}

Der Compiler erzählt mir:> Fehlermeldung:

ErrorNumber: &quot;BC30002&quot;  
ErrorText: &quot;Der Typ &quot;IxMaske&quot; ist nicht definiert.&quot;  
FileName: &quot;C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\ITcompany\ICE\ixAblageMasken.vb&quot;

Hat jemand einen Tipp, wie ich die Ableitung verwenden kann?

Vielen Dank,
Manfred

23.02.2012 - 09:31 Uhr

Vielen Dank für die Hinweise.

'Lagerwechsel' klingt so nach sich outen....

Sind ja auch nur Programmierer - manchmal kann man die Sprache nicht mal selber auswählen.

Manfred

21.02.2012 - 13:46 Uhr

Hallo,

die Frage klingt jetzt wahrscheinlich blöd, aber mir gefallen das Forum und der Umgangston hier.

Kennt jemand ein Java-Forum, das auf ähnlichem Niveau ist?

Ich sollte ein Tomcat-Servlet umbauen 8), und habe noch nicht viel Ahnung davon.

Danke,
Manfred

14.09.2011 - 16:11 Uhr

Hallo Diräkt,

ich muß mich jetzt mal outen:
<schäm>ich programmier momentan auch VB</schäm>

Nur kriegt man hier bessere Ideen und Anregungen. (Danke an alle)

Und ich denke mal, abgesehen vom alles korrigierenden Editor und der Syntax, dass die beiden Sprachen ziemlich ebenbürtig sind.

Was ich eigentlich sagen wollte:
Extension - Methods gibt es auch in VB!

Ach ja, und mich endgültig lächerlich zu machen:
Ich trauere immer noch um Delphi 🙁

14.09.2011 - 15:00 Uhr

Genial!!!!

Daran hatte ich nicht gedacht.

Vielen Dank allen,
Mandy

14.09.2011 - 13:47 Uhr

Danke,
gerade das meinte ich mit unhandlich:
Ich hätte ja gerne etwas gehabt in der Form
mystring.max(MAXLENGTH)
ohne mich um die Länge des Strings zu kümmern.

14.09.2011 - 13:42 Uhr

Hallo!

Notizen nur privat (irgendwo verstreut)

Bester Beweis, dass ein DMS notwendig ist 😃

Interesse ist gewachsen, die Zeit geschrumpft ....

Das ganze irgendwo zu sammeln wäre mal ein guter Start.
Vielleicht finden sich dann noch mehr mit Interesse und Ideen.

Ich habe erst die Tage wieder einmal gesucht nach einem OpenSource DMS.
Allerdings war keines dabei, wo ich mir wenigstens gedacht hätte das probier ich mal aus.

LG,
Mandy

14.09.2011 - 13:28 Uhr

Hallo,

gibt es eine Möglichkeit, Strings vor dem Schreiben in die DB auf eine bestimmte Länge zu kürzen?

Substring ist ziemlich unhandlich dafür finde ich.
Wie macht ihr das?

Danke,
Manfred

16.09.2010 - 13:41 Uhr

Hallo,

vielen Dank für die schnellen Antworten.

Eine Beschreibung zur Instanzierung per String findet sich auf der MSDN: Activator.CreateInstance

Aber das ist wahrscheinlich nicht die optimale Lösung

@aequitas
Danke für den Hinweis auf Patterns...
darüber bin ich dann auf Interfaces gekommen, so bekommt jedes Kundenobjekt die komplette Schnittstelle verpasst, und ich muß nicht ständig unterscheiden.

Das mit den .dll's habe ich mir bei den paar Kleinigkeiten noch gar nicht überlegt.
Da würde ich eher eine gemeinsame Code-Bibliothek für die einzelnen Programmversionen verwenden.

Danke,
Mandy

16.09.2010 - 09:03 Uhr

Hallo,

ich arbeite gerade an einer export-Schnittstelle von Warenwirtschaft zu Webshop und retour.

Dazu habe ich einige Objekte (DatenErstellen, DatenExportieren, ExportFinalisieren,...) erstellt.
Wie das Leben so spielt, hat jeder Kunde seine Extrawürste, die ich gerne in Ableitungen der obigen Klassen einbauen möchte. Im config sollte dann stehen, welche Klasse für den Export verwendet werden soll.

Jetzt die große Frage:
Ist es möglich und sinnvoll, ein
DatenErstellen = new "Kunde1_DatenErstellen"
zu machen?

Oder wie würdet ihr sowas lösen?

Danke,
Mandy

02.09.2010 - 17:45 Uhr

Hi MrSparkle,

so weit so klar...
Die Frage war, ob man das über Attribute lösen kann/soll.
Der Vorteil wäre die leichtere Lesbarkeit,
und eine Klasse, wo ich nur mehr meine Eigenschaften eintrage,
und der Rest passiert über zwei Funktionsaufrufe.

Aber aus der großen Resonanz schließe ich einmal,
daß das noch nicht sehr viele überlegt haben bzw. brauchen.

Mal sehen,
wie weit meine Überlegungen noch führen.

Ciao,
Mandy

30.08.2010 - 13:22 Uhr

Hallo,

ich habe eine Idee im Kopf, vielleicht hat das ja schon jemand umgesetzt:

Ein Objekt, daß mir meine Settings hält, und serialisierbar ist, ist ja noch kein Problem.
Jetzt hätte ich aber gerne, daß vor der jeweiligen Eigenschaft über ein Attribut noch ein Kommentar dazugeschrieben werden kann.

Im .xml soll das dann so aussehen:


<BenutzergruppeArtikelgruppen value="1001000002">
      <!-- Das ist der Kommentar dazu, der dann endlos sein kann  -->      
</BenutzergruppeArtikelgruppen>

oder auch


<BenutzergruppeArtikelgruppen>
      <!-- Das ist der Kommentar dazu, der dann endlos sein kann  -->      
      1001000002
</BenutzergruppeArtikelgruppen>

Wobei mir persönlich die erste Variante besser gefällt.

Was sagt ihr dazu?
Gibt es das schon?

LG,
Mandy

21.05.2008 - 03:23 Uhr

Hallo Unikum,

wie meinst du das?
Es passiert auch bei einem neuen Projekt,
das keine SQLite enthält.
Ich komme auch gar nicht zur Auswahl von SQLite,
da das Verweis-Auswahlfenster gar nicht aufgeht.

SQLite selber habe ich auch nur in ein eigenes Verzeichnis kopiert,
nichts in der IDE installiert, oder sonstwas.

Bass.net hatte ich installiert,
in der Zwischenzeit aber wieder deinstalliert.

Back to Delphi??

Danke,
Mandy

17.05.2008 - 22:30 Uhr

Hallo,

@Andreas.May: Hilft nix....

Wie ist das mit Updates?
Gehen die automatisch mit Windowsupdates mit?
(Ich mag keinen IE 7 installieren!)

Ich habe Windows XP SP2 erst vor kurzem neu installiert,
C# und .net 3.5 neu installiert,
deshalb kann ich mir nicht vorstellen was daran schon kaputt sein soll.
Oder doch, ....

Bis zu diesem Punkt hat MS es das erste mal geschafft, sowas wie Begeisterung zu wecken 😉

Noch weitere Ideen?
Danke,
Mandy

09.05.2008 - 21:48 Uhr

Hallo,

* keine Plugins,
* keine Fehlermeldung,
* passiert immer
* ist eine neue Installation
(bin gerade bei meinen ersten Schritten in C#)

Am besten nachzuvollziehen ist es wohl, wenn du im Taskmanager den Prozess VCSExpress abschießt: IDE ist einfach weg...
bloss daß zuvor noch einige Zehntelsekunden die Platte was tut. 😦(

<EDIT>
Ich habe bereits einen Verweis auf SQLite eingefügt, ist mir gerade eingefallen
</EDIT>

Danke für eure Hilfe,
vielleicht habt ihr ja noch eine Idee
Mandy

09.05.2008 - 16:10 Uhr

Hallo byob,

hast du das Problem mit LineIn schon gelöst?
Kannst du deine Lösung kurz posten?

Ich möchte LineIn direkt in .mp3 streamen.

Danke,
Mandy

09.05.2008 - 15:54 Uhr

Hallo Leute,

ich habe Visual C# 2008 Express, und wollte jetzt das erste Mal einen Verweis im Projektmappen-Explorer hinzufügen.
Jedesmal wenn ich das versuche (rechte Maustaste auf Projektname oder Verweise) schließt sich die IDE kommentarlos....

Kennt das jemand?

Danke,
Mandy

28.04.2008 - 22:18 Uhr

Hi K21,

welche DB? Oder unabhängig?

28.04.2008 - 21:59 Uhr

Vielen Dank ujr und herbivore,

jetzt habe ich was ich wollte =) .

Ach ja, @ujr: Ich bin nicht DER Mandy, aber männlich; 8)
Was immer du auch fragen wolltest ){gray}

Falls noch jemand sowas sucht, hier der funktionierende Code:
(Bitte nicht sudern, bin C# Anfänger...
konstruktive Kritik ist aber jederzeit willkommen!)

(*
EDIT: globale Konstanten in enum umgebaut
Vielen Dank für den Hinweis, Khalid
*)


using System.Text;
using System.Runtime.InteropServices;
    public class Win32
    {
        
        public enum CSIDL
        {
            DESKTOP = 0x0000,
            INTERNET = 0x0001,
            PROGRAMS = 0x0002,
            CONTROLS = 0x0003,
            PRINTERS = 0x0004,
            PERSONAL = 0x0005,
            FAVORITES = 0x0006,
            STARTUP = 0x0007,
            RECENT = 0x0008,
            SENDTO = 0x0009,
            BITBUCKET = 0x000a,
            STARTMENU = 0x000b,
            MYDOCUMENTS = 0x000c,
            MYMUSIC = 0x000d,
            MYVIDEO = 0x000e,
            DESKTOPDIRECTORY = 0x0010,
            DRIVES = 0x0011,
            NETWORK = 0x0012,
            NETHOOD = 0x0013,
            FONTS = 0x0014,
            TEMPLATES = 0x0015,
            COMMON_STARTMENU = 0x0016,
            COMMON_PROGRAMS = 0x0017,
            COMMON_STARTUP = 0x0018,
            COMMON_DESKTOPDIRECTORY = 0x0019,
            APPDATA = 0x001a,
            PRINTHOOD = 0x001b,
            LOCAL_APPDATA = 0x001c,
            ALTSTARTUP = 0x001d,
            COMMON_ALTSTARTUP = 0x001e,
            COMMON_FAVORITES = 0x001f,
            INTERNET_CACHE = 0x0020,
            COOKIES = 0x0021,
            HISTORY = 0x0022,
            COMMON_APPDATA = 0x0023,
            WINDOWS = 0x0024,
            SYSTEM = 0x0025,
            PROGRAM_FILES = 0x0026,
            MYPICTURES = 0x0027,
            PROFILE = 0x0028,
            SYSTEMX86 = 0x0029,
            PROGRAM_FILESX86 = 0x002a,
            PROGRAM_FILES_COMMON = 0x002b,
            PROGRAM_FILES_COMMONX86 = 0x002c,
            COMMON_TEMPLATES = 0x002d,
            COMMON_DOCUMENTS = 0x002e,
            COMMON_ADMINTOOLS = 0x002f,
            ADMINTOOLS = 0x0030,
            CONNECTIONS = 0x0031,
            COMMON_MUSIC = 0x0035,
            COMMON_PICTURES = 0x0036,
            COMMON_VIDEO = 0x0037,
            RESOURCES = 0x0038,
            RESOURCES_LOCALIZED = 0x0039,
            COMMON_OEM_LINKS = 0x003a,
            CDBURN_AREA = 0x003b,
            COMPUTERSNEARME = 0x003d
        }
            
        static public string GetFolderPath(CSIDL csidl)
        {
            IntPtr idl = IntPtr.Zero;
            SHGetSpecialFolderLocation(IntPtr.Zero, (int)csidl, out idl);
            if (idl == IntPtr.Zero)
            {
                throw new Exception("Zero Pointer");
            }
            StringBuilder path = new StringBuilder(511);
            SHGetPathFromIDList(idl, path);
            return path.ToString();
        }

        [DllImport("Shell32.DLL")]
        private static extern int SHGetSpecialFolderLocation(IntPtr hwndOwner, int nFolder, out IntPtr ppidl);

        [DllImport("Shell32.DLL")]
        private static extern int SHGetPathFromIDList(IntPtr pidl, StringBuilder Path);
    }

27.04.2008 - 18:58 Uhr

Hallo S-Sharp,

also bei mir gibt es das von Dir genannte Verzeichnis 'Dokumente' unterhalb von 'All Users' nicht.

wo zeigt bei dir das Verzeichnis Gemeinsame Dokumente unter dem Arbeitsplatz hin?
Kann ja nicht sein, daß ich der erste mit der Frage bin X(

26.04.2008 - 22:24 Uhr

Vielen Dank Smou und Khalid,

aber .Personal ist der <user>\Eigene Dateien

Ich suche nach Arbeitsplatz\Gemeinsame Dokumente, auf den alle Benutzer gleichberechtigt zugreifen können. 🙁
(Standardinst. XP: C:\Dokumente und Einstellungen\All Users\Dokumente)

Vielleicht hat ja doch jemand eine Idee...

25.04.2008 - 22:41 Uhr

Hallo Leute,

gibt es eine Möglichkeit, den Pfad für Gemeinsame Dokumente herauszufinden?
Environment.SpecialFolder gibt ja einiges her, nicht aber die Gemeinsamen Dokumente

Vielen Dank für Eure Hilfe,
Mandy