Laden...

Forenbeiträge von Thoxx Ingesamt 112 Beiträge

12.09.2008 - 14:37 Uhr

Also wer sich wegen sowas umbringt, war meiner (unwissenden) Meinungen nach geistig bestimmt nicht die stabilste Person. Wäre es jetzt nicht der LHC gewesen, wäre irgendwas anderes bestimmt ziemlich bald der Trigger geworden.

12.09.2008 - 12:53 Uhr

Und für alle, die auf dem aktuellen Stand sein wollen:

http://www.hasthelhcdestroyedtheearth.com/

😁

18.08.2008 - 13:52 Uhr

Ah okay, mein Fehler...das hab ich falsch verstanden.

Hab mir auch noch mal das von JuyJuka während dem Mittag durch den Kopf gehen lassen, das scheint doch recht gut für mein Problem zu passen.
Muss ich mir noch Gedanken über die Repositionierung der "übrig gebliebenen" Elemente machen.

dr4g0n76, nein daran hab ich noch nicht gedacht, da lese ich nämlich grad zum ersten mal von ;D
aber hab schon was zum einlesen gefunden...

Danke für eure Tipps =)

18.08.2008 - 11:34 Uhr

Xqgene, hm...das ganze auf DB-Ebene (oder dann im DataSet) zu machen wäre natürlich auch eine Idee, allerdings wären die Controls dann ja alle da, aber teilweise leer...wodurch ein Nutzer dann vielleicht denken können, dass da garkeine Daten hinterlegt sind (allerdings weiss ich grad nicht, ob das wirklich ein Problem wäre)

JuyJuka, wie muss ich mir das vorstellen? Wird da dann erst mal bei Programmstart jedem Can-Property ein Wert anhand der Rolle zugewiesen?

Problem ist ja auch, dass dann "Lücken" sind, wenn ich einzelne Elemente ausblende und somit dann die vorhandenen wieder positionieren müsste, damit die Oberfläche nicht wie ein Trümmerfeld aussieht 😁

Vielleicht sollte ich da doch alle anzeigen lassen und nach der Methode von Xqgene die Zugriffe auf die DB-Felder definieren.

18.08.2008 - 10:28 Uhr

(Ich hoffe, dass ich mich im richtigen Unterforum befinde)

Ich hab ein Programm, in dem Personen erfasst und bearbeitet werden können. Indem Programm habe ich mehrere Tabs und die erfassten Personen sind bereits alle mit einer Rolle (in der DB) versehen und alle erfassten Personen haben theoretisch Zugriff auf das Programm.
Jetzt möchte ich das ganze Programm mit einem Rechtesystem ausstatten (ich weiss, sowas macht man bestimmt schon eher, aber ich hab das ganze auch nur übernommen und muss da jetzt weitermachen ^^), momentan sind erst mal nur 3 Rollen vorgesehen (eine Rolle darf alles sehen und bearbeiten, eine Rolle darf das Programm erst gar nicht starten und die dritte Rolle hat eingeschränkten Zugriff und darf nur weniger Sachen ändern), weitere Rollen könnten eventuell folgen. Innerhalb von den Tabs befinden sich Standardelemente wie Labels, Textboxes, Datagridviews, Comboboxes usw. Bei der Rolle mit eingeschränktem Zugriff müssen teilweise ganze Tabs nicht mehr sichtbar gemacht werden, manchmal aber auch nur einzelne (zB bestimmte Textboxen und Comboboxes sollen nicht sichtbar gemacht werden).

