Zum Inhalt springen

rohamis7

Mitglieder
  • Gesamte Inhalte

    8
  • Benutzer seit

  • Letzter Besuch

  1. Hallo zusammen, ich möchte eine Webseite erstellen, wo ich Daten aus einer DB hole (wie typisch ne?), seies es die Menüs oder einfacher Content. Ich möchte/sollte dazu (zu Lernzwecken) das Mehrschichtsmodell anwenden (3 Schichten). Also die Businesslogik (BLL), Datenzugriffsschicht (DAL + DB Klasse) und die GUI (aspx Seiten). Da ich nun so viel darüber gelesen habe, wollte ich euch auch mal fragen, in wie fern das genau einen Sinn macht. Den grössten Sinn würde ich darin sehen, wenn man mehrere Seiten mit der selben Architektur erstellen möchte. Dabei sind diese Schichten so sehr automatisiert, dass man sie einfach für alle Projekte benutzen kann, egal wie die DB für die verschiedene Projekte aussieht. Bei allen Beispielen bzw. Tutorials die ich gesehen habe, war das nicht der Fall. Jedes Modell ist der eigentlichen Webeite angepasst, d.h. ich kann das Mehrschichtsmodell von Webeite A nicht einfach in das Projekt der Webseite B reinpacken (bzw. nur die Verweise dazu) und es dann auch benutzen, unabhängig wie die Datenbank von Webseite B aussieht. Also wie genau soll ich den Grund "mehrere Layer sind gut um die Austauschbarkeit zu garantieren" verstehen? Zudem wollte ich euch noch fragen, in wie fern Interfaces mir nutzen könnten. Danke.
  2. Hi henek, wie rny schon sagte. Du kannst es aber auch einfach ausgeben lassen, dann kommt auch eine Antwort raus: Response.Write(ConnectionState.Open()); oder einfach nur die Variable con ausgeben lassen. Die dürfte nicht 'null' sein wenn sie Open ist.
  3. Hallo zusammen, ich möchte gerne eine Webseite in ASP (Visual Studio 2010, mit C#) erstellen, eine Art News-Seite. In der Anlage habe ich eine PNG mit dem Layout hochgeladen. Das soll also so ungefähr sein wie spiegel.de oder so (auch wenn ich die Seite nicht so sehr leiden kann . Programmieren kann ich schon aber noch nicht in ASP. Mein Problem (glaube ich zumindest) ist allerdings, dass ich zu sehr PHP-Basiert denke. Ich möchte gerne sagen wie ich es mit PHP machen würde damit man mein Denkproblem versteht: So, wenn ich das mit PHP (und alles alleine in einem Editor) mache ich folgendes (ganz grob): Ich habe diese Dateien: index.php content.php rechts.php top.php bottom.php und in der Index sieht es so aus: <div><?php include(top.php); ?></div> <div><?php include(content.php); ?></div> <div><?php include(right.php); ?></div> <div><?php include(bottom.php); ?></div> In allen diese Dateien gibt es PHP und HTML Code. Und natürlich mit CSS layouten. Dann gibt es eine connector.php Datei wo es Funktionen gibt die mit Datenbank verbinden etc. Diese Funktionen benutze ich dann in egal welche Datei. Und so ist die ganze Seite aufgebaut, sagen wir mal ein Grundgerüst, und der Inhalt wird aus einer DB geholt. D.h. entweder arbeite ich mit GET-Parameter um Inhalt anzuzeigen oder mehrere Dateien. So brauche ich keine dieser Dateien wieder "anfassen", ich muss nur in der DB Einträge ändern und das war's. Der blaue und der schwarze bereich enthalten dynamischen Inhalt, die anderen nicht. Zwar wird deren Inhalt auch aus der DB geholt, aber das Layout davin braucht nie wieder bearbeitet zu werden. Das kennt ihr alle bestimmt schon, ich möchte nur erfahren ob es in ASP genau so laufen würde. Ich habe im Moment eine Masterpage bei der ich mit dem ContentPlaceHolder-Steuerelement in der default.aspx Datei erst mal ein Bisschen Content einfüge (statisch). Ich kann es nicht hinbekommen eine Datei rechts.aspx in der Masterpage einzubinden oder so, so dass es wie vorhin beschrieben gemacht wird. Oder denke ich da falsch? Läuft es denn anders unter ASP? Kann es sein dass das alles mit den Namespaces zu tun hat? Wenn ich bloß wüsste wie. Danke
  4. Danke dir für die Antwort. Ja du hast Recht aber ich hab ja nicht viel das ist das Problem, weil ich halt nicht so richtig weiß wie ich das mit den Indizes machen soll. Also es heißt: "Funktion soll eine Permutaion pi[0...n-1] der Zahlen 0...n-1 bestimmten, so dass die Datensätze nach aufsteigenden Daten / Schluessel sortiert sind: a[pi[0]].daten <= a[pi[1]].daten <= ..... <= a[pi[n-1]].daten" Laut ein bisschen Theorie die ich im Internet finden konnte, habe ich soweit das hier gemacht: void insert_sort_indirect(ds a[], int pi, int n) { int i,j; // Laufindex for(i=0;i<n-1;i++) pi[i] = i; a[0] = -0; for(i=1;i<n-1;i++) { j = i; pi[j] = j-1; } j--; } Ich müsste erstmal wissen, besser gesagt verstehen, wie genau das laufen soll (Theorie) dann würde ich das schon in C umsetzen können. Danke.
  5. Hallo zusammen , ich habe leider ein Verständnis-Problem, nicht unbedingt beim Einfuege-Sortieren (Insertionsort) sondern mehr beim indirekten Insertionsort. Ich habe eine Reihe von Datensätzen a...a[n] und die sollen schon beim Einfügen "indirekt" sortiert werden. Dieses "indirekt" bereitet mir Probleme. Ich weiß dass indirekt einen Index auf die Tabelle sortiert, bzw. die Indiezes statt die Datensätze an sich vertauscht während des Algorithmuses. Ich komme aber nicht dahinter wie das im Code gemeint sein soll. Wenn also "Sortieren durch Einfügen" so aussieht (in C, das habe ich ja schon gemacht): void insert_sort(ds a[], int n) { ds v; //Hilfsdatensatz int i,j; // Laufindizes for(i=0;i<n;i++) { if(a[i-1].daten < a[i].daten) // wenn aktueller Datensatz kleiner als der davor { v = a[i]; //aktuellen Datensatz in Hilfsdatensatz speichern j = i; do //solange j>0 und aktueller Datensatz kleiner als der davor { a[j] = a[j-1]; // dann Datensätze vertauschen j--; }while((j>0) && (v.daten < a[j-1.daten])); a[j] = v; } } } wie müsste dann das "indirekte" aussehen? Sollte ich nicht statt den Datensätzen einfach nur die Indizes umtauschen? Weil ich das ja gemacht habe, aber da nichts sortiert wird. Danke euch schon mal
  6. Ja ich weiss dass die Rekursion in dem Fall nicht geeignet ist. Aber so lautet ja meine Aufgabe. Da geht kein Weg dran vorbei. Daher auch meine ganze Problematik an der Sache. Ich muss das also so lösen, wie vorgegeben. Mit Rekursion und mit der oben stehenden Funktion und auch mit dessen Parameter.
  7. Hallo und danke für deine Antwort. Ich habe das verstanden was du meinst, soweit war ich auch. Schnellster Weg bis einschliesslich SA entweder - schnellster Weg durch SA[i-1], danach direkt zu SA, oder - schnellster Weg durch SB[i-1], danach Strassenwechsel zu SA und natürlich analog bei Vertauschung von A und B. Nur ich weiss nicht so recht wie ich das in dem Code (in C) eintragen soll, und das auch noch als rekursion. Und vor allem, in genau dieser Funktion mit diesen Parametern void loesen( Zeiten sA, Zeiten sB, Zeiten tA, Zeiten tB, Lauf optA, Lauf optB, Zeit *sumA, Zeit *sumB, int i, int n ) Muss ich die erste Station extra an sich alleine betrachten? Wenn ich eine Überprüfung mache wie diese hier: if((optA[i-1]+sA[i]) <= (optB[i-1]+tB[i-1]+sA[i])) { optA[i] = optA[i-1]+sA[i]; // rekursion hier } else { optA[i] = optB[i-1]+tB[i-1]+sA[i]; // rekurion hier } weiss ich nicht so genau was ich mit sumA bzw. sumB machen soll, bzw. wie ich die Rekursion aufrufe.
  8. Hallo zusammen und guten Tag, ich schreibe nun zum ersten Mal hier (gerade registriert, wusste gar nicht dass es dieses Forum gibt. Richtig schön!). Was mich dazu gebracht hat, mich hier zu registrieren (aber ich denke ich werde dieses Forum so oder so auch für andere Themen benutzen ab jetzt) ist die Dynamische Programmierung. Ich soll eine Aufgabe bewältigen, bei der ich ein paar Sachen nicht verstehen kann. Ich habe einen Startpunkt, und einen Endpunkt, wo eine Fertigung eines Produktes statt findet. Es gibt allerdings 2 Wege von Start nach Ende, A und B. Auf jedem Weg gibt es i Stationen. Bei jeder Station benötigt die Fertigung eine bestimmte Zeit, bis das Produkt zur nächsten rüber geht. Es kann auch von Station SA(i) nach SB(i+1) gehen, dass heist zB. von SA(1) nach SB(2) (also kreuzweise) der Schritt erfolgen, allerdings braucht das auch Zeit (tA ist die Zeit von eine Station A(i) nach B(i+1) und tB ist die Zeit von eine Station B(i) nach A(i+1)). Gesucht ist der Weg, von Start nach Ende, wo ein Produkt mit der kürzeste Zeit fertiggestellt wird. Im Anhang ein Bild davon. Mein Problem ist, ich kann nicht begreifen, wie genau es rekursiv laufen soll, da ich schon ein Rahmenprogramm habe, wo ich halt den Algorithmus implementieren soll. Hier die Funktion: void loesen( Zeiten sA, Zeiten sB, Zeiten tA, Zeiten tB, Lauf optA, Lauf optB, Zeit *sumA, Zeit *sumB, int i, int n ) Dabei sind: - sA, sB : die Zeiten, die eine Station braucht - tA, tB : die Zeiten, die das Produkt braucht um von A nach B zu kommen - optA, optB : Felder mit 0 oder 1 bzw. 'A' oder 'B'.. Das wird dann am Ende für die Ausgabe des Weges benutzt - sumA und sumB : dienen wohl als die bis dahin gespeicherte Zeit - i : Laufindex von 0 bis n-1 - n : die Länge der Fertigung Ich stecke schon seit 4 Tagen, kann aber keine richtige Lösung bzw. keine richtig Logik dazu finden. Ich frage hier nicht nach eine fertige Lösung, nein, das soll ich ja selbst machen. Aber ich brauche nur einen "Schupser" um halt richtig das ganze zu lösen. Und das, weil ich halt hier 2 Summen der bis dahin erstellten min. Zeiten habe, und 2 optimalen Wege. Das irritiert mich ein bisschen. Danke

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...