Laden...

Forenbeiträge von Diräkt Ingesamt 615 Beiträge

14.11.2011 - 13:56 Uhr

Hallo gfoidl

Danke für Deine Antwort.

Hier ein Beispiel :

Item I : "Wert10+Wert20+Wert30"

Nun soll:
Wert10 mit Wert1,
Wert20 mit Wert200,
Wert30 mit Wert30300
ersetz werden.

Ich hab ein Dicitionairy<int oldWert, int newWert>,
es wird darüber iteriert um alle vorkommen zu ersetzen....

Replace ist der falsche Weg weil Beispielsweise
Wert30300 auch replaced werden würde bei der korrektur von Wert30.

Fix ist Wert123123123 => Wert[Number]

Besten Dank und beste Grüsse

Diräkt

14.11.2011 - 11:58 Uhr

Hallo

Um es gleich gesagt zu haben, bin kein Regex Profi, da ich es extrem selten brauch....

**Aufgabe 😗*

Alle Objekte einer Liste durchgehen und Ausdrück **ersetzen **wobei gilt :


Wert1 != Wert100

Aufbau der Liste

Item I : "Wert1+Wert2+Wert33-Wert4"
Item II : "Wert6+Wert7+Wert8-Wert54"

**Ziel 😗*

Werte verändern wobei die Regel beachtet werden muss. (Wert1 != Wert100)

**Erster Versuch 😗*


  foreach (var formeln in keyValues)
            {
                if (tmp.Value != null)
                    if (tmp.Value.Contains(formeln.Key))
                    {
                       tmp.FormelValue.Replace(formeln.Key, formeln.Value);
                    }
            }

Dies funktioniert natürlich nicht, weil ich die Regel nicht beachte...

Nächster Versuch


 foreach (var formeln in keyValues)
            {
                if (tmp.FormelValue != null)
                    if (tmp.FormelValue.Contains(formeln.Key))
                    {

                        Regex exp = new Regex(@", ?");
                        string searchKeyWord = @"(\b" + exp.Replace(formeln.Key, @"|") + @"\b)";

                        tmp.FormelValue = Regex.Replace(tmp.FormelValue, searchKeyWord, formeln.Value);
                    }
            }

Dies funktioniert zwar, kann mir aber jemand ein besseren Weg aufzeigen mein genanntes Problem sauber zu lösen ?

Besten Dank und beste Grüsse

Diräkt

29.10.2011 - 08:22 Uhr

Hallo Rhavin

Vorerst bezüglich der if Abfrage... :
Tippfehler == true ....

Bezüglich Linq:

Ich würde von der Hilfstabelle starten àlà


var qMedia = from m in context.Hilfstabelle
                    where lstListe.Contains(x.Property)
                    select new { } ....
                                     
              

Beste Grüsse

Diräkt

27.10.2011 - 12:11 Uhr

Hallo Leute

Beschreibung
Eine Applikation serialisiert beim speichern alle Objekte in ein XML, ich muss dieses XML in meiner Applikation für ein Daten-Import einlesen können...

Ziel:
=> XML Datei einlesen

Problem:
Beim Versuch eine Klasse aus dem XML per XSD.EXE zu generieren schlägt fehl:
=> "Eine verschachtelte Tabelle mit dem namen "xyz" gehört bereits zu dieser Tabelle

Problem:
Der Aufbau sieht teilweise so aus: (daher der Fehler)


<a>
  <a>
     <b>
      </b>
   </a>
</a>

Hat mir jemand ein Tipp wie ich das XML dennoch einigermassen vernünftig auslesen kann ?

Beste Grüsse

Diräkt

Edit: Titel 😉

25.10.2011 - 12:28 Uhr

Hallo mcpd

Wenn ich diesen Button betätige, erhalte ich ein Formular für die Neueingabe von Daten.

Du kannst ja im Button_Event auf eine "INSERT" Seite redirecten.
Beim speichern auf dieser "Detail-Seite" kannst du wieder auf die Seite mit dem GridView redirecten.

Beste Grüsse

Diräkt

24.10.2011 - 14:30 Uhr

Hallo

Schau dir ggf. mal das an :

XML Editor

Beste Grüsse

Diräkt

18.10.2011 - 12:04 Uhr

Hallo Glorb

Indem man die Max-Height setzt ?

Beste Grüsse

Diräkt

17.10.2011 - 17:13 Uhr

Hallo M@tuk

Anmerkung :
=> Der Profile Provider (teil des Membership-Providers), löst das "Selbe" Problem in einem Feld.
Die Werte werden einfach getrennt und wieder ausgelesen. (Benutzerspezifisch)
Speicherart Profile Provider

In dem WebConfig wird dann der Typ zugewiesen :
Zuweisung Property - Typ (ja bei Dir würde die Typisierung verloren gehen)

