Hallo Forum,
ich möchte in einem View verschiedene Funktionen intergrieren, die alle mit der eigenen HotLink-Funktion funktionieren. Z.B. möchte ich Bilder, Word-Dokument und Excel-Tabellen aufrufen, was ich mit verschiedenen Scripten (dank eurer Hilfe!) schon geschafft habe. Alle diese Funktionen arbeiten mit dem HotLink. Nun aber wäre es schön, wenn Bilder, Dokument und Tabellen mit einem eigenen HotLink (evtl. eine andere Farbe, und nur diesem, zu öffnen wären. Ich habe schon probiert eigene Button zu erstellen, wobei ich die Einstellungen des üblichen HotLinks übernommen habe. So lässt sich natürlich aber jedes mit jedem HotLink öffnen, außer den verschiedenen Icons hat sich nichts geändert. Wie bringe ich nun jedem einzelnen HotLink bei, dass er nur die für ihn bestimmte Anwendung öffnet? Geht das überhaupt und wie kopiert man Werkzeuge?
Gruß Carsten
ich möchte in einem View verschiedene Funktionen intergrieren, die alle mit der eigenen HotLink-Funktion funktionieren. Z.B. möchte ich Bilder, Word-Dokument und Excel-Tabellen aufrufen, was ich mit verschiedenen Scripten (dank eurer Hilfe!) schon geschafft habe. Alle diese Funktionen arbeiten mit dem HotLink. Nun aber wäre es schön, wenn Bilder, Dokument und Tabellen mit einem eigenen HotLink (evtl. eine andere Farbe, und nur diesem, zu öffnen wären. Ich habe schon probiert eigene Button zu erstellen, wobei ich die Einstellungen des üblichen HotLinks übernommen habe. So lässt sich natürlich aber jedes mit jedem HotLink öffnen, außer den verschiedenen Icons hat sich nichts geändert. Wie bringe ich nun jedem einzelnen HotLink bei, dass er nur die für ihn bestimmte Anwendung öffnet? Geht das überhaupt und wie kopiert man Werkzeuge?
Gruß Carsten
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von uwelangehh am Sa., 13.11.2004 - 00:50
Permalinkdu musst wohl erst einmal das programmieren, was dir die Hotlink-Funktion eigentlich abnimmt:
1. Geometrie selektieren (Siehe Systemskript View.SelectPoint)
2. Suche den Inhalt (Pfad und Dateiname) aus dem betreffenden Feld raus (Variable SELF im Hotlink-Skript).
Danach beginnt dann der eigentliche Hotlink-Code, der das betreffende Dokument oeffnet. Fuer jedes Feld erstelltst du ein eigenes Skript. Die Skripte funktionieren unabhaengig voneinander, da du ja in jedem Skript ein anderes Feld angibst.
Hoert sich nach ein wenig Arbeit an.
Frohes Schaffen und gutes Gelingen dabei
Uwe.Lange(at)DB-GIS.de
Gespeichert von HeinzJ am So., 14.11.2004 - 20:01
Permalinkdateiname = Feldinhalt.AsFileName
erweiterung = dateiname.GetExtension
if (erweiterung = 'doc') then
System.Execute("C:\Programme\Microsoft Office\Office\winword.exe "++theVal)
end
Gespeichert von CarstenB am Mo., 15.11.2004 - 15:04
Permalinkdie Idee finde ich sehr gut, leider scheitert sie an der Umsetzung.
Ich haben deinen Text ins Script geschrieben, nun kommt aber die Fehlermeldung beim Kompilieren "Unbekanntes Objekt: Feldinhalt"
Gruß Carsten
Gespeichert von HeinzJ am Mo., 15.11.2004 - 16:40
PermalinkDas obige sollte eigentlich nur als Beispiel dienen für dein Script. Irgendwo in deinem Script muss eine schon eine Variable für die zu öffnende Datei sein (Vermutung). Ich habe diese Variable "Feldinhalt" genannt.
Gruß Heinz.
Gespeichert von CarstenB am Di., 16.11.2004 - 08:35
Permalinkich möchte mit diesem Script eine Powerpoint-Präsentation öffnen und eben nur diese. Wo muss ich denn nun die Dateierweiterung einfügen?
theVal = SELF
' Prüfen, ob der Wert des Feldes ungleich Null ist
if (not (theVal.IsNull)) then
' Wenn die im Feld angegebene Datei existiert,
' Bild zeigen
if (File.Exists(theVal.AsFileName)) then
' Pfad zur Programmdatei des Explorer
' verwenden funktioniert aber auch ohne Pfad
System.Execute("C:\Programme\MSOffice 2000\Office\powerpnt.exe "++theVal)
else
' Wenn die Datei nicht existiert, Benutzer
' informieren
MsgBox.Warning("Datei "+theVal+" nicht gefunden.","Hot Link")
end
end
Gruß Carsten
Gespeichert von HeinzJ am Di., 16.11.2004 - 18:48
PermalinkVielleicht so (s.u).
Gruß Heinz
PS. wenn Dein Projekt läuft, hast du ja vielleicht Lust, ein entsprechendes Beispielprojekt im GISWiki zu posten.
http://www.giswiki.de
'-------------------------------------
theVal = SELF
' Prüfen, ob der Wert des Feldes ungleich Null ist
if (not (theVal.IsNull)) then
' Wenn die im Feld angegebene Datei existiert,
' Bild zeigen
if (File.Exists(theVal.AsFileName)) then
Erweiterung = theVal.AsFileName.GetExtension
if (Erweiterung = "ppt") then
System.Execute("C:\Programme\MSOffice 2000\Office\powerpnt.exe "++theVal)
end
else
' Wenn die Datei nicht existiert, Benutzer
' informieren
MsgBox.Warning("Datei "+theVal+" nicht gefunden.","Hot Link")
end
end
Gespeichert von CarstenB am Mi., 17.11.2004 - 14:09
Permalinkvielen Dank noch einmal für die Mühe.
Werde demnächst mal bei giswiki.de posten.
Gruß Carsten