Mein „Startpunkt“ (bzw. die Idee erst mal) ist quasi, dass ich bei Programmstart die WinKennung der angemeldeten Person auslese und das dann mit der internen Rolle der Person abgeglichen wird, somit kann ich schon mal die Rolle im Programm festlegen (und die eine Rolle somit gleich von der Benutzung ausschließen). Allerdings weiss ich jetzt nicht, wie ich sinnvoll weitermachen soll. Ich bräuchte mal eine Idee. Ich könnte ja theoretisch für jedes Element auf der Form eine boolsche Variable erstellen, anhand der festgelegten Rolle dann die Variablen entsprechend belegen und über de Visible, ReadOnly und Enabled Properties anhand der Variablen festlegen, was angezeigt und/oder geändert werden darf. Allerdings erscheint mir das sehr unsinnig und auch irgendwie umständlich.
Und generell weiß ich auch nicht so wirklich wie ich speichern soll, welche Rolle sich welche Elemente anzeigen lassen bzw. welche Elemente geändert werden dürfen. Ich dachte ja erst ich erstelle in der Datenbank eine neue Tabelle, wo dann jedes Element der Anwendung (welches für das Rechtesystem relevant ist) mit einer ID hinterlegt ist und dann noch eine wo hinterlegt ist, welche Rolle welches Element sehen/ändern darf. Das erscheint mir aber auch unsinnig.

Das Problem ist nicht, dass ich es nicht irgendwie umsetzen könnte, sondern viel eher dass ich nicht weiss, wie man es **sinnvoll **umsetzt.
Gibt es da allgemeine Vorgehensweisen, wie man sowas macht?
Oder irgendwas zum anlesen?
Vielleicht hab ich ja generell eine falsche Vorstellung von der Implementierung von so was.

Vielen dank im voraus.
~Thoxx

*edit*

Danke fürs verschieben, hab das Unterforum vorhin völlig übersehen 😮

12.08.2008 - 14:34 Uhr

http://www.striewisch-fotodesign.de/lehrgang/lehrg.htm ist übrigens auch eins der Standardwerke im Internet über Fotografie (auch unter www.fotolehrgang.de bekannt).
Egal ob digital oder analog, die Grundlagen bleiben die gleichen.

06.03.2008 - 18:26 Uhr

Hm, ich dachte eigentlich, dass sich die Indizes verschieben.
D.h. wenn ich Zeit1 den DisplayIndex 4 gebe, bekommt die Spalte, du davor den Wert 4 hatte die 5, die Spalte die Wert 5 hatte bekommt 6 usw.
Also das die alle eins weiter "hinter" rücken.

06.03.2008 - 15:03 Uhr

Hallo,

ich hab eine Datagridview, welches per BindingSource an einer DataTable in meinem DataSet hängt.

Jetzt versuche ich die Anordnung der Spalten, die da automatisch eingefügt werden, per DisplayIndex zu ändern, was aber nur bedingt bzw. in einer mir nicht nachvollziehbaren Weise funktioniert.

In meiner DataTable sind die Spalten in folgender Reihenfolge vorhanden:

0 V_ID
1 Beginn1
2 Ende1
3 Beginn2
4 Ende2
5 Tage
6 Zeit1
7 Zeit2
8 Aktiv
9 Funktion
10 M_ID

jetzt will mir die beiden IDs aber nicht anzeigen lassen und eine andere Reihenfolge:

0 Aktiv
1 V_ID //ausgeblendet
2 Beginn1
3 Ende1
4 Zeit1
5 Beginn2
6 Ende2
7 Funktion
8 Zeit2
9 Tage
10 M_ID //ausgeblendet

Mein Code sieht also wie folgt aus:


this.bsVertrag = new BindingSource();
this.bsVertrag.DataSource = Speicher.VertragTable;
this.dgvVertrag.DataSource = bsVertrag;

this.dgvVertrag.Columns["Aktiv"].DisplayIndex = 0;
this.dgvVertrag.Columns["Zeit1"].DisplayIndex = 4;
this.dgvVertrag.Columns["Funktion"].DisplayIndex = 7;

this.dgvVertrag.Columns["M_ID"].Visible = false;
this.dgvVertrag.Columns["V_ID"].Visible = false;

jetzt hat das DGV aber folgende Anordnung der Spalten:

0 Aktiv
1 V_ID //ausgeblendet
2 Beginn1
3 Ende1
4 Beginn2
5 Ende2
6 Zeit1
7 Funktion
8 Tage
9 Zeit2
10 M_ID //ausgblendet

Meine Frage wäre jetzt: Warum?
Wenn ich die Aktiv-Spalte an den DisplayIndex 0 setze, funktioniert das ja auch, aber warum bei den anderen nicht?
Die Indizes der anderen Spalten werden doch automatisch "verschoben", wenn ich einen DisplayIndex einer Spalte ändere, oder?

Kann mir da bitte mal jemand auf die Sprünge helfen, irgendwie kann ich da die Indizevergabe nicht ganz nachvollziehen.

Schon mal danke im voraus.
Thoxx

17.01.2008 - 17:05 Uhr

Ein Forum ist bei mehreren Leute bestimmt ganz praktisch, aber wir zwei brauchen das wohl eher nicht, zumal wir uns auch recht oft sehen ;D

Ich hab mir jetzt mal das Collanos Workplace angeschaut, das sieht ganz nett aus.
Dürfte wohl reichen, um paar Informationen, Notizen und Aufgaben abzulegen.

15.01.2008 - 15:30 Uhr

Und um den Wert bestimmter Tools kennen zu lernen ist es auch wichtig mal ohne diese gearbeitet zu haben, um dann die Effekte (sprich Probleme) am eigenen Leib zu erfahren.

Gerade weil ich im Studium schon sachen ohne vorherige Planung o.ä. programmiert habe und deshalb weiss, wie chaotisch das dann werden kann wenn man einfach loslegt, wollte ich das hier mal eben anders machen 😉

Was könnt ihr für die Versionsverwaltung empfehlen? Subversion?

15.01.2008 - 11:51 Uhr

Ah, danke.

Ich wusste garnicht, dass es von dem objectiF eine kostenlose Version gibt, da wir nämlich bereits in Software-Engineering mit objectiF arbeiten, werd ich mir natürlich gleich mal anschauen, was die kostenlose Version kann 🙂

svenson, momentan haben wir beide das VS 2005 mit .NET 2.0, deshalb wird das mit dem Entity Framework wohl vorerst flach fallen, aber ich hoffe, dass uns VS 2008 bald per MSDNAA zur Verfügung steht, wenn die deutsche Version erscheint (trotzdem danke für den Tipp, ich werd das mal im Auge behalten 🙂)

15.01.2008 - 11:15 Uhr

Hiho,

Kumpel aus meinem Studiengang und ich möchten in C# .NET einen etwas umfangreicheres Messenger Tool programmieren (mit Datenbankanbindung, Dateiupload, Skin-System für den Messenger etc.).

Jetzt machen wir das nicht, damit das danach dutzende Leute benutzen, sondern nur für uns, damit wir einfach mal kleines bisschen Erfahrung sammeln können (da im Studium C# und .NET erst frühestens nächstes Semester kommen) und bisschen Ahnung von der Sprache und dem Framework bekommen und einfach mal ein Projekt haben, an dem wir mal arbeiten können (ohne Motivation macht man halt auch nicht wirklich was).

Damit das aber nicht so chaotisch und einfach so ein drauf-los-geprogrammiere wird, wollen wir das vorher alles erst mal bisschen planen und analysieren.

Und hier liegt das Problem, wir bräuchten da eine passendes Tool dafür.
Irgend ein Programm (oder vielleicht auch Web-Anwendung?), wo man erst mal Daten- /Funktionsstrukturen und Informationsflüsse o.ä. anlegen könnte, eventuell für den Datenbankkrams noch ER-Modell und dann halt ToDo Listen oder sowas, wo man halt sieht was noch gemacht werden muss, was geändert, was von wem zuletzt implementiert wurde (einfach was für die Übersicht, was schon passiert ist und was noch passieren muss).

Kennt da jemand was oder kann uns da irgendwie weiterhelfen (ich bin auch für irgendwas anderes offen g). Wir sind halt noch nicht die Profis und wollen einfach mal was machen, ohne dass von vorherein schon Chaos vorprogrammiert ist oder wir uns mit Word, Excel & Co rumschlagen. Ich weiss, wir sind nur zu zweit und dafür mag das vielleicht auch bisschen übertrieben sein, aber wir wollen es einfach mal "richtig" machen 🙂

Gruß Thoxx