Also mit onload funktioniert das schon mal.... allerdings nur einmal sobald ich das Window zumache und es neu geöffnet wird, wird das onload-Event nicht mehr ausgeführt
Lg
Spite
Also mit onload funktioniert das schon mal.... allerdings nur einmal sobald ich das Window zumache und es neu geöffnet wird, wird das onload-Event nicht mehr ausgeführt
Lg
Spite
Hi ihr JS-Könner
Also ich habe eine Frage, bzgl. der window.open() Funktion:
Ich erstelle mit:
ein neues Fenster in einer Methode. myMessageWindow ist eine globale var.
Nun möchte ich gleich anschließend ein HTML-Element mittels getElementById bearbeiten - leider bekomme ich allerdings immer nur "null" zurück, wenn ich auf ein Element zugreifen will.
Es wäre möglich, das sowas mit dem IE funktioniert, aber ich sitz hier grad an einer Chrome Extension und da funzt das nicht.
Ich bin zugegebenermaßen nicht soooooooo fit in JS, daher brauch ich ja eure Hilfe
Ich hab schon gesucht, aber leider nix gefunden.... nur eben, daß es mit dem IE zu funktionieren scheint.
Wenn wer eine Idee hat, bitte meldet euch bei mir... (eine Idee wäre, das "onload"-Event herzunehmen??? - glaubt ihr geht das?)
Lg
Spite
http://www.google.com/support/forum/…04140ce00&hl=en
Nach Stunden hab ich das gefunden - lol
Default download-Folder geändert, welcher noch auf F: war, was meiner externen HDD entsprach, bevor ich ihr G: zugeteilt habe....
Habs jetzt auf G: geändert - schwupps - Chrome kann Extensions wieder installieren - geiler Bug/Feature/whatever
Lg
Spite
Hi an alle,
also ich hab mir mal Chrome angeschaut, weils dort jetzt auch Extensions gibt :).
Ich hab auch eine Installiert, und meiner Meinung nach ist nach einem Klick auf "Installieren" der Extension auch alles automatisch gelaufen.
Wenn ich allerdings jetzt versuche eine andere Extension zu installieren (mittels Klick auf "installieren") kommt bei mir immer nur ein Fenster zum Downloaden der CRX-Datei.....
Leider finde ich auch nichts, wie ich das wieder inbiegen kann :(, hat jemand von euch einer eine Idee? Wäre wieder mal supernett
Thx und Lg
Spite
Hi,
ich sitze hier in der Arbeit immer vor einem PC mit einem Intel 82915G/GV/910GL Chipsatz und einem Philips 220AW Monitor.
Bis jetzt habe ich es hingenommen, daß ich mit einer Auflösung von 1400x1050 gearbeitet habe, allerdings nervt es mich schon lange die "280 Pixel" nicht nutzen zu können.
ALso habe ich heute (mal wieder) die neuesten Chipsatztreiber installiert und konnte danach auch höhere Auflösungen einstellen (jetzt verwende ich gerade 1600x1200 @ 60Hz). Da die Auflösung allerdings eigentlich nicht für den Monitor gedacht ist (1680x1050 - normal) würde ich diese Auflösung auch gerne einstellen, aber es geht einfach nicht.
Ich habe auch schon den Monitor neu installiert (auch: schon wieder), kann aber diese Auflösung nicht auswählen.
Die aktuelle Auflösung ist schon mal besser, als die Alte weil einfach mehr Platz da ist, aber hässlich, weil eben interpoliert werden muß...
Gibts da irgendeine Möglihkeit, das trotzdem einzustellen, vielleicht mittels Regedit, oder einem Tool oder so?
Denn das kann einfach nicht sein
Verwende Windows XP Professional.
Danke für eure Tipps!
Lg
Spite
Hmmmmm, also ich habe jetzt:
try
{
BinaryFormatter formatter = new BinaryFormatter();
FileStream fileStr = new FileStream(fileName, FileMode.Open);
GZipStream zipStr = new GZipStream(fileStr, CompressionMode.Decompress);
this.allStreets = (List<Street>)formatter.Deserialize(zipStr);
zipStr.Close();
fileStr.Close();
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
WriteStreetsToFile();
}
Alles anzeigen
Und jetzt funktioniert es
Optimal
Thx nochmal und lg
Spite
Habe ich noch eine Frage (wär ja ZUUUUU schön gewesen ).
Habe jetzt mal testweise das Programm beendet und wollte mal die GZipStream komprimierten, serialisierten Daten laden, aber leider funktioniert das irgendwie nicht....
Ich verwende die gleiche Methode um eine von mir erstellter Structs in zu speichern. Nach dem Laden der Datei ist die Liste jedoch leer......
Wie kann man das machen jetzt?
Ich hab zum lesen der Datei sowas:
BinaryFormatter formatter = new BinaryFormatter();
FileStream fileStr = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Read);
GZipStream zipStr = new GZipStream(fileStr, CompressionMode.Decompress);
try
{
zipStr.Flush();
this.allStreets = (List<Street>)formatter.Deserialize(zipStr);
}
catch (SerializationException)
{
zipStr.Close();
fileStr.Close();
WriteStreetsToFile();
}
finally
{
zipStr.Close();
fileStr.Close();
}
Alles anzeigen
Das zipStr.Flush() is eigentlich nur ein Versuch gewesen..... wie macht man sowas??
Bitte noch mal um eure Hilfe!
Lg
Spite
Thx, so gehts! Danke...... nun schau ich mir noch das mit dem GZipStream an..... wär doch ganz cool das vor dem Schreiben noch zu Zippen.....
THX und lg
Spite
edit:
yayyyyyyyyyyyyyyy, Also das BitArray in Kombination mit einem GZipStream resultiert in einer 8KB großen Datei (nicht mehr 6MB), sie wird zwar mit der Zeit wachsen, denn am Beginn stehen nur "false" Werte drinnen, aber optimal!!!! THX NOCHMAL!!!
Also ich hab jetzt Beides versucht:
1. Habe ich, wie hier:
http://stackoverflow.com/questions/9646…ance-using-gzip
einen GZipStream verwedet, um mein Boolean[,] Array zu speicher, das resultierte sogar in einer ca. 11MB großen Datei
2. Habe ich es auch mit einem BitArray[,] versucht, welches eine genau gleich große Datei, wie bei einem Boolean[,] Array produzierte.....
Aber das mit dem GZipStream verstehe ich jetzt nicht ganz: Wieso ist das größer und nicht kleiner? Liegt das an dem Binary-Formatter oder am Serialisieren??
Sollte ich eventuell selbst eine Text-File schreiben und die dann mit einem GZipStream bearbeiten??
Fragen über Fragen
Lg
Spite
Danke erstmal für deine Antwort
Keine Ahnung, wie sowas funktioniert..... aber ich bin draufgekommen, dass ein Boolean auch 1 Byte Speicherplatz braucht???? Bei einem "logischen" Speicherplatzbedarf von 1 Bit (0 oder 1)?? Das würde meine Datei auf 1/8 schrumpfen.....
Ich habe auch mal zum Test die 6MB-Datei gezippt (eigentlich gerart) -> siehe da: 4 Kb !!!!!! Kann man sowas auch mit einem GZippedStream hinbekommen, bzw. wie schnell ist SOWAS??
Ansonsten klingt das Shiften auch gut, wie funktioniert sowas?
Lg
Spite
Problem gelöst!
Auch wenn das schreiben vielleicht beim Serialisieren lange dauert und es schnellere Möglichkeiten gibt (werde mir das ansehen) hab ich ein bisschen umgebaut!
Nun wird das "SaveResults"-Event nur mehr alle 32 mal, wenn ein Thread fertig ist geworfen. Dann wird im Event-Handler ein neuer "Save-Thread" erstellt und dieser speichert dann die Daten. Das heißt, dass alle anderen Threads weiterlaufen können und somit auch das Programm schneller arbeitet. Es wird jetzt zwar nicht immer der neueste Status (nach jedem Thread-Finish) gespeichert, aber nach ca. 10 Minuten Grabber-Arbeit sind nicht so schlimm, wenn man bedenkt, dass insgesamt ca. 2.592.000.000 WebRequests gestellt werden
Lg
Spite
Noch eine Frage:
Ich bin nur umgestiegen auf ein Boolean[,], weil ich vorher sowas hatte: List<List<Boolean>> (mit gleich vielen Elementen), nachdem ich aber this.allPositions[x][y] = true gesetzt habe, waren this.allPositions[x][y] == true, sowie auch alle this.allPositions[x + 1][y] == true, this.allPositions[x + 2][y] == true usw, also ALLE mit dem gleichen y-Wert..... woran kann das liegen (diese Variante belegte auch nur ca. 21KB Speicher (waren alles FALSE-Werte am Beginn), meine jetzige Version Boolean[3600, 1800] braucht mehr als 6MB!!!!
Lg
Spite
Hallo, also ich habe es geschafft ein Boolean[,] - (2 dimensionales) Array mit Hilfe eines FileStreams und des BinaryFormatters zu serialisieren. Nun hat aber mein Boolean Array [3600, 1800] Elemente und das serialisieren dauert immer so ca. 10 Sekunden. (was ziemlich viel ist, wie ich finde......). Wie kann man das Beschleunigen, ich mache sowas:
FileStream str = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write);
BinaryFormatter formatter = new BinaryFormatter();
try
{
formatter.Serialize(str, this.allPositions);
}
catch (SerializationException)
{
}
finally
{
str.Close();
}
Alles anzeigen
Wobei "this.allPositions" eben das Boolean-Array ist.
Noch eine Frage, die eher Threading betrifft, aber mit dem serialisieren des Arrays zusammenhängt.
Ich habe ein Programm geschrieben, in dem mehrere Threads (zZ 32) immer wieder Daten von einer Webseite abfragen. Sind sie mit einem "Gebiet" fertig, dann wird sowas gemacht:
Dies steht im der, von Thread.Start() aufgerufenen Methode. GrabberFinished ist ein Eventhandler, der nur bei bestimmten Fällen gesetzt ist (daher != null), dann wird das GrabberFinished-Event geworfen, in dem dem aktuellen Thread ein neuer Bereich zugeordnet wird und jetzt wirds spannend: das SaveResults-Event wird geworfen, um die neuen Daten zu speichern (wobei dann eben auch der erste Code-Block aufgerufen wird). Im SaveResults-Eventhandler hab ich dann sowas:
if (this.dataGrid.InvokeRequired)
{
IntParamDelegate myDel = new IntParamDelegate(SaveResultsToFile);
this.dataGrid.Invoke(myDel, indexDone);
}
else
{
Console.WriteLine("Position " + indexDone + " set to true");
///set the Positions bool-value
lock (this)
{
this.myPositions.positionDone(indexDone);
this.myPositions.WritePositionsToFile();
this.myStreets.WriteStreetsToFile();
Console.WriteLine("Files saved");
}
}
Alles anzeigen
Also einfach ein Invoke (wenn notwendig) und sonst eine Textausgabe und dann ein lock mit dem Speicher-Code.
Und um diesen Lock geht es mir: Da ja 32 Threads gerade mit ihrem Bereich fertig sein können kann dieser Code ja auch 32 mal gleichzeitig aufgerufen werden, auch die "WriteXXXXToFile()-Funktionen - daher der globale Lock.... wie kann man sowas besser machen?? (oder sollte ich einfach einen Counter (zB) einbauen und immer nur nach dem 10. fertigen Bereich einmal schreiben?
Wie geht sowas elegant?
Und nochmal zur 1.Frage? Wenn das nicht schneller geht mit der Serialisierung: Sollte ich dann eventuell in Betracht ziehen die BOOLEANs als Bild abzuspeichern? Denn ich bin mir sicher, dass ein Bild recht schnell geladen/gespeichert werden kann, auch in dieser "Auflösung"..... mit OpenGL-Texturen wär das sicher machbar.....
Lg
Spite
Hallo, ich hab soeben in das "Fraktale VO"-Forum gepostet und bin mir nur nicht sicher, ob da jemals jemand hinschaut, daher hoffe ich es stört niemanden, wenn ich hier einen Link dorthin poste. Es geht ja schließlich ums Programmieren
Wenn jemand einen Tipp bereit hat - bitte nur her damit!
http://www.informatik-forum.at/showthread.php?t=75175
Lg
Spite
Danke für die Tipps, hab grad mal deine Commands ausgetestet.....
Folgendes:
net view \\127.0.0.1 ok
net view \\mein_ip ok
net view \\andere_ip ok
net view \\mein_name ok
net view \\anderer_name nichts!!!
Die Datei + Druckerfreigabe ist bei beiden aktiviert! Firewall Ausnahmen hab ich auch schon kontrolliert......
Interessantes Detail am Rande:
Ich bekomme als DNS-Server eine "externe" IP-Adresse raus.... (212.168..)
NICHT, wie früher immer die "interne" IP meines Routers...... habe dann die mal zum Testen manuell eingetragen - dann funktionierte auf dem Vista Laptop auf einmal der Zugriff im Windows auf den anderen Laptop und auch der Ping funktionierte mit dem Namen des anderen Laptops..... allerdings wurde das Surfen unerträglich langsam (ich schätz mal wegen der DNS-Auflösung eben)..... habs deshalb auch wieder zurückgestellt auf automatisch zuweißen, jetzt funzt das Surfen wieder schnell dafür aber der Zugriff auf den anderen Laptop nicht mehr....
Vom XP-Laptop auf meinen Vista-Laptop hats noch nie funktioniert.....
So, jetzt freu ich mich schon SEEEEHR aufs Seven (das kommt dann auf beide Laptops drauf falls es als Studentensoftware verfügbar sein sollte (weiß da wer etwas?????)
Danke auf jeden Fall und Lg an alle!!!!
Spite
PS: was könnte ich NOCH probieren????
Danke für die Erklärung!
Aber woran kann das liegen, daß das nicht hinhaut????
Hat jemand eine Idee oder einen Tipp?
Lg + thx
Spite
Ja, ich habe für "Gast" und "Jeder" den Status auf "Mitbesitzer" gesetzt.... sollte also passen oder??
Bin auf noch was draufgekommen:
Wenn ich in der hosts-Datei die Einträge rausnehme und den ping über "ping NAME_DES_ANDEREN_LAPTOPS" mache funktioniert das nicht!!!!!! Nur mithilfe der IP gehts......
Heißt das jetzt, das irgendwas mit der Namensauflösung nicht hinhaut???
Hab den WLAN-Router erst sehr kurz, daher kenn ich mich damit noch nicht aus.... (falls man das mit dem Router beheben kann....)
Danke auf jeden Fall schon mal für deine Antwort.
Lg
Spite
Hallo an alle!
Also ich hab ein merkwürdiges Netzwerkproblem....
Die Konfiguration sieht so aus:
Beide Laptops sind im gleichen Netzwerk ("HEIMNETZ") und haben auch die gleiche Subnetzmaske vom Router zugewiesen bekommen - soweit ok.
Auf beiden Laptops ist auch der "Gast"-User eingerichtet und aktiviert.
Jetzt kann ich auf beiden Laptops ins INet und das funzt alles ganz nett.
Wenn ich allerdings in der Netzwerkumgebung bin funktioniert so gut, wie nichts.
Ich habe auf den Laptops 2 verschiedene User jeweils mit Passwort.
Auf dem Vista Laptop kann ich schon immer den anderen Laptop "sehen", wenn ich allerdings die freigegebenen Ordner sehen will kommt ein Fehler:
"Auf XXXX konnte nicht zugegriffen werden. Vergewissern sie sich...... blabla". Nun habe ich mal testweise in meine "hosts" Datei den Eintrag "IP_ADDR_DES_ANDEREN_LAPTOPS NAME_DES_LAPTOPS" hinzugefügt und damit geht es dann..... ich sehe dann die Freigaben und kann ganz normal arbeiten.
Wenn ich mit dem XP-Laptop in die Netzwerkumgebung gehe konnte ich seit heute (weil ich seit heute herumprobiere) meinen Vista-Laptop sehen. Konnte? Ja, denn wenn ich nun die "Arbeitsplatzcomputer" anzeigen lassen will hängt sich der Explorer auf. Ich habe auch schon versucht direkt "\\NAME_DES_VISTA_LAPTOPS" in die Adresszeile einzugeben - was auch nichts brachte....
Ich kann mit beiden Laptops den jeweils anderen anpingen (das ging schon IMMER) - also woran kanns liegen?? Ich habe jetzt mal auch auf dem XP-Laptop in der hosts-Datei den anderen Laptop samt IP und namen eingefügt - aber seitdem hängt er sich eigentlich immer in der Netzwerkumgebung auf.......
Also ich bin mit meinem (beschränktem) Netzwerk-Latein am Ende, vielleicht hat einer von euch noch den einen oder anderen Tipp für mich parat?
Danke schon mal im Voraus!
Lg
Spite
Danke erstmal, für Menüs findet sich da schon mal einiges
Aber allgemeine Tutorials meine ich!
Ich werde nochmal die Suchmaschienen strapazieren!
Thx
Spite
Hi, also dies ist sozusagen ein "Schwester-Thread" zu dem hier:http://www.informatik-forum.at/showthread.php?t=74452
Nachdem ich soweit bin eine Html-Seite zu generieren dachte ich mir (da es sich um einen "Logger" handelt) ich könnte den einzelnen Logeinträgen (=Table-Rows) verschiedene Klassen zuweisen (zB: class="visited_site") oder ähnlich.
Dadurch könnte ich ja erstens verschiedene Css-Klassen erstellen und 2. dachte ich mir, ich könnte ja noch Checkboxen einbauen um verschiedene Klassen herauszufiltern und so einen größeren Überblick erhalten.
Die Frage ist nur, wie ich sowas am Besten mache.
Ich habe mein WebBrowser Objekt, in dem zur Zeit der komplette Html-Quellcode drinnensteht. Kann man direkt bei der Anzeige einzelne Classes weglassen oder wäre es sinnvoller zB. für meinen Logger anders vorzugehen?
zB so wärs ja möglich oder?:
Ich speichere mir im Logger alle TableRows zB in einer List<HtmlElement> ab und generiere mir die Html-Page immer neu, wenn ein Log-Eintrag dazukommt (zur Zeit hab ich einfach ein "AppendChild" drinnen) oder ich die Filter-Kriterien ändere. Sollte doch eigentlich funktionieren oder??
Falls komplett unklar ist, was ich meine, erklär ich mein Anliegen gerne nochmal ausführlicher^^
Lg
Spite