Enrico: Logik/Umsetzung eines Blättermechanismus (überarbeitet)

Hallo und guten Abend,

ich habe mein Konzept für meinen Blättermechanismus jetzt gründlich überdacht und, so wie ich finde, auch recht sinnvoll überarbeitet:

1  [2] [3] [4] [5] ... [6-10] [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [1]  2  [3] [4] [5] ... [6-10] [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1] [2]  3  [4] [5] ... [6-10] [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1] [2] [3]  4  [5] ... [6-10] [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1] [2] [3] [4]  5  ... [6-10] [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] ...  6  [7] [8] [9] [10] ... [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] ... [6]  7  [8] [9] [10] ... [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] ... [6] [7]  8  [9] [10] ... [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] ... [6] [7] [8]  9  [10] ... [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] ... [6] [7] [8] [9]  10  ... [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] [6-10] ...  11  [12] [13] [14] [15] ... [16-20] [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] [6-10] ... [11]  12  [13] [14] [15] ... [16-20] [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] [6-10] ... [11] [12]  13  [14] [15] ... [16-20] [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] [6-10] ... [11] [12] [13]  14  [15] ... [16-20] [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] [6-10] ... [11] [12] [13] [14]  15  ... [16-20] [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] [6-10] [11-15] ...  16  [17] [18] [19] [20] ... [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] [6-10] [11-15] ... [16]  17  [18] [19] [20] ... [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] [6-10] [11-15] ... [16] [17]  18  [19] [20] ... [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] [6-10] [11-15] ... [16] [17] [18]  19  [20] ... [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] [6-10] [11-15] ... [16] [17] [18] [19]  20  ... [21-23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] [6-10] [11-15] [16-20] ...  21  [22] [23] [Nächste Seite] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] [6-10] [11-15] [16-20] ... [21]  22  [23] [Letzte Seite]

[Erste Seite] [Vorherige Seite] [1-5] [6-10] [11-15] [16-20] ... [21] [22]  23

Nach Anklicken einer Seitengruppe ([6-10] [11-15]...) Soll die zur Verfügung stehende Navigation entsprechend angepasst werden.

Ich könnte mir es sehr leicht machen und ein Javascript aus dem Internet in meine DVD-Verwaltung einbauen, aber das wäre für mich
absolut unbefriedigend, weil ich bisher alles selber programmiert habe - nicht selten mit Eurer tatkräftigen Unterstützung - und
ich dies auch so beibehalten möchte. Zum anderen finde ich die Lösungen aus dem Internet teilweise extrem unverständlich.

Ich will aber verstehen, was warum wie funktioniert und deshalb wende ich mich wieder an Euch :-)

Wie muß ich bei der Umsetzung meines Blättermechanismus vorgehen, um möglichst einfach und geradlinig an's Ziel zu kommen?
Welche Logik/Programmblöcke würdet Ihr bei der Umsetzung ansetzen?
Wie würdet Ihr grundsätzlich hierbei vorgehen?

Mein Problem ist, dass es auf den ersten Blick relativ einfach aussieht, aber ich nicht weiß, wo ich wie ansetzen soll, um mich
nicht zu "verzetteln".

Bin schon sehr gespannt auf Eure Tipps, Tricks und Anregungen :-)

Vielen Dank schon mal und Gruß
Enrico

  1. Guten Abend Enrico,

    versuch mal Dich in die Lage des Anbieters/Programms zu versetzen, das dir diese Auflistung anbiete.
    Was benötigst Du für Informationen von demjenigen, dem Du eine Liste darstellen möchtest? Was würdest Du ihm für Fragen stellen? WIe zum Beispiel: Wo soll ich mit der Auflistung beginnen? Ab welchem Eintrag?

    Jede Frage ist eine Variable, die Du benötigst.

    Und dann musst Du dir überlegen, wie Du es persönlich für jemanden auflisten würdest, bzw. wie würdest Du vorgehen? Zum Beispiel: Wieviele Einträge gibt es insgesamt und wie teile ich die am besten auf?

    Versuch Dein menschliches Vorgehen möglichst detailiert aufzuschrieben und möglichst einfach zu zerlegen.
    Dann hast Du einen Pseudocode, den Du in jede beliebige Sprache übertragen kannst.

    Gruß,
    Gustav

  2. Hi,

    ich habe mein Konzept für meinen Blättermechanismus jetzt gründlich überdacht und, so wie ich finde, auch recht sinnvoll überarbeitet:

    ich finde ihn eher unverständlich.

    1  [2] [3] [4] [5] ... [6-10] [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]

    Das "6-10" ist etwas, was man in freier Wildbahn nicht findet. Dem Nutzer wird die Bedeutung nicht klar. Zusätzlich: Warum ist zwischen 5 und 6 (welches wohl als Teil von "6-10" erkannt wird) eine Lücke?

    [Erste Seite] [1]  2  [3] [4] [5] ... [6-10] [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]
       [Erste Seite] [Vorherige Seite] [1] [2]  3  [4] [5] ... [6-10] [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]

    Die Logik mit der ersten und vorherigen Seite finde ich hingegen gut. Tipp: Beide Angaben sollten immer angezeigt werden, ggf. mit einer sinnvollen "disabled"-Visualisierung. Für "nächste" und "letzte" gilt Entsprechendes.

    [Erste Seite] [Vorherige Seite] [1] [2] [3] [4]  5  ... [6-10] [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]

    Ich habe mich bis zur Seite 5 vorgeklickt. Warum wird mir Seite 6 in der Auflistung nicht angeboten? Ich finde nur "6-10", suche aber "6".

    [Erste Seite] [Vorherige Seite] [1-5] ... [6]  7  [8] [9] [10] ... [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]

    Intermezzo: Wie wird die Auflistung eigentlich aussehen, wenn es 427 Seiten gibt?

    Nach Anklicken einer Seitengruppe ([6-10] [11-15]...) Soll die zur Verfügung stehende Navigation entsprechend angepasst werden.

    Dir als Entwickler erscheint dies logisch. Dem Nutzer als jemand, der sich das Konzept nicht ausgedacht hat, nicht. Er kennt nichts dergleichen, und seine gewohnten Wege einer Seitennavigation sind plötzlich nicht mehr gangbar. Erwartungskonformität: vier minus. Selbstbeschreibungsfähigkeit: vier minus. Erlernbarkeit: drei minus, setzen.

    Wie muß ich bei der Umsetzung meines Blättermechanismus vorgehen, um möglichst einfach und geradlinig an's Ziel zu kommen?

    Ich empfehle Dir, zunächst einmal eine günstigere Logik zu ermitteln. Diese Grüppchenbildung halte ich für kontraproduktiv.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  3. Wie muß ich bei der Umsetzung meines Blättermechanismus vorgehen, um möglichst einfach und geradlinig an's Ziel zu kommen?
    Welche Logik/Programmblöcke würdet Ihr bei der Umsetzung ansetzen?
    Wie würdet Ihr grundsätzlich hierbei vorgehen?

    Objektorientiert, so wie ich es dir schonmal gezeigt habe
    http://forum.de.selfhtml.org//?t=179996&m=1188727

    Struppi.

  4. Hallo,

    1  [2] [3] [4] [5] ... [6-10] [11-15] [16-20] [21-23] [Nächste Seite] [Letzte Seite]

    Aha, du hast 23 Seiten und zeigst die erste. Ich suche das Video "Meuterei auf der Bounty". Das ist auf der esten Seite nicht dabei.

    Nun zwingst du mich in die Rolle eines Detektivs. Wo hat Enrico das Video versteckt?

    Ah, ja, du sortiert nicht nach Genres (also erst die Krimis, dann Musik, dann Sport), sondern stumpf alfabetisch nach Titel.

    Hmmm, das "M" ist im Alfabet ziemlich in der Mitte, aber überdimensional viele Titel (oder waren das Namen im Telefonbuch?) beginnen mit "S", "Sch", "St". Naja, ich tippe mal auf Seite 10.

    Oh, Pech gehabt, dann eben Seite 9 oder 11.

    Im Klartext: Was bringt die Seizenzahl?

    Stelle dir mal ein Web- Telefonbuch vor. Auf der ersten Seite AAA bis AAb und dann kannst du Seite 2 bis 11.345 anklicken, um Werner Müller in Miesbach zu finden. Nicht unbedingt benutzerfreundlich, das kostet einen Urlaubstag ;-)

    Kalle

    1. Hi Kalle_B!

      Stelle dir mal ein Web- Telefonbuch vor. Auf der ersten Seite AAA bis AAb und dann kannst du Seite 2 bis 11.345 anklicken, um Werner Müller in Miesbach zu finden. Nicht unbedingt benutzerfreundlich, das kostet einen Urlaubstag ;-)

      Wie bitte suchst du denn? Von vorne nach hinten?

      Mit der Binären Suche ergibt sich eine Schrittanzahl von [latex]\log_2{11345} \approx 13,468[/latex], also 14 Schritten. Nehmen wir noch an, dass nicht immer die Mitte gewählt wird, kann man von maximal 20 Schritten ausgehen. Das sollte in weniger als 10 Minuten erledigt sein.

      MfG H☼psel

      --
      "It's amazing I won. I was running against peace, prosperity, and incumbency."
      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
      Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
      1. Hi H☼psel,

        Mit der Binären Suche ergibt sich eine Schrittanzahl von [latex]\log_2{11345} \approx 13,468[/latex], also 14 Schritten. Nehmen wir noch an, dass nicht immer die Mitte gewählt wird, kann man von maximal 20 Schritten ausgehen. Das sollte in weniger als 10 Minuten erledigt sein.

        Okay, in dem von mir falsch vorgeschlagenen Idealfall, dass alle 13.468 Seiten anklickbar sind. Dann kann man immer die Hälfte nehmen.

        Aber schon bei Google ist zu sehen:
        "Ergebnisse 1 - 10 von ungefähr 58.100.000 für müller"

        Macht 5.810.000 Seiten und nur die Seiten 1 - 10 sind anklickbar. Klicke ich auf 10, muss ich erst nach unten scrollen, um Seite 19 wählen zu können.

        Also ja, serielle Suche von Beginn an in holprigen 9er- Schritten.

        Kalle