Supportnet / Forum / Skripte(PHP,ASP,Perl...)
JS zum ausführen von HTML-anweisungen
Frage
Hallo Leute
Ich habe eine Code mit dem ich mir einer Tabelle aus einer Textdatei erzeuge. Wollt jetzt wissen wie ich diesen Code erst ausführen kann wenn ich auf einen Verweis oder Button geklickt habe. Nachmöglichkeit sollte das ganze mit JAvascript oder HTML erfolgen.
[code]
<html>
<head>
<title>DHTML-Datenanbindung mit IE</title>
</head>
<body>
<object id="CDDaten" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">
<param name="DataURL" value="cd-daten.txt"> <!-- gewünschte Datei ansprechen -->
<param name="UseHeader" value="true"> <!-- erste Zeile wird nicht als Datensatz interpretiert (Definition der Feldnamen)-->
<param name="FieldDelim" value=";"> <!-- Angabe des Feldtrennzeichens -->
</object>
<form>
<!-- id="DatenTabelle -> Name angeben -->
<!-- datasrc="'CDDaten" -> Bezugnahme auf die erxterne Datendatei -->
<!-- # -> Bezug zwischen Tabbelle und Datei wird hergestellt -->
<table id="DatenTabelle" datasrc="#CDDaten" width=100%>
<tr>
<td>
<span datafld="CD-Name"></span>
</td>
<td>
<span datafld="Interpret"></span>
</td>
<td>
<span datafld="Lieder"></span>
</td>
</tr>
</table>
</form>
</body>
</html>
[/code]
Code funktioniert nur im IE, nicht im Firefox.
Tschau Jessica
Antwort 1 von rfb
ich würde dir ja empfehlen das mit AJAX zu lösen (funktioniert in IE, FF und Opera sowie den meisten anderen aktuellen Browsern soweit JavaScript aktiviert ist) statt mit diesem object. Wie das geht kannst du hier erfahren: AJAX
Ansonsten würde ich dir die JavaScript-Funktion innerHTML ans Herz legen. Entgegen der Angaben in SelfHTML funktioniert innerHTML auch ohne
Ansonsten würde ich dir die JavaScript-Funktion innerHTML ans Herz legen. Entgegen der Angaben in SelfHTML funktioniert innerHTML auch ohne
document.all.Antwort 2 von Jessica
Hallo
habe das mit AJAX schon mal probiert (mit eurer Hilfe aus dem Forum).
Hat aber nicht richtig funktioniert, da er mir die Datei nicht in Form einer tabelle anzeigte.
Möchte gerne die Tabelle auswerten und dazu muss ich auf die Inhalte der Datei zugriefen. Da ich nicht wusste wie ichs mit der AJAX-Variante mache probierte ich was neues.
Und jetzt steh ich wieder vor Problemen. Ich bruche einen verweis mit dem die Tabelle erstellt wird und die Daten müssen in ein mehrdimensionales Arraydamit ich sie auswerten kann.
Im prinzip ist es mir egal wie ichs erstelle.
Brauche nur einen Link mit dem Die datein geladen verwerden und eine Variable, die die Datensätze enthält. Damit ich mit einer For-each-Schleife über alle Datensätze drüber gehen kann und den entsprechenden in eine neue Datei oder erst in eine Array und dann in eine Datei schreiben kann.
Tschau Jessica
PS hie ist der Link zum altem Thread: https://supportnet.de/threads/1532781
habe das mit AJAX schon mal probiert (mit eurer Hilfe aus dem Forum).
Hat aber nicht richtig funktioniert, da er mir die Datei nicht in Form einer tabelle anzeigte.
Möchte gerne die Tabelle auswerten und dazu muss ich auf die Inhalte der Datei zugriefen. Da ich nicht wusste wie ichs mit der AJAX-Variante mache probierte ich was neues.
Und jetzt steh ich wieder vor Problemen. Ich bruche einen verweis mit dem die Tabelle erstellt wird und die Daten müssen in ein mehrdimensionales Arraydamit ich sie auswerten kann.
Im prinzip ist es mir egal wie ichs erstelle.
Brauche nur einen Link mit dem Die datein geladen verwerden und eine Variable, die die Datensätze enthält. Damit ich mit einer For-each-Schleife über alle Datensätze drüber gehen kann und den entsprechenden in eine neue Datei oder erst in eine Array und dann in eine Datei schreiben kann.
Tschau Jessica
PS hie ist der Link zum altem Thread: https://supportnet.de/threads/1532781
Antwort 3 von rfb
Zitat:
da er mir die Datei nicht in Form einer tabelle anzeigte
ich muss zugeben, außer diesem Satz verstehe ich nur sehr viel "Bahnhof"da er mir die Datei nicht in Form einer tabelle anzeigte
Mal ein Tipp
Du hast aufd er Seite etwa folgendes:
<div id="leer"></div>dann kannst du mittels JavaScript dies füllen
var div=document.getElementById("leer");
div.innerHTML="<p>Ein neuer Absatz.</p> <p>Und gleich noch einer.</p>";
Auch eine Tabelle ließe sich so komplett einfügen, der Browser interpretiert das HTML darin.
(Eleganter wäre natürlich die Lösung mittels document.createElement(), aber dies hat gerade bei Tabellen ein paar Tücken.)
Antwort 4 von rfb
ansonsten:
Bitte erkläre nochmals ganz ausführlich
- wie die Daten in der TXT-Datei vorliegen
- wie sie in die HTML-Seite eingebaut werden sollen
Aus deinem Posting (übrigens auch im Ursprungsthread) geht das nicht klar hervor - und ohne klare Problembeschreibung sind alle Lösungsansätze nur ein Stochern in der trüben Brühe.
Bitte erkläre nochmals ganz ausführlich
- wie die Daten in der TXT-Datei vorliegen
- wie sie in die HTML-Seite eingebaut werden sollen
Aus deinem Posting (übrigens auch im Ursprungsthread) geht das nicht klar hervor - und ohne klare Problembeschreibung sind alle Lösungsansätze nur ein Stochern in der trüben Brühe.
Antwort 5 von Jessica
Hallo
Ich habe eine Textdatei, die eine Tabelle repräsentieren soll. Die Spalten sind durch Tabstopp getrennt. Wenn ich mir die Datei mit folgendem Code anzeigen lasse, existiert kein Tabstop mehr, sondern nur eine Leerzeichen. Hätte aber gerne das der Dateiinhalt tabellarisch angezeigt wird.
Eine Div-Anweisung existiert, nur wie muss ich deine Codezeilen einbinden?
[code
<html>
<head>
<title>AJAX</title>
<script type="text/javascript">
<!--
function nachladen(dateiname) {
var http = null;
if (window.XMLHttpRequest) {
http = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
http = new ActiveXObject("Microsoft.XMLHTTP");
}
if (http != null) {
http.open("GET", dateiname, true);
http.onreadystatechange = ausgeben;
http.send(null);
}
function ausgeben() {
if (http.readyState == 4) {
//document.getElementById("Ausgabe").innerHTML = http.responseText;
var dateiinhalt=http.responseText;
dateiinhalt = dateiinhalt.replace(/\n/g, '<br />');
if (dateiname == 'test.txt'){
document.getElementById("Ausgabe").innerHTML = dateiinhalt;
}
else {
document.getElementById("Ausgabe1").innerHTML = dateiinhalt;
}
}
}
}
//window.onload=nachladen;
//--></script>
<!-- <a href="javascript:nachladen('test1.txt')">test</a><br />
<a href="javascript:nachladen('mappe1.csv')">mappe1</a>-->
</head>
<body>
<p> Anzeige der Datein </p>
<a href="javascript:nachladen('test.txt')">test</a><br /><br />
<div id="Ausgabe"></div><br />
<a href="javascript:nachladen('mappe1.csv')">mappe1</a> <br /><br />
<div id="Ausgabe1"></div><br />
</body>
</html>
]
Mit Auswerten meine ich, ich habe drei Datein mit Tabellen zur Realisierung eines Fertigungsprozesses. Eine für die Verarbeitung, eine für den Transport und eine für die Lagerung. Aus diesen drei Tabellen möchte ich eine neue Tabelle Fertigung erzeugen, die alle DS der anderen Tabellen enthält. Also erst ein Transportprozess dann ein Verarbeitungsprozess und soweiter. Irgendwie muss ich ja auf die Datensätzte zu greifen, nur wie? Dachte halt an ein Array, das ich dann durchlaufe.
Hoffe ich hab mich etwas besser aus gedrück und kannst jetzt damit mehr anfangen.
Jessica
Ich habe eine Textdatei, die eine Tabelle repräsentieren soll. Die Spalten sind durch Tabstopp getrennt. Wenn ich mir die Datei mit folgendem Code anzeigen lasse, existiert kein Tabstop mehr, sondern nur eine Leerzeichen. Hätte aber gerne das der Dateiinhalt tabellarisch angezeigt wird.
Eine Div-Anweisung existiert, nur wie muss ich deine Codezeilen einbinden?
[code
<html>
<head>
<title>AJAX</title>
<script type="text/javascript">
<!--
function nachladen(dateiname) {
var http = null;
if (window.XMLHttpRequest) {
http = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
http = new ActiveXObject("Microsoft.XMLHTTP");
}
if (http != null) {
http.open("GET", dateiname, true);
http.onreadystatechange = ausgeben;
http.send(null);
}
function ausgeben() {
if (http.readyState == 4) {
//document.getElementById("Ausgabe").innerHTML = http.responseText;
var dateiinhalt=http.responseText;
dateiinhalt = dateiinhalt.replace(/\n/g, '<br />');
if (dateiname == 'test.txt'){
document.getElementById("Ausgabe").innerHTML = dateiinhalt;
}
else {
document.getElementById("Ausgabe1").innerHTML = dateiinhalt;
}
}
}
}
//window.onload=nachladen;
//--></script>
<!-- <a href="javascript:nachladen('test1.txt')">test</a><br />
<a href="javascript:nachladen('mappe1.csv')">mappe1</a>-->
</head>
<body>
<p> Anzeige der Datein </p>
<a href="javascript:nachladen('test.txt')">test</a><br /><br />
<div id="Ausgabe"></div><br />
<a href="javascript:nachladen('mappe1.csv')">mappe1</a> <br /><br />
<div id="Ausgabe1"></div><br />
</body>
</html>
]
Mit Auswerten meine ich, ich habe drei Datein mit Tabellen zur Realisierung eines Fertigungsprozesses. Eine für die Verarbeitung, eine für den Transport und eine für die Lagerung. Aus diesen drei Tabellen möchte ich eine neue Tabelle Fertigung erzeugen, die alle DS der anderen Tabellen enthält. Also erst ein Transportprozess dann ein Verarbeitungsprozess und soweiter. Irgendwie muss ich ja auf die Datensätzte zu greifen, nur wie? Dachte halt an ein Array, das ich dann durchlaufe.
Hoffe ich hab mich etwas besser aus gedrück und kannst jetzt damit mehr anfangen.
Jessica
Antwort 6 von renan
an deiner stelle würd ich es im ie machen. der ist für solche lokalen/intranet- anwendungen mit sonderrechten predestiniert.
mit dem firefox wird das schreiben der ergebnisse in eine datei nicht funktionieren.
wahrscheinlich ist eine hta für deinen zweck genau das richtige. so kannst du problemlos auf das lokale dateisystem zugreifen, ohne probleme mit den sicherheitseinstellungen des ie zu bekommen.
mit dem firefox wird das schreiben der ergebnisse in eine datei nicht funktionieren.
wahrscheinlich ist eine hta für deinen zweck genau das richtige. so kannst du problemlos auf das lokale dateisystem zugreifen, ohne probleme mit den sicherheitseinstellungen des ie zu bekommen.
Antwort 7 von Jessica
Hallo kenne mich aber nicht sehr gut aus auf dem Gebiet.
Könntest du mir dies etwas näher erklären. Am besten auf mein Problem zugeschnitten
Tschau Jessica
Könntest du mir dies etwas näher erklären. Am besten auf mein Problem zugeschnitten
Tschau Jessica
Antwort 8 von rfb
also 3 ASCII Dateien?
Aufbau jeweils ungefähr:
Die einzelnen Zeilen aus den 3 ASCII-Dateien sollen jeweils in einer Tabellenzeile enthalten sein (diesen Schritt hast du bislang nur sehr wirr beschrieben!)?
Ich würde dazu die 3 Dateien nacheinander einlesen in 3 Variablen
Mittels split("\n") in ein Array packen, das jeweils eine Zeile pro Element enthält
Dann mittels replace in jedem Array-Element die TABs durch "</td><td>" also Begrenzer eines HTML-Tabellen-Elements ersetzen.
Die jeweiligen Elemente aus den 3 Arrays ebenso aneinanderhängen, davor ein "<tr>", ein "</tr>" dahinter - fertig ist wieder eine Tabellenzeile.
Vor der Ausgabe des Ganzen noch ein "<table>" und "</table>" drumherum, evtl. eine header-Zeile.
Aber wie schon gesagt: so richtig deutlich ist deine Datenstruktur und das was du daraus machen willst nicht.
Aufbau jeweils ungefähr:
blaTABblaTABblaRETURN
bloTABbloTABbloRETURN
...Die einzelnen Zeilen aus den 3 ASCII-Dateien sollen jeweils in einer Tabellenzeile enthalten sein (diesen Schritt hast du bislang nur sehr wirr beschrieben!)?
Ich würde dazu die 3 Dateien nacheinander einlesen in 3 Variablen
Mittels split("\n") in ein Array packen, das jeweils eine Zeile pro Element enthält
Dann mittels replace in jedem Array-Element die TABs durch "</td><td>" also Begrenzer eines HTML-Tabellen-Elements ersetzen.
Die jeweiligen Elemente aus den 3 Arrays ebenso aneinanderhängen, davor ein "<tr>", ein "</tr>" dahinter - fertig ist wieder eine Tabellenzeile.
Vor der Ausgabe des Ganzen noch ein "<table>" und "</table>" drumherum, evtl. eine header-Zeile.
Aber wie schon gesagt: so richtig deutlich ist deine Datenstruktur und das was du daraus machen willst nicht.
Antwort 9 von Jessica
Hallo
Ich möchte eine HTML-Dokument erstellen mit Verweisen zu einer Datei (csv oder txt). Druch Betätigung des Verweise soll die Datei im gleichen Dokument angezeigt werden.
Benötige 7 Verweise, da 7 Datein/Tabellen.
Daten werden mit Excel erfasst, daher csv (daten durch ; getrennt) odr txt (Daten durch Tabstob getrennt) möglich.
Vier Tabellen für die Stammdaten
1. Tabelle: Werkstück
Werkstueck_ID Name
1 Zylinderwelle_roh
2 Zylinderwelle_gedreht
3 Zylinderwelle_bebohrt
4 Zylinderwelle_entgratet
...
2. Tabelle: Ort
Ort_ID Name Art_id
1 Ausgangslager 1
2 HAP 2
3 BR 2
4 DFS 2
... ... ...
3. Tabelle: Fahrzeug
Fahrzeug_ID Name
1 Kran
2 Gabelstapler
3 Handhubwagen
... ...
4. Tabelle Art
Art_ID Name
1 Lager
2 Maschine
Drei Tabellen beinhalten die Prozesse für die Verarbeitung
1. Tabelle: Verarbeitung
Verarbeitungs_ID Name Ort_ID Werkstueck_ID (vorher) Werkstueck_ID (nahcher) Dauer
1 V_ZW_AG_2 4 1 2 1000
2 V_ZW_AG_3 3 2 3 500
3 V_ZW_AG_4 2 3 4 900
... ... ... ... ... ...
2. Tabelle Lagerung
Lagerung_ID Name Ort_ID Werkstueck_ID Dauer
1 L_ZW_1 2 3 30
... ... ... ... ...
3. Tabelle Transprot
Transport_ID Name Ort_ID (Start) Oert_ID (Ziel) Werkstueck_ID Fahrzeug_ID Dauer
1 T_ZW_1 1 4 1 3 10
2 T_ZW_2 4 3 2 3 15
3 T_ZW_3 3 2 3 3 30
4 T_ZW_4 2 4 3 25
Diese Tabellen möchte ich in tabellarischer Form angezeigt bekommen und durch erneutets betätigen des Verweise nach möglichkeit wirder ausblenden.
So ist aber nicht möglich zu sagen welcher Prozess wann anfangt und Endet. Daher soll der Inhalt der letzten drei Tabellen in ein Array eingelesen werden. Auf der Grundlage der Werkstück_ID und Ort_ID soll entschieden werden welcher Vorgang wann abgearbeitet werden soll.
dies soll in JavaScript nach betätigung eines Buttons erfolgen. Diese daten sollen angezeigt werden und wenn möglich in ein Array und eine Datei abgespeichert werden.
Der Aufbau dieser Datei sollte in etwa so aussehen
Prozess_ID V_ID Transport_ID Lagerungs_ID Startzeit Zielzeit
1 0 1 0 0 10
2 1 0 0 10 1010
3 0 2 0 1010 1025
4 2 0 0 1025 1525
5 0 3 0 1525 1555
6 0 0 1 1555 1585
7 3 0 0 1585 2485
8 0 4 0 2485 2510
... ... ... ... ... ...
Die spalten V_ID, Transport_ID und Lagerungs_ID können auch in einer Spalte angezeigt werden.
Auf der Grundlage dieser Tabelle ist jetzt erkenntlich, welcher Prozess zu welcher Zeit abläuft.
Hoffe jetzt wird ein wenig klarer was ich meine und ihr könnt mir Helfen
Jessica
Ich möchte eine HTML-Dokument erstellen mit Verweisen zu einer Datei (csv oder txt). Druch Betätigung des Verweise soll die Datei im gleichen Dokument angezeigt werden.
Benötige 7 Verweise, da 7 Datein/Tabellen.
Daten werden mit Excel erfasst, daher csv (daten durch ; getrennt) odr txt (Daten durch Tabstob getrennt) möglich.
Vier Tabellen für die Stammdaten
1. Tabelle: Werkstück
Werkstueck_ID Name
1 Zylinderwelle_roh
2 Zylinderwelle_gedreht
3 Zylinderwelle_bebohrt
4 Zylinderwelle_entgratet
...
2. Tabelle: Ort
Ort_ID Name Art_id
1 Ausgangslager 1
2 HAP 2
3 BR 2
4 DFS 2
... ... ...
3. Tabelle: Fahrzeug
Fahrzeug_ID Name
1 Kran
2 Gabelstapler
3 Handhubwagen
... ...
4. Tabelle Art
Art_ID Name
1 Lager
2 Maschine
Drei Tabellen beinhalten die Prozesse für die Verarbeitung
1. Tabelle: Verarbeitung
Verarbeitungs_ID Name Ort_ID Werkstueck_ID (vorher) Werkstueck_ID (nahcher) Dauer
1 V_ZW_AG_2 4 1 2 1000
2 V_ZW_AG_3 3 2 3 500
3 V_ZW_AG_4 2 3 4 900
... ... ... ... ... ...
2. Tabelle Lagerung
Lagerung_ID Name Ort_ID Werkstueck_ID Dauer
1 L_ZW_1 2 3 30
... ... ... ... ...
3. Tabelle Transprot
Transport_ID Name Ort_ID (Start) Oert_ID (Ziel) Werkstueck_ID Fahrzeug_ID Dauer
1 T_ZW_1 1 4 1 3 10
2 T_ZW_2 4 3 2 3 15
3 T_ZW_3 3 2 3 3 30
4 T_ZW_4 2 4 3 25
Diese Tabellen möchte ich in tabellarischer Form angezeigt bekommen und durch erneutets betätigen des Verweise nach möglichkeit wirder ausblenden.
So ist aber nicht möglich zu sagen welcher Prozess wann anfangt und Endet. Daher soll der Inhalt der letzten drei Tabellen in ein Array eingelesen werden. Auf der Grundlage der Werkstück_ID und Ort_ID soll entschieden werden welcher Vorgang wann abgearbeitet werden soll.
dies soll in JavaScript nach betätigung eines Buttons erfolgen. Diese daten sollen angezeigt werden und wenn möglich in ein Array und eine Datei abgespeichert werden.
Der Aufbau dieser Datei sollte in etwa so aussehen
Prozess_ID V_ID Transport_ID Lagerungs_ID Startzeit Zielzeit
1 0 1 0 0 10
2 1 0 0 10 1010
3 0 2 0 1010 1025
4 2 0 0 1025 1525
5 0 3 0 1525 1555
6 0 0 1 1555 1585
7 3 0 0 1585 2485
8 0 4 0 2485 2510
... ... ... ... ... ...
Die spalten V_ID, Transport_ID und Lagerungs_ID können auch in einer Spalte angezeigt werden.
Auf der Grundlage dieser Tabelle ist jetzt erkenntlich, welcher Prozess zu welcher Zeit abläuft.
Hoffe jetzt wird ein wenig klarer was ich meine und ihr könnt mir Helfen
Jessica
Antwort 10 von renan
also meines wissens geht das schreiben und lesen lokaler dateien nur mit activex. und das unterstützt nur der ie (und netscape 8 im ie-modus). das schreiben scheint ja jetzt gestorben zu sein. zum lesen kenne ich zwei möglichkeiten: entweder über das activex "scripting.filesystemobject" innerhalb eines skriptes, oder das activex, welches du zu beginn des threads schon gepostet hast. für dich ist das letztere wahrscheinlich besser zu handeln (falls du noch infos brauchst). wie du das mit dem ein- und ausblenden machen kannst, weiss ich aber nicht. schätze rfb kann dir da weiterhelfen. ich würde da was hinpfuschen und dann würde er wahrscheinlich mit mir schimpfen. ;-)
falls der ie wegen activex ärger macht (sicherheitseinstellungen), kannst du das umgehen, indem du die dateiendung von htm(l) nach hta änderst.
frage am rande: warum machst du nicht gleich alles mit excel?
falls der ie wegen activex ärger macht (sicherheitseinstellungen), kannst du das umgehen, indem du die dateiendung von htm(l) nach hta änderst.
frage am rande: warum machst du nicht gleich alles mit excel?
Antwort 11 von rfb
Zitat:
Diese daten sollen ... in ... eine Datei abgespeichert werden.
dies ist nun mit reinem AJAX browserübergreifend nicht zu machen, dafür bräuchtest du eine serverseitige Unterstützung (mit dem Murks, den der IE noch so kann, kenn ich mich nicht aus)Diese daten sollen ... in ... eine Datei abgespeichert werden.
Alles andere wäre auf dem o.g. Weg machbar, CSV-Dateien sind meist einfacher zu handlen, also wähle dies Format (es sei denn in den Daten selbst können Komma vorkommen).
Über einen Script-Ansatz-Entwurf grüble ich mal - das kann aber ein bisserl dauern, bis ich sowas lauffähig und halbwegs "unobtrusive" hinbiege.
Antwort 12 von renan
Zitat:
Diese daten sollen ... in ... eine Datei abgespeichert werden.
Diese daten sollen ... in ... eine Datei abgespeichert werden.
ups hatte ich überlesen. schreiben ist also doch noch aktuell.
Zitat:
dafür bräuchtest du eine serverseitige Unterstützung
dafür bräuchtest du eine serverseitige Unterstützung
also ich vermute, dass es gar keinen server gibt, sondern alles lokal abläuft. hoffe ich hab da nicht wieder was überlesen. ;-)
Zitat:
mit dem Murks, den der IE noch so kann
mit dem Murks, den der IE noch so kann
ich bin ein ausgesprochener gegner des ie. aber seine lokalen fähigkeiten sind wirklich extrem gute features (die durch die fahrlässige bzw. zuerst gar nicht vorhandene sicherheitspolitik von ms in verruf geraten sind). ich kenne aber keine andere möglichkeit so einfach programme mit interaktiver, grafischer benutzeroberflache zu schreiben, wie das mit hta möglich ist.
Antwort 13 von mephan
Tach
Für alle die auch über dieses Wort -unobtrusive- gestolpert sind.
"Die Art und Weise JavaScript von den anderen Ebenen zu lösen ist unter dem Namen "unobtrusive Javascript" bekannt, da "barrierefrei" (accessible) mehr bedeutet als nur sauber zu programmieren."
Quelle = http://ichwill.net/
gruß mephan ;-)
Für alle die auch über dieses Wort -unobtrusive- gestolpert sind.
"Die Art und Weise JavaScript von den anderen Ebenen zu lösen ist unter dem Namen "unobtrusive Javascript" bekannt, da "barrierefrei" (accessible) mehr bedeutet als nur sauber zu programmieren."
Quelle = http://ichwill.net/
gruß mephan ;-)
Antwort 14 von Jessica
hallo
ein Server ist nicht vorhanden.
Soll alles Lokal auf dem rechner Laufen.
Die Daten selbst enhalten keine Kommas, Leerzeichen, Simokolon oder andere Sonderzeichen (ausser _ beim Namen).
Wenns nur mit dem ie funktioniert ist das nicht so schlimm. Wäre halt besser wenns bei anderen auch funzt. Aber hauptsache es geht mit einem Browser.
Tschau Jessica
und tausend dank für eure wirklich schnelle und gute Hilfe in diesem Forum
ein Server ist nicht vorhanden.
Soll alles Lokal auf dem rechner Laufen.
Die Daten selbst enhalten keine Kommas, Leerzeichen, Simokolon oder andere Sonderzeichen (ausser _ beim Namen).
Wenns nur mit dem ie funktioniert ist das nicht so schlimm. Wäre halt besser wenns bei anderen auch funzt. Aber hauptsache es geht mit einem Browser.
Tschau Jessica
und tausend dank für eure wirklich schnelle und gute Hilfe in diesem Forum
Antwort 15 von renan
ich hab dir mal eine demo hochgeladen, wie das lesen und schreiben lokaler dateien funktioniert:
http://www.file-upload.net/download-253235/1.hta.html
die interessanten funktionen sind:
file2array() - liest eine txt- oder csv-datei ein und gibt einen array mit ihrem inhalt zurück
array2file() - schreibt den inhalt eines arrays in eine txt- oder csv-datei
hoffe du benutzt den ie5 nicht mehr, denn darin hab ich die hta nicht zum laufen gebracht. trotz angabe von navigable="yes" öffnet er alle links in einem neuen fenster. vielleicht kann mir jemand sagen, ob ich da was falsch mache?
beim zweiten teil der aufgabe schnalle ich nicht wirklich nach welchen kriterien die 3 tabellen zu einer verknüpft werden sollen.
achja, falls du den quelltext der hta suchen solltest, einfach mit dem editor von windows die datei öffnen oder im ie kontextmenü/quelltext anzeigen wählen. ;-)
http://www.file-upload.net/download-253235/1.hta.html
die interessanten funktionen sind:
file2array() - liest eine txt- oder csv-datei ein und gibt einen array mit ihrem inhalt zurück
array2file() - schreibt den inhalt eines arrays in eine txt- oder csv-datei
hoffe du benutzt den ie5 nicht mehr, denn darin hab ich die hta nicht zum laufen gebracht. trotz angabe von navigable="yes" öffnet er alle links in einem neuen fenster. vielleicht kann mir jemand sagen, ob ich da was falsch mache?
beim zweiten teil der aufgabe schnalle ich nicht wirklich nach welchen kriterien die 3 tabellen zu einer verknüpft werden sollen.
achja, falls du den quelltext der hta suchen solltest, einfach mit dem editor von windows die datei öffnen oder im ie kontextmenü/quelltext anzeigen wählen. ;-)
Antwort 16 von rfb
@jessica:
sollte renans Code deinen Zweck nicht erfüllen melde dich, ansonsten lass ich meine grauen Zellen erst einmal ruhen ;-)
sollte renans Code deinen Zweck nicht erfüllen melde dich, ansonsten lass ich meine grauen Zellen erst einmal ruhen ;-)
Antwort 17 von Jessica
Hallo
@renan
den ie5 benutz ich glaub ich nicht, funktioniert jedenfalls bei mir
hauptsächlich nutz ich den morzilla firefox
Man kann erst eine Verarbeitung, Transport oder Lagerung beginnen, wenn das entsprechende Werkstück bereits hergestellt wurde. Dies erkannt man an der Spalte Werkstuck_ID (nach) der tabelle Verarbeitung. Also muss diese Spalte mit den Spalten Werkstück_ID(vor) der Tabelle Verarbeitung, der Spalte Werkstueck_ID der Tabellen Lagerung und Transport verglichen werden. möchte ich z.B. das Werkstück 3 transportieren, muss die Verarbeitung mit der ID 3 in der Splate Werkstück_ID (nach) als Vorgänger für den Transport fungieren. Verarbeitungsschritte und Transportschritte wechseln sich immer ab. Lagerungsschritte kommen nur selten vor. Zum beispiel wenn bei einem Verarbeitungsschritt zwei Teile zu einem zusammengeschweißt werden oder wenn die Maschine besetz ist. Wenn zwei Teile zusammen geschweißt werden kann die Verarbeitung erst beginnen wenn beide teile fertig sind, also benötige ich eine Lagerung die das erste fertige teil solange lagert, bis das andere fertigt ist. Dies erkenne ich daran das die ID in der Spalte Werkstueck_ID (nach) zweimal vorkommt
Transprote haben nur Verarbeitungen als Vorgänger
Verarbeitung hat Transporte und Lagerung als Vorgänger
Lagerung hat Transport als Vorgänger zur Berechnung der Stat und Zielzeit zur Überprüfung aber eine Verarbeitung
@rfb
renans Code funktioniert auf den ersten Blick erstmal recht gut. Muss aber erstmal abklären ob das als hta-Datei erlaubt ist.
Wenn du lust hast, kannst dich ja mal weiter gedanken machen, würde mich schon mal interessieren. Die Lösung mit AJAX fand ich auch recht gut.
Melde mich wenns was neues gibt
Tschau Jesscia
@renan
den ie5 benutz ich glaub ich nicht, funktioniert jedenfalls bei mir
hauptsächlich nutz ich den morzilla firefox
Man kann erst eine Verarbeitung, Transport oder Lagerung beginnen, wenn das entsprechende Werkstück bereits hergestellt wurde. Dies erkannt man an der Spalte Werkstuck_ID (nach) der tabelle Verarbeitung. Also muss diese Spalte mit den Spalten Werkstück_ID(vor) der Tabelle Verarbeitung, der Spalte Werkstueck_ID der Tabellen Lagerung und Transport verglichen werden. möchte ich z.B. das Werkstück 3 transportieren, muss die Verarbeitung mit der ID 3 in der Splate Werkstück_ID (nach) als Vorgänger für den Transport fungieren. Verarbeitungsschritte und Transportschritte wechseln sich immer ab. Lagerungsschritte kommen nur selten vor. Zum beispiel wenn bei einem Verarbeitungsschritt zwei Teile zu einem zusammengeschweißt werden oder wenn die Maschine besetz ist. Wenn zwei Teile zusammen geschweißt werden kann die Verarbeitung erst beginnen wenn beide teile fertig sind, also benötige ich eine Lagerung die das erste fertige teil solange lagert, bis das andere fertigt ist. Dies erkenne ich daran das die ID in der Spalte Werkstueck_ID (nach) zweimal vorkommt
Transprote haben nur Verarbeitungen als Vorgänger
Verarbeitung hat Transporte und Lagerung als Vorgänger
Lagerung hat Transport als Vorgänger zur Berechnung der Stat und Zielzeit zur Überprüfung aber eine Verarbeitung
@rfb
renans Code funktioniert auf den ersten Blick erstmal recht gut. Muss aber erstmal abklären ob das als hta-Datei erlaubt ist.
Wenn du lust hast, kannst dich ja mal weiter gedanken machen, würde mich schon mal interessieren. Die Lösung mit AJAX fand ich auch recht gut.
Melde mich wenns was neues gibt
Tschau Jesscia
Antwort 18 von Jessica
Hallo Leute
Habe heute das wegen der hta-Datei mit meinem Partner abgeklärt.
Er würde die AJAX-Variante bevorzugen, da die Simulation der Prozesse mittels VRML in das HTML-Dokument eingebunden werden soll.
Funktioniert auch bereits, er weiß nur nicht wie in der hta-Datei geht bzw. obs möglich ist. Darum würde ich meinen Teil der Projektarbeit (bereits in den voherig beschiebenen Antworten) mit Ajax realisieren wollen.
Wäre nett wenn mir jemand Helefen könnte.
@renan deine Version ist wirklich gut, auch einfach zu verstehen
aber ich glaub AJAX ist besser geeignet, da so die kommunikation mit VRML einfacher ist
@rfb
Wäre echt nett wenn du mir Helfen könntest, da du anscheinet viel Ahnung von der Thematik hast
Tschau Jessica
PS ich bin über jede hilfe dankbar
Habe heute das wegen der hta-Datei mit meinem Partner abgeklärt.
Er würde die AJAX-Variante bevorzugen, da die Simulation der Prozesse mittels VRML in das HTML-Dokument eingebunden werden soll.
Funktioniert auch bereits, er weiß nur nicht wie in der hta-Datei geht bzw. obs möglich ist. Darum würde ich meinen Teil der Projektarbeit (bereits in den voherig beschiebenen Antworten) mit Ajax realisieren wollen.
Wäre nett wenn mir jemand Helefen könnte.
@renan deine Version ist wirklich gut, auch einfach zu verstehen
aber ich glaub AJAX ist besser geeignet, da so die kommunikation mit VRML einfacher ist
@rfb
Wäre echt nett wenn du mir Helfen könntest, da du anscheinet viel Ahnung von der Thematik hast
Tschau Jessica
PS ich bin über jede hilfe dankbar
Antwort 19 von renan
Zitat:
er weiß nur nicht wie in der hta-Datei geht bzw. obs möglich ist.
er weiß nur nicht wie in der hta-Datei geht bzw. obs möglich ist.
um das herauszufinden müsste man das entsprechende html-dokument mit der dateiendung ".hta" versehen und danach doppelklicken, um zu schauen was passiert. dazu muss lediglich vorher, in den einstellungen des explorers, der haken bei "Erweiterungen bei bekannten Dateitypen ausblenden" entfernt werden, sonst verhindert windows das ändern der dateiendung.
ansonsten kann man auch aus der hta, durch umbenennung, ein normales html-dokument machen (den hta:application-tag auskommentieren, oder entfernen). theoretisch müsste der ie dann die gleiche funktionalität bereitstellen. in der praxis würde ich aber erwarten, dass dafür die activex-sicherheitseinstellungen heruntergesetzt werden müssen. dabei ist darauf zu achten, dass dafür nicht die einstellungen der "internetzone" zuständig sind, sondern die für die arbeitsplatzzone. unter extras/internetoptionen/sicherheit wird diese zone aber erst zum verändern bereitgestellt, wenn man vorher in der registry im schlüssel "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones 0" den wert "Flags" auf 1 gesetzt hat.
Zitat:
Er würde die AJAX-Variante bevorzugen
Er würde die AJAX-Variante bevorzugen
wie bereits oben erwähnt ist es meines wissens nicht möglich mit ajax auf lokale dateien zuzugreifen. man bräuchte dafür einen lokalen, programmierbaren (zb. mit php) webserver. dann würde man aber konsequenterweise die dateizugriffe gleich der serverapplikation überlassen.
Antwort 20 von rfb
Zitat:
wie bereits oben erwähnt ist es meines wissens nicht möglich mit ajax auf lokale dateien zuzugreifen
wie schon erwähnt: doch ist möglich, aber nur lesend!wie bereits oben erwähnt ist es meines wissens nicht möglich mit ajax auf lokale dateien zuzugreifen
Antwort 21 von renan
Zitat:
wie schon erwähnt:
wie schon erwähnt:
missverständnis: ich dachte eigentlich, du wärst zu dem zeitpunkt noch vom existieren eines servers ausgegangen.
Zitat:
doch ist möglich
doch ist möglich
lass mich nicht dumm sterben. haste nen link oder ein paar erklärende worte? wäre nett!
Antwort 22 von rfb
probiers aus, die einfacheren Beispiele im Galileo-Computing-AJAX Buch lassen sich ja kopieren.
Selbst kompliziertere Sachen, wie das Auswerten einer XML-Datei (zB. einer google-Sitemap), laufen lokal unter dem file-Protokoll.
Selbst kompliziertere Sachen, wie das Auswerten einer XML-Datei (zB. einer google-Sitemap), laufen lokal unter dem file-Protokoll.
Antwort 23 von renan
Zitat:
lokal unter dem file-Protokoll
lokal unter dem file-Protokoll
ach so, dann ist es klar. dachte nicht dass das geht, da das ja kein http-request ist und in dem buch steht:
Zitat:
XMLHttpRequest kann lediglich eine HTTP-Anfrage an einen Webserver schicken und die Rückgabe auswerten.
XMLHttpRequest kann lediglich eine HTTP-Anfrage an einen Webserver schicken und die Rückgabe auswerten.
danke!