Damit könntest du Dir ggf. die 2 Tabellen schenken 😉
(Vorausgesetzt ein Benutzer hat nicht tausende custom "Spalten")

Beste Grüsse

Diräkt

Edit:
Hier noch ein interessanter Link

16.10.2011 - 14:53 Uhr

Nachtrag :

So würde es funktionieren :

SELECT     Auftrag.AuftragID,
(Select SUM(Auftrag_Ausgaben.Menge * Auftrag_Ausgaben.Einkaufspreis) FROM Auftrag_Ausgaben  where Auftrag_Ausgaben.AuftragID=Auftrag.AuftragID)as Ausgaben,
 (Select  SUM(Auftrag_Einnahmen.Menge *  Auftrag_Einnahmen.StkPreis) FROM Auftrag_Einnahmen where Auftrag_Einnahmen.AuftragID=Auftrag.AuftragID)as Einnahmen
From Auftrag
WHERE     (Auftrag.Abgeschlossen = 'false')
group by Auftrag.AuftragID

Aber warum nicht mit "im Post 1" dargestelltem Versuch ?

Beste Grüsse

Diräkt

16.10.2011 - 11:46 Uhr

verwendetes Datenbanksystem: <SQL 2008>

Hallo Leute

Könnte mir jemand den Knopf lösen ? 😉

Aufbau :
Auftrag - Auftrag_Ausgaben (1:N)
Auftrag - Auftrag_Einnahmen (1:N)

Ziel :
AuftragID, Auftrag Ausgaben, Auftrag Einnahmen

Versuch :


SELECT     Auftrag.AuftragID,  SUM(Auftrag_Ausgaben.Menge * Auftrag_Ausgaben.Einkaufspreis) as Ausgaben, SUM(Auftrag_Einnahmen.Menge * 
                      Auftrag_Einnahmen.StkPreis) as Einnahmen
FROM         Auftrag LEFT OUTER JOIN
                      AuftragDetail ON  AuftragDetail.AuftragID = Auftrag.AuftragID LEFT OUTER JOIN
                      AuftragDetails_Ausgaben ON AuftragDetails_Ausgaben.AuftragID =Auftrag.AuftragID       
WHERE     (Auftrag.Abgeschlossen = 'false')
 GROUP BY  Auftrag.AuftragID

Was ist daran falsch ? 😉

(=> Einnahmen scheinen zu stimmen, aber die Ausgaben werden * Anzahl Positionen in Einnahmen gerechnet)

(Left Outer Join wurde verwendet, da nicht jeder Auftrag Ausgaben, oder Einnahmen hat)

Danke für Eure Hilfe

Beste Grüsse

Diräkt

15.10.2011 - 21:58 Uhr

Hallo krxkrx

so nun moechte ich wen ich auf "hi" klicke sollen neben dem treeview ein label, picbox, textbox1, textbox2, linklabel etc geaenert werden.

Du könntest dies mit AJAX bewerkstelligen...

Hier ein Beispiel :
Ajax

heist diese daten sollen aus einer xml geladen werden. zb ich klicke auf "hi" der inhalt aus der xml wird in die textbox geschrieben und das label geaenert und das bild wird (egal welches format) auch geladen.

XML auslesen

Für das Bild, kannst du eine Picturebox verwenden, siehe AJAX Link, kannst genau gleich umsetzen...

Beste Grüsse

Diräkt

15.10.2011 - 21:51 Uhr

Hallo Campy

Auch wenn es Deine Frage nicht beantwortet,
darf ich fragen wesshalb du nicht folgendes machst :


public class Test : Base
    {
        private Guid _ID;
        public Guid ID
        {
            get { return _ID; }
            set { _ID = value; NotifyPropertyChanged("ID"); }
        }

        private string _Name;
        public string Name
        {
            get { return _Name; }
            set { _Name = value; NotifyPropertyChanged("Name"); }
        }

    }

public class Test2 : Base
    {
        private Guid _ID;
        public Guid ID
        {
            get { return _ID; }
            set { _ID = value; NotifyPropertyChanged("ID"); }
        }

        private Guid _TestReference;
        public Guid TestReference
        {
            get { return _TestReference; }
            set { _TestReference= value; NotifyPropertyChanged("Number"); }
        }
   }

(einfach eine Referenz setzen)

Beste Grüsse

Diräkt

14.10.2011 - 21:59 Uhr

Da übt man 5 Stunden ... und plötzlich ... 😉

(sollte jemand auch mal auf ein ähnliches Problem stossen...)

Diese Zeile raus :


 DocumentFormat.OpenXml.Wordprocessing.Run run = new DocumentFormat.OpenXml.Wordprocessing.Run();

und alle "Parameter" gleich dem :


 Run bookmarkTexte = bookmarkStart.NextSibling<Run>();

anhängen, und es funktioniert.

Beste Grüsse

Diräkt

14.10.2011 - 18:52 Uhr

Hallo Leute

Ziel :
=> Word Bookmarks "überschreiben"
=> Das Format (Schrift, Grösse, .....) soll beibehalten werden (Vorlage)

Problem :
=> Bei mehreren Zeilen wird das Format überschrieben.

Beschreibung :

Ich habe 2 Varianten :
-> Generiere das Dokument mit Word installiert ... (Interop)
-> Generiere das Dokument ohne Word installiert ... (Open XML)

Bei der Ersten Variante alles Problemlos.

Bei der zweiten Variante eigentlich auch, nur dass bei Mehrzeiligen "inserts" das Format (Style) überschrieben wird.

Code :

So "überschreibe" ich die Bookmarks, bei "einzeilern" klappt das auch (Format wird übernommen)



 foreach (BookmarkStart bookmarkStart in doc.MainDocumentPart.RootElement.Descendants<BookmarkStart>())
                    {
                        bookmarkMap[bookmarkStart.Name] = bookmarkStart;
                    }

  foreach (BookmarkStart bookmarkStart in bookmarkMap.Values)
                    {
                        Run bookmarkTexte = bookmarkStart.NextSibling<Run>();
                        if(bookmarStart.Name.InnerText == "Bookmark_AuftragDetails")
                         {
//delete predefine bookmark text
 bookmarkTexte.GetFirstChild<Text>().Text = "";

                                    foreach (var item in data.AuftragDetail)
                                    {
                                        DocumentFormat.OpenXml.Wordprocessing.Run run = new DocumentFormat.OpenXml.Wordprocessing.Run();
                                        DocumentFormat.OpenXml.Wordprocessing.Text menge = new DocumentFormat.OpenXml.Wordprocessing.Text();
                                        DocumentFormat.OpenXml.Wordprocessing.Text position = new DocumentFormat.OpenXml.Wordprocessing.Text();
                                        DocumentFormat.OpenXml.Wordprocessing.Text stkpreis = new DocumentFormat.OpenXml.Wordprocessing.Text();
                                        DocumentFormat.OpenXml.Wordprocessing.Text totalpreis = new DocumentFormat.OpenXml.Wordprocessing.Text();

                                        menge.Text = item.Menge.ToString();
                                        position.Text = item.Position;
                                        stkpreis.Text = item.StkPreis.ToString();
                                        totalpreis.Text = (item.Menge * item.StkPreis).ToString("N2");

                                        run.Append(menge);
                                        run.Append(new DocumentFormat.OpenXml.Wordprocessing.TabChar());
                                        run.Append(position);
                                        run.Append(new DocumentFormat.OpenXml.Wordprocessing.TabChar());
                                        run.Append(stkpreis);
                                        run.Append(new DocumentFormat.OpenXml.Wordprocessing.TabChar());
                                        run.Append(totalpreis);
                                        run.Append(new DocumentFormat.OpenXml.Wordprocessing.CarriageReturn());
                     
                                        bookmarkTexte.InsertAfterSelf(run);

                                    }

                                    
                         }
mainPart.Document.Save();


XML Unterschied , Variante Word , Variante Open XML


     <w:bookmarkStart w:id="13" w:name="Kud_Artikel_Auflistung"/>
            <w:r>
              <w:t>2.00</w:t>
            </w:r>
            <w:r>
              <w:tab/>
              <w:t>A</w:t>
            </w:r>
            <w:r>
              <w:tab/>
              <w:t>80.00</w:t>
            </w:r>
            <w:r>
              <w:tab/>
              <w:t>160.00</w:t>
            </w:r>
            <w:r>
              <w:cr/>
              <w:t>2.00</w:t>
            </w:r>
            <w:r>
              <w:tab/>
              <w:t>B</w:t>
            </w:r>
            <w:r>
              <w:tab/>
              <w:t>80.00</w:t>
            </w:r>
            <w:r>
              <w:tab/>
              <w:t>160.00</w:t>
            </w:r>
            <w:r>
              <w:cr/>
              <w:t>1.00</w:t>
            </w:r>
            <w:r>
              <w:tab/>
              <w:t>C</w:t>
            </w:r>
            <w:r>
              <w:tab/>
              <w:t>80.00</w:t>
            </w:r>
            <w:r>
              <w:tab/>
              <w:t>80.00</w:t>
            </w:r>
            <w:r>
              <w:cr/>
              <w:t>1.50</w:t>
            </w:r>
            <w:r>
              <w:tab/>
              <w:t>D</w:t>
            </w:r>
            <w:r>
              <w:tab/>
              <w:t>80.00</w:t>
            </w:r>
            <w:r>
              <w:tab/>
              <w:t>120.00</w:t>
            </w:r>
            <w:r>
              <w:cr/>
              <w:t>1.00</w:t>
            </w:r>
            <w:r>
              <w:tab/>
              <w:t>E</w:t>
            </w:r>
            <w:r>
              <w:tab/>
              <w:t>500.00</w:t>
            </w:r>
            <w:r>
              <w:tab/>
              <w:t>500.00</w:t>
            </w:r>
            <w:r>
              <w:cr/>
            </w:r>
            <w:bookmarkEnd w:id="13"/>
...


 <w:r>
              <w:rPr>
                <w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/>
                <w:sz w:val="26"/>
                <w:szCs w:val="26"/>
              </w:rPr>
              <w:t>1.00</w:t>
            </w:r>
            <w:r>
              <w:rPr>
                <w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/>
                <w:sz w:val="26"/>
                <w:szCs w:val="26"/>
              </w:rPr>
              <w:tab/>
              <w:t>C</w:t>
            </w:r>
            <w:r>
              <w:rPr>
                <w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/>
                <w:sz w:val="26"/>
                <w:szCs w:val="26"/>
              </w:rPr>
              <w:tab/>
              <w:t>500.00</w:t>
            </w:r>
            <w:r>
              <w:rPr>
                <w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/>
                <w:sz w:val="26"/>
                <w:szCs w:val="26"/>
              </w:rPr>
              <w:tab/>
              <w:t>500.00</w:t>
            </w:r>
          </w:p>
          <w:p w:rsidR="00D468AF" w:rsidRDefault="00D468AF" w:rsidP="00D8475C">
            <w:pPr>
              <w:tabs>
                <w:tab w:val="right" w:pos="851"/>
                <w:tab w:val="left" w:pos="1843"/>
                <w:tab w:val="right" w:pos="6840"/>
                <w:tab w:val="right" w:pos="8505"/>
              </w:tabs>
              <w:spacing w:after="0"/>
              <w:rPr>
                <w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/>
                <w:sz w:val="26"/>
                <w:szCs w:val="26"/>
              </w:rPr>
            </w:pPr>
            <w:r>
              <w:rPr>
                <w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/>
                <w:sz w:val="26"/>
                <w:szCs w:val="26"/>
              </w:rPr>
              <w:t>1.50</w:t>
            </w:r>
            <w:r>
              <w:rPr>
                <w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/>
                <w:sz w:val="26"/>
                <w:szCs w:val="26"/>
              </w:rPr>
              <w:tab/>
              <w:t>D</w:t>
            </w:r>
            <w:r>
              <w:rPr>
                <w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/>
                <w:sz w:val="26"/>
                <w:szCs w:val="26"/>
              </w:rPr>
              <w:tab/>
              <w:t>80.00</w:t>
            </w:r>
...

Wer kann mein Wochenende retten 😃

Beste Grüsse

Diräkt

Edit :

Am liebsten wären mir eine Equivalente Methode zu der "Word Variante" :


  private void replaceBookmark(Word.Document document, string bookmark, string value)
        {
            Word.Range rng = document.Bookmarks[bookmark].Range;
            rng.Text = value;
        }

(Textmarke wird überschrieben, der "in der Textmarke" definierte Style (Format) bleibt erhalten

13.10.2011 - 14:12 Uhr

Hallo Spe

Ich würde so vorgehen:
=> Wissen was genau du brauchst ( Rollen - Konzept, Applikationen - Konzept ....)
=> Datenbank-Modell erstellen
=> ...

Die im letzen Post gennanten Methoden, könnten dabei behilflich sein in deiner Web-App das ganze Umzusetzen. (z.B. Passwort verschlüsseln etc...)

Ggf. ist mein Vorschlag für Dich auch nicht sehr passend, ev. ist es doch besser du benutzt den Membership - Provider wenn du noch nicht soviel Erfahrung hast... 😉

Hier wird alles erklärt :

membership provider

(Warum empfehle ich den Membership Provider nicht unbedingt :
=> Profile Informationen werden z.B so gepseichert
ProfileField = "Ich;0,3;Du;3,2"

Je nach Anforderung ist das ggf. für eine Weiterverarbeitung nicht immer sooo tool 😉
usw....)

Beste Grüsse

Diräkt

13.10.2011 - 13:37 Uhr

Hallo spe

Der Membership-Provider generiert als ID's GUID's. (kann ggf. ein Problem sein..)

Ganz ehrlich gesagt würde ich persönlich eher die Variante empfehlen :
=> Verzichte auf den Membership Provider
=> Du kannst dennoch Methoden wie :
RedirectFromLoginPage
RedirectToLoginPage
HashPasswordForStoringInConfigFile

etc. verwenden.

Ich bin immer besser gefahren, es gleich selbst zu machen 😉

Beste Grüsse

Diräkt

12.10.2011 - 22:53 Uhr

[noch mehr offtopic]

Hallo 😃

Ich möchte einfach mal DANKE sagen ! Gute Arbeit ! 😃

Beste Grüsse

Diräkt

[/noch mehr offtopic]

11.10.2011 - 08:34 Uhr

Hallo thefiloe

	
Es gibt unzählige Beispiele, die Du sicherlich durch die führenden Suchmaschinen finden wirst. 

gleicher Meinung, aber gerne habe ich für Dich mal den Such Button gedrückt :

Agility Pack I
Agility Pack 2
Agility Pack -> POST and GET

Sollten Dir diese Informationen nicht genügen und du hättest gerne eine "konkrete" Antwort, stelle bitte auch eine "konkrete" Frage 😃

Beste Grüsse

Diräkt

10.10.2011 - 19:12 Uhr

Hallo thefiloe

Das ist ganz einfach mit dem Agility Pack

Beste Grüsse

Diräkt

10.10.2011 - 16:35 Uhr

Hallo Grumbler85

Das ist eine Tabelle mit "Rechnungen", welche zur Laufzeit durch ein Mathe-Parser gejagt werden.

Mein Ziel ist es, die Daten (trotz Abhängigkeit (Child, Parent, FormelValue)) exportieren zu können nach XML. Danach wieder einfügen....

Ich habe dies bereits umgesetzt jedoch absolut hässlich :
=> XML Analysieren
=> Datensätze in SQL Server schreiben
=> Alle geschriebenen Datensätze nun manipulieren (ChildID, ParentID, FormelValue)

Das manipulieren kann erst nach dem Insert passieren, da ich keine Möglichkeit gefunden habe den PK (increment) vor dem Insert zu bekommen.

Nun suche ich also nach einer besseren Lösung für mein Problem 😉

Beste Grüsse

Diräkt

Edit :

Absoult hässlich weil ich zuerst X inserts mache, danach X updates hinterher feuern muss.....

10.10.2011 - 15:03 Uhr

Hallo Grumbler85

Besten Dank für Deine Antwort.

Klingt schonmal sehr interessant, nur wie sieht das aus, wenn die "anzahl Felder" nicht definiert ist ?
(left, right, operator) es könnte auch so aussehen : 101102103+104^105

Das Ganze durch Navigations-Eigenschaften aufzubauen mit den Spalten :
ReferenceID , IsOperator
wäre doch auch etwas übertrieben ?! (unendliche joins ....)

Beste Grüsse

Diräkt

07.10.2011 - 17:28 Uhr

verwendetes Datenbanksystem: <SQL 2008 R2, EF 4>

Hallo Leute

Folgende Frage

Gibt es eine Möglichkeit eine Art PlaceHolder zu verwenden, welcher beim Insert durch den auto-generierten (increment) PK ersetzt wird ?

Szenario

(PK) ID : 100
(string?) Formel : 101*102
(double?) Value = NULL

(PK) ID : 101
(string?) Formel : NULL
(double?)Value = 10

(PK) ID : 102
(string?)Formel : NULL
(double?)Value = 10

Wenn ich nun diese 3 Objekte kopieren will, muss das Formel-Property (string) nun aktualisiert werden, sodass es das Neue ID - Property referenziert.

Da ich dies auch serialisieren will, sodass man es später import/exportieren kann, wäre es also am aller besten für mich, wenn es eine Möglichkeit geben würde, den neu generierten PK Wert "referenzieren" zu können.

(ja normal bekommt man diesen ja erst nach dem Insert, wenn ich aber 200 Einträge kopiere, dann 200 inserts und 200 updates zu feuern, klingt nicht sehr intelligent.)

Hat mir jemand ein Tipp ? Eine Idee ?

Besten Dank und beste Grüsse

Diräkt

02.10.2011 - 22:14 Uhr

Hallo Taladan

Mit Mango werden ja jetzt Sockets unterstützt. Da dies bisher nicht der Fall war hab ich bezüglich löschen,kopieren,uploaden eine FTP Applikation entwickelt (die damals "ohne" Sockets funktionieren musste (NODO)) (die app heisst MY FTP bei Interesse) Dies habe ich über ein WebService erledigt. Dieser stellt die Verbindungen her und übertrag es zum WP7. Du kannst auch ein Byte[] an das WP7 senden ....

Am einfachsten (meines Erachtens) wäre es jedoch, eine SQL DB aufzusetzen und ein WebService für die CRUD Operations zu schreiben.

Beste Grüsse

Diräkt

02.10.2011 - 13:22 Uhr

danke 😃

Somit wäre das mit dem stiel ja abgehackt 😉

Beste Grüsse

Diräkt

01.10.2011 - 23:41 Uhr

Hallo gfoidl

Besten Dank für Deine Antwort.

Diese beiden arbeiten über die WSDL und da gehts nur um Eigenschaften. Methoden werden dabei nicht berücksichtigt.

Ja genau ich benutze "Add Service Reference". Da nur Properties berücksichtig werden habe ich mir folgendes überlegt :


public abstract class Base
{
public abstract double NextDouble();

private double getNextDoublePropertie
{ 
get {return NextDouble();}
set{}
}
public double GetNextDoublePropertie
{ 
get {return getNextDoublePropertie;}
set{ getNextDoublePropertie=value;}
}

public class A:Base
{
public override double NextDouble()
        {
            return 1;
        }

}

public class B:Base
{
  public override double NextDouble()
        {
    return 2;
        }
}


Das funktioniert sogar, daher die Frage, ist das sehr schlechter Stiel ? 😃

Beste Grüsse

Diräkt

01.10.2011 - 23:14 Uhr

Hallo 😃

Danke für die schnellen Antworten.

A und B sind natürlich nicht abstrakt , Sorry ! ....

Das ist klar, da es ein anderer Typ ist. Der Typ besteht aus Namespace + Klassenname. Siehe auch die Type.FullName-Eigenschaft.

Geht das nur mit z.B Auto Mapper ?

Was mir nicht ganz klar ist warum ich die Methode "NextDouble" beim Client nicht zur Verfügung hab ?!

Beste Grüsse

Diräkt

01.10.2011 - 22:57 Uhr

Hallo 😃

Mich quält ein Problem, und bitte Euch desshalb um Hilfe 😉

Folgendes Konstrukt wird serialisiert und zum Client geschickt. Mein Ziel ist es auf dem Client die Methode "NextDouble()" aufzurufen.



public abstract class Base
{
 public abstract double NextDouble();
}

public class A:Base
{
 public override double NextDouble()
        {
            return 1;
        }
}

public class B:Base
{
  public override double NextDouble()
        {
    return 2;
        }
}


Leider wird diese Methode nicht "mit-serialisiert".

Der Client hat die Selbe Klasse ebenfalls, der Versuch die "Server Klasse" in die identische "Client Klasse" (in anderem Namespace..) zu casten, ist leider fehlgeschlagen.

Wie löse ich das ? Was mach ich falsch ?

Besten Dank für Eure Antworten

Beste Grüsse

Diräkt

28.09.2011 - 14:24 Uhr

Hallo

Besten Dank für Eure Antworten.

Natürlich hatte herbivore recht, es lag wirklich daran, dass ich nicht Invariant-Culture benutzt habe.

Nach 1,5 Tagen debuggen, werde ich es aber heute nicht mehr genauer analysieren.

(=> Denn dies müsste ja heissen, dass auf dem Live-Server (wieso auch immer) jeder Thread nicht mit der gleichen Culture initialisiert wurde).

Ich habe genau diesen Fehler ausgeschlossen weil es für mich absoult unlogisch ist. Hätte erwartet dass ein Culture Fehler immer zum SELBEN Fehler führt aber nicht zu unterschiedlichen Werten.

Ein Thread Fehler habe ich "ausgeschlossen", da dieser auf meinem I7 eigentlich häufiger vorkommen müsste als auf einem quad core 😉

Besten Dank Euch !!!

Diräkt

28.09.2011 - 11:06 Uhr

Danke Herbivore

Als test wurde die Culture auf Schweiz (CH) festgelegt, die verwenden ein "." als Dezimal-trennzeichen, daher schliesse ich aus, dass dies der Fehler ist.

Meiner Meinung nach muss der Fehler daran liegen, dass double.parse( ) nicht thread safe ist ?!

Beste Grüsse

Diräkt

28.09.2011 - 08:57 Uhr

Hallo Leute

Folgende Problematik die mich ziemlich quält :

Code :


 Parallel.For(0, simulationCount, (i, loopstate) =>
        {
                   ....
                   //Beispiel:
                   Logger.Log(stringArray[i]);  
                   Logger.Log(double.parse(stringArray[i]));
                   ...
        }

Das funktioniert auf meiner Dev Maschine wunderbar, auf meinem Live Server erhalte ich nach Double.Parse() ein um Faktor 10 falschen Wert ??!!

Kann mir das jemand erklären ?

Beste Grüsse

Diräkt

Edit:
Präzision :
> sagen wir stringArray_ hat immer den Wert 0.2
> Von 10'000 Simulationen auf live Maschine, haben dann c.a. 8000 den Wert 2 und c.a. 2'000 den Wert 0.2, wobei auf der Dev Maschine alle den Wert 0.2 haben.

(Dev Maschine I7, Live Maschine Quad-Core)

26.09.2011 - 11:54 Uhr

Hallo

Hier findet man alles Notwendige :

http://forums.adobe.com/thread/303012
und
http://www.evermap.com/autobookmark.asp

Beste Grüsse

Diräkt

26.09.2011 - 11:27 Uhr

Hallo Abt

Danke für Deine Nachricht.

www.google.ch/MeinPDF.pdf#page=3

funktioniert

www.google.ch/MeinPDF.pdf#nameddest=MeinBookmark

funktioniert nicht 😦

Ev. noch ein Tipp ?

Beste Grüsse

Diräkt

Edit :

Ich glaube BOOKMARKS gehen nicht sondern es muss als TARGET festgelegt sein...

26.09.2011 - 10:32 Uhr

Hallo Leute 😃

**Mein Ziel 😗*

Ein PDF öffnen und zu einem BOOKMARK (im Notfall PAGE) springen.

**Ansatz 😗*

http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf

Bei diesem Link steht es funktioniert folgendermassen :

www.google.ch/MeinPDF.pdf#nameddest=IMPLEMENTIERUNGSBEISPIEL

Hat mir jemand ein Tipp, wie dies funktioniert ?

Beste Grüsse

Diräkt

Edit :
Es funktioniert natürlich nicht wie beschrieben, dies ist auch mein Problem 😉

22.09.2011 - 16:27 Uhr

Hall Ujr

Besten Dank für die schnelle Antwort, habs nun wie du beschrieben hast umgestzt :


double mittelwert = meinArray.Where(m=>!double.IsInfinity(m)).Average();

Besten Dank das du mir auf die Sprünge geholfen hast !

Diräkt

Edit:

Ja, where vergessen, danke 😃

22.09.2011 - 16:02 Uhr

Hallo Zusammen

Folgende Problematik:

=> ich habe dutzende Items welche ein Double-Array als Property beherbergen.

Nun muss ich den Durchschnitt ausrechnen :


meinArray.Average()

perfekt !

Nun kann mein Double-Array aber INFINTY Werte besitzen (+/-). Bei der Average(); Berechnung sollen diese aber einfach ignoriert werden.

Da die Arrays mit extrem vielen Werte gefüllt sind ; desshalb die Frage:** Geht das auch anderst als mit einer For Each schleife jedes Item zu prüfen und den Durchschnitt manuell zu berechnen ?**

Beste Grüsse

Diräkt

Edit:
Typo

19.09.2011 - 12:40 Uhr

Hallo

Du kannst dazu das Form_Load() Event verwenden.

Beste Grüsse

Diräkt

18.09.2011 - 19:29 Uhr

Hallo Winmike

Sollte das nicht etwa so aussehen

Id
Name,
Parent

Während ID der PK ist und Parent der FK welcher auf ID zeigt.

Beste Grüsse

Diräkt

16.09.2011 - 18:41 Uhr

Hallo Hias

Du möchtest das vor der Eingabe 00-00-00 steht und beriets "markiert" ist ?

Sollte ggf. reichen einfach den Fokus zu setzen ?

Beste Grüsse

Diräkt

16.09.2011 - 18:15 Uhr

Hallo Hias

Suchst du MaskedTextBox-Klasse

Beste Grüsse

Diräkt

14.09.2011 - 15:53 Uhr

Offtopic:

@Florian Reischl
Das waren wohl die "besten nur unter" Visual Basic verfügbaren Methoden welche es gab... Zum Glück gibts nun Extension Methods 😉

Beste Grüsse

Diräkt

14.09.2011 - 11:35 Uhr

Hallo Abt

Danke; sorry nicht soweit überlegt 😉

Beste Grüsse

Diräkt

14.09.2011 - 10:51 Uhr

Hallo Leute

Arbeite gerade daran ein XML-File (welches auf dem Server liegt) per Download anbieten zu können.

Ansatz :


 if (Request.QueryString["checklist"] != null)
        {
            string path = Request.QueryString["checklist"];

            System.IO.FileInfo info = new System.IO.FileInfo(path);
            Response.Clear();
            Response.ClearContent();
            Response.ClearHeaders();
            Response.ContentType = "text/xml";
            //Response.AddHeader("content-transfer-encoding", "binary");
            Response.AddHeader("content-disposition", string.Format("attachment;filename={0}", info.Name));
            Response.WriteFile(path);
        }

Dies funktioniert auch jedoch wird am Datei-Ende nicht gewollter HTML Code eingefügt :

=>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head><title>

</title></head>
  <body>
    <form method="post" action="FileViewer.aspx?checklist=%2faaarisk+WebApplication%2fConfig%2fChecklists%2fField%2fField.xml" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2MTY2ODcyMjlkZO6YuxrwSENTMYYRzPPeAs9apFbiOELFTDwNpITlY7AP" />
</div>

      <div>
    
      </div>
    </form>
  </body>
</html>

Warum ?
Wie vermeide ich das ?

Besten Dank für Eure Hilfe !

Diräkt

Edit:

Das sollte doch gehen ohne ein Handler benutzen zu "müssen" ?!

Edit 2:

Es fehlt natürlich das response.End();

...

12.09.2011 - 13:34 Uhr

Hallo thooobi

Wenn du im Markup-Code folgendes deklariert hast :

AutoEventWireup="true"

Dann müsste

<asp:Button ID="btnupload" runat="server" OnClick="btnupload_Click" Text="Album Erstellen" />

bereits genügen. ( Event registriert // Eventhandler definiert)

Beste Grüsse

Diräkt

10.09.2011 - 13:57 Uhr

Hallo Flo

Besten Dank für Deine Antwort.

Ich glaube das ganze "Manuell" lösen zu müssen aus folgendem Grund :

=> Eine Reference zeigt bspw. auf User
==> Der User jedoch sollte nicht auch geklont werden sondern weiterhin nur referenziert werden...

Da es noch weitere solcher Logiken gibt, glaube ich, es "manuell" zu programmieren.

Ev. gäbe es eine Möglichkeit eine Methode Clone(int hierarchieLevelCount) zu implementieren, dies wäre meiner Meinung nach doch ein wenig ein Bastel....

Am liebsten wäre mir natürlich folgendes:
(nur explizit geladene Childs werden geklont, sollte ein Child ein weiteres Child haben welches nicht geladen wurde, wird weiterhin der vom original vorgegebene FK referenziert)

etwa so :


context ctx = new context();
var orig =ctx.Blup.where(c=>c.ID==1).FirstOrDefault();
orig.LoadChild(Bla);
orig.LoadChild(Blop);
var clone = orig.Clone();
ctx.addToBlup(clone)
ctx.SaveChanges();

Hat jemand sowas schonmal gemacht oder ein Tipp ?

Beste Grüsse

Diräkt

08.09.2011 - 15:56 Uhr

verwendetes Datenbanksystem: <SQL2008R2, Entity Framework>

Hallo Leute

Mein Ziel:

Das Klonen von einem Entitiy mit all seinen Childs, dessen Childs... (rekursiv)

Mein Problem:

Ein Klonen ohne weiteres scheint nicht zu funktionieren, da nicht 2 mal das Selbe Item im Object Context sein kann, die Items dürfen auch nicht den selben PK haben.

Soweit okay, das kann man ja noch bewerkstelligen, jedoch sollte jedes geklonte Child auf sein neuen Parent zeigen (FK)....

Ein Lösungsansatz habe ich hier gefunden :
Lösungs-Ansatz DEEP CLONE ENTITIES
(welcher aber weitere Probleme mit sich bringt ...)

**
Meine Frage:**

Geht das auch ein **wenig **weniger umständlich ?
Hat das jemand schonmal gemacht und paar Tipps oder Ideen ?

Besten Dank und beste Grüsse

Diräkt

31.08.2011 - 13:52 Uhr

hallo Rahvin

Du meinst also die Navigation-Properties sind weg? Du benutzt alo das EF ?
Prüfe ob die Tabellen korrekt sind (PK, FK), da wird der Fehler wohl liegen.

Beste Grüsse

Diräkt

p.s
(desweitern kannst du die pluralisierung austellen (EinstellungenS)....)

19.08.2011 - 15:42 Uhr

Hallo Raneu

Ob dies alleine mit einem LINQ Statement funktioniert kann ich Dir leider nicht sagen.

Eine weitere Möglichkeit wäre ein "StartMonth" Propertie einzuführen, dies kann beispielsweise nur ein getter haben, welcher z.B immer nur den Month von "StartDate" zurückgibt.

Dann könntest danach gruppieren.

Ggf. noch warten bis bessere Lösungen kommen 😉

Beste Grüsse

Diräkt

09.08.2011 - 17:50 Uhr

Hallo gfoidl

You save my day.

Danke !

Beste Grüsse

Cyril Iselin

09.08.2011 - 17:23 Uhr

verwendetes Datenbanksystem: MS SQL

Hallo 😃

Das Thema hat nur indirekt mit C# zutun, hoffe mir kann doch jemand eine Antwort geben 😃

Frage :

Ich muss ein paar SQL Tabellen-Daten übernehmen in eine neue Datenbank mit neuer Struktur. (...)

Das Übernehmen der Daten ist nicht das Problem sondern :

=> Destination - Tabel hat ID -> Integer -> Increment -> PK
nun möchte ich das beim kopieren der Tabelle die SOURCE ID's übernommen werden also das "increment" Feature ausschalten sozusagen für den Import. Dies damit die Referenzen beibehalten werden....

Wie mach ich das ?

Beste Grüsse

Diräkt