Beiträge von Jav

    Zitat

    Kann ich vorab prüfen, wie viel Zeilen nicht leer sind?

    Da gibt es sicher mehrere Möglichkeiten, sowohl zum Zählen als auch, ob / welche Zeilen gefüllt sind.


    Für deine Beispielgrafik würde mich aber die tatsächliche Anzahl garnicht interessieren, sondern bei leerer Zeile aus der Schleife ausssteigen. Also diese Abfrage

    if(sheet2.getRange(zeile,1).getValue() != "") {

    am Ende erweitern um

    else

    {

    break;

    }


    zeile steht dann auf dem Wert der gelesenen Zeilen, falls Du den Wert danach noch brauchst.

    Du erhöhst die Zeile innerhalb der IF-Bedingung.


    while(zeile < 100)

    {

    spalte=3;

    num=0;


    if(sheet2.getRange(zeile,1).getValue() != "")

    {

    while(spalte < 35)

    { if(sheet2.getRange(zeile, spalte).getValue() == "X" && sheet2.getRange(3, spalte).getValue() != "")

    {

    num++;

    sums[spalte]++;

    }

    spalte++;

    }

    sheet2.getRange(zeile,34).setValue( num );

    }

    zeile++; // das muss hier stehen

    }




    Das

    sheet2.getRange(zeile,spalte).setValue( sums );

    muss aus der while-Schleife raus. Die Schleife ist dazu da, alles zu zählen.

    Unter der while-Schleife dann (für das Beispiel aus der Grafik):

    for (var spalte=2; spalte < 34; spalte++)

    {

    // hier ggfs. noch Prüfung auf 0, falls die nicht ausgegeben werden soll

    // if ( sums[spalte] > 0 ) ...

    sheet2.getRange(zeile,spalte).setValue( sums[spalte] );

    }

    Ich schliesse mich cotton vorbehaltlos an.

    Zusätzlich noch sind global-Definitionen ohnehin nicht der Hit und sollten vermieden werden.


    Ausserdem: Gut, dass der Fehler samt fehlererzeugende Zeilennummer im Beitrag genannt wird. Dann sollte aber auch im Beitrag deutlich werden, welche Zeile genau das sein soll, denn das

    dürfte mehr als nur "Zeile 57" sein.

    Vor das erste while:

    var sums = Array(0, 0,0,0,0,0,0,0); // falls Spalten fuer Wochentage von 1 - 7; ansonsten anpassen


    Und dies

    1. if(sheet2.getRange(zeile, spalte).getValue() == "X")
    2. {
    3. num++;
    4. }


    wird zu dem:

    1. if(sheet2.getRange(zeile, spalte).getValue() == "X")
    2. {
    3. num++;
    4. sums[spalte]++;
    5. }


    Am Ende dann einfach die Zeile mit den sums ausgeben.

    Falls du deine Seite mit PHP erstellt hast, kannst du die Serverzeit mitsenden und mit der Zeit des Benutzersystems abgleichen.

    Also, mMn muss der Fehler woanders liegen. Ich habe es mit den Einstellungen nachgestellt im Firefox und das funktioniert, zumindest das CSS und Bilder laden / nicht laden.

    Absatz-Tags im Input-Feld wird nicht funktionieren.

    Ausserdem wird im $_GET "vorname" verwendet, im Form des zweiten Betrags von dir aber "vornamen". Das funktioniert natürlich, aber nicht wie gewünscht. Vermutlich nur ein Tippfehler, aber das ist das Salz in der Suppe :) Richtig sollte es wohl "vorname" sein wie im ersten Beitrag.


    die 99 Cent gelten nur bei 24-Monats-Verträgen.
    Falls du weder php noch (MySQL-)Datenbanken brauchst, also im Prinzip ausschliesslich serverseitig statische Seiten hast, käme das evtl. infrage.
    Die Leistungsdetails wirst du dir schon angesehen haben und kannst besser beurteilen, ob das für dich passt.


    VG


    P.S.: Ich bin selbst seit bald 10 Jahren bei Alfah.

    Dafür hätte ich 2 mögliche Lösungen, von denen ich selbst aber keine bzw. diese nur sehr ungern praktisch einsetzen würde.


    1. Popup mit Javascript. Da gibts bestimmt Millionen von Infos zu.


    2. Auch JS, aber mit AJAX. Dazu von der 1. Seite an den Server senden. Die 2. Seite muss beständig abfragen und bei Aktualisierung die neuen Daten eintragen. Mit geschicktem Script-include werden auf der 1. Seite auch keine JS-Fehlermeldungen wegen fehlender Funktion erzeugt.


    Vielleicht/möglicherweise/wahrscheinlich(wennüberhauptmöglich) gibt es clevere Lösungen. Doch wie heisst es so schön: "Lieber heute den Spatz im Topf als morgen die Taube auf dem Dach."

    Vielen Dank! Und gute Idee :)
    Leider habe ich zur Zeit genug mit der Entwicklung meines eigenen Spiels zu tun und schau nur gelegentlich mal, wenn grade mal Tests laufen oder Daten erzeugt werden oder eine schöpferische Pause nötig ist ;)


    Ich drück' dir jedenfalls die Daumen, dass Du es hinbekommst.

    Ich kann nicht mal richtig GIMPen :)
    Naja, das Notdürftigste geht grad so...Da würde ich bei je 8191 (!) ( wg 16383-Limit) Pixel eine Hilfsline horizontal und vertikal setzen, die jeweiligen Viertel ausschneiden, eigene Karten von machen und jede 2x vergrössern. Alle Kartenviertel ( oder auch "Kacheln" ) wären dann 16382x16382 Pixel, was auch max. Zoomstufe sein sollte. Die einzelnen Kacheln nach Bedarf bearbeiten.


    Im Idealfall muss bei der Darstellung nur 1 Kachel geladen werden, im ungünstigsten Fall alle 4.
    Bei 16.382 x 16.382 lässt sich die Kachelgröse aber auch weiter verkleinern, zB 2.048 x 2.048 (wer hat schon grössere Auflösung?). Dann ist die zu ladende Datenmenge auch nicht so gewaltig.

    WENN Du deine 16383x16383-Pixel-Karte (Anm.: wieso nicht 16384? wäre logischer) sowieso bei 30000x30000 Pixel verwenden willst,
    DANN würde ICH an deiner Stelle die Karte vierteln und jedes Viertel in Breite und Höhe verdoppeln..
    WENN dann alle Viertel nahtlos in einem Container (DIV) stecken, können die absoluten Koordinaten ohne Umrechnung verwendet werden.
    FALLS dieser Container in einem weiteren Container steckt, kann der BildContainer auch per JS "gescrollt" werden, ohne dass alle 4 Viertel einzeln gescrollt werden müssten.


    Eine Bilddatei von 30.000 x 30.000 Pixel dürfte, wenn sie so richtig bunt ist, aber schon gewaltig gross (in MB) sein.

    Gerne würde ich eine Diashow mit rein nehmen. Photoscape hat so ein Program, mit dem ich gut klar komme. Aber ich komme bei einer Bildpixel größe von 500 auf 11,2 MB ;( .


    "Bildpixelgröße von 500" bedeutet 500 x 500 Pixel ?
    Da die 11,2 MB dann unmöglich für ein Bild sein können - nicht mal wenn es BMP wäre - muss es wohl für die ganze Galerie sein.
    Interessant zu wissen wäre, in welchem Format und bei welcher Kompression die Bilder gespeichert sind.
    Dann wäre mein erster Tipp: Alle Bilder als jpg bei 20% bis 40% speichern; was noch akzeptabel ist, dann auswählen. Da dürfte dramatisch an Speicherplatz gespart werden können.
    Als zweiter Tipp - und letzte Rettungsleine: Anzahl der Bilder reduzieren.

    Jetzt wird's bunt! :)


    Wenn man den Code erst noch lesbar machen muss, sinkt die Motivation auf den Nullpunkt.
    Also, Zeilen untereinander statt nebeneinander, und dann vielleicht noch in die passenden Code-Tags eingebunden, könnte Heerscharen an Helfern motivieren ;)