Autor Thema: Eine beliebige Adresse anzeigen lassen  (Gelesen 5856 mal)

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Eine beliebige Adresse anzeigen lassen
« am: 20.02.04 - 08:12:51 »
Hallole...

Ich hätte einen kleinen Tip zum Starten von Anwendungen über die WinAPI. Als Beispiel möchte ich mir eine Adresse in einem Routenfinder im Internet anzeigen lassen. Dazu wird eine URL generiert, die dann über ShellExecute ausgeführt wird.

Voraussetzung:
Windows als Plattform - wg. WinAPI
Internet-Verbindung

Hier der Code:
Code
' # Ausführen fremder Programme - In den Declarations hinterlegen - ata
Declare Function GetDesktopWindow Lib "user32" () As Long
Declare Function ShellExecuteFile Lib "shell32.dll" Alias "ShellExecuteA" (Byval _
hwnd As Long, Byval lpOperation As String, Byval lpFile As String, Byval _
lpParameters As String, Byval lpDirectory As String, Byval nShowCmd As Long) As Long

Sub ShowMap24( sStreet As String , sZip As String , sCity As String )
' # Eine Adresse im Routenfinder "Map24" anzeigen
   Dim strURL As String
   Dim vValue As Variant
' # Bilden des Strings
   strURL = "http://www.map24.de/map24/index.php3?map24_sid=&street0=" + sStreet
   strURL = strURL + "&zip0=" + sZip
   strURL = strURL +"&city0=" + sCity 
   ShellExecuteFile GetDesktopWindow(), "open", strURL, "", "", 1
End Sub

' # Aufruf der Funktion dann zum Beispiel aus einem Personendokument
' # ... hier aus einer Maskenaktion am Beispiel der Privatadresses...
Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim docThis As NotesDocument
   '
   Set docThis = ws.CurrentDocument.Document
   With docThis
      Call ShowMap24( .StreetAddress(0) , .Zip(0) , .City(0) )   
   End With   
End Sub

... viel Spaß damit - funzt wunderbar

ata
Grüßle Toni :)

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Eine beliebige Adresse anzeigen lassen
« Antwort #1 am: 20.02.04 - 08:20:40 »
Das ist wirklich was nützliches, Danke
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Eine beliebige Adresse anzeigen lassen
« Antwort #2 am: 20.02.04 - 08:23:58 »
... klein aber fein...  ;D

ata
Grüßle Toni :)

Driri

  • Gast
Re:Eine beliebige Adresse anzeigen lassen
« Antwort #3 am: 20.02.04 - 09:19:09 »
Super Sache ! Danke ata, habs sofort in unser Telefonverzeichnis eingebaut  ;D

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Eine beliebige Adresse anzeigen lassen
« Antwort #4 am: 20.02.04 - 11:15:28 »
... ich hoffe der Zugang bleibt noch lange so offen. Das PHP toleriert eine fehlende ID - nur damit gehts...

... sollten die das mal umstellen, oder die URL ändert sich, dann ist das Feature wieder weg - also Vorsicht...

... zudem habe ich vergessen, daß Map24 für Privatzwecke das kostenlos anbietet - nicht für kommerziellen Gebrauch - also bitte unbedingt beachten, wenn ihr den Tip verwendet...

... vorgeschrieben ist es nicht, aber eine Registrierung öffnet einem noch weitere kostenlose Features...

ata
Grüßle Toni :)

Driri

  • Gast
Re:Eine beliebige Adresse anzeigen lassen
« Antwort #5 am: 26.02.04 - 09:58:35 »
Ich habe mir mal die Freiheit genommen und das Script erweitert, so daß man über eine Dialogbox eine Startadresse eingeben kann und dann die Routenberechnung zur im Dokument enthaltenen Adresse aufgerufen wird.

Dazu müssen in die Maske 5 Felder eingefügt werden, alle vom Typ Text, Bearbeitbar :

SStrasse, SPLZ, SOrt, Rtype, Desctype.

Dann muß eine Dialogmaske gebaut werden, die die Eingabe der Startadresse und zwei Optionen erlaubt, Feldnamen wie oben.

SStrasse, SPLZ, SOrt sind Text, Bearbeitbar
Rtype, Optionsfeld, Optionen = schnellste Route|fast, kürzeste Route|short
Desctype, Optionsfeld, Optionen = kompakte Beschreibung|standard, detaillierte Beschreibung|detailsmap

Zum Schluß einen Button in die Maske einfügen mit folgenden Scripten :

Declare Function GetDesktopWindow Lib "user32" () As Long
Declare Function ShellExecuteFile Lib "shell32.dll" Alias "ShellExecuteA" (Byval _
hwnd As Long, Byval lpOperation As String, Byval lpFile As String, Byval _
lpParameters As String, Byval lpDirectory As String, Byval nShowCmd As Long) As Long


Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim docThis As NotesDocument
   
Set docThis = ws.CurrentDocument.Document   
   
flag% = ws.DialogBox_("Dlg_Route_Start",True,True,False,True,False,False,"Startort angeben",docThis)
   
If flag% Then
With docThis
Call CalcRouteMap24( .SStrasse(0) , .SPLZ(0) , .SOrt_(0) , .Firma_strasse(0) , .Firma_plz(0) , .Firma_ort(0) , .RType_(0) , .Desctype(0) )  
End With  
End If

End Sub


Sub CalcRouteMap24( sStreet As String , sZip As String , sCity As String , dStreet As String , dZip As String , dCity As String , rtype As String , desctype As String)

Dim strURL As String
Dim vValue As Variant
strURL = "http://www.map24.de/map24/routingform.php3?mid=MAP24&sstreet=" + sStreet
strURL = strURL + "&szip=" + sZip
strURL = strURL + "&scity=" + sCity
strURL = strURL + "&dstreet=" + dStreet
strURL = strURL + "&dzip=" + dZip
strURL = strURL +"&dcity=" + dCity
strURL = strURL + "&rtype=" + rtype
strURL = strURL + "&desctype=" + desctype + "&loadlimiter=&usecity=&maptype=JAVA&mid=MAP24&x=73&y=11"
ShellExecuteFile GetDesktopWindow(), "open", strURL, "", "", 1

End Sub


Einziges Manko, man muß immer noch den Button "Route berechnen" im Browser betätigen.

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Eine beliebige Adresse anzeigen lassen
« Antwort #6 am: 26.02.04 - 10:59:23 »
@Driri

... ich war gerade dabei die Routenplanung auseinanderzunehmen. So weit bin ich auch gekommen. Allerdings arbeite ich wieder direkt aus dem Personendokument, bzw. über einen Spiegel der Daten.

... ich suche gerade nach einem Weg ohne den abschließenden Button - also den direkten Weg. Wenn ich fündig werde gebe ich Bescheid - wird etwas aufwendiger...

ata
Grüßle Toni :)

Driri

  • Gast
Re:Eine beliebige Adresse anzeigen lassen
« Antwort #7 am: 26.02.04 - 12:06:46 »
Supi  :)

Das ist echt klasse, mein Chef ist schon total begeistert von der Funktionalität.

Allerdings hab ich mir gerade mal die Nutzungsbedingungen von Map24 angesehen und so wie ich das deute, ist das so nicht legal.

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Eine beliebige Adresse anzeigen lassen
« Antwort #8 am: 26.02.04 - 13:06:32 »
... daher auch meim Hinweis weiter oben - aber wenn die Funktionalitäät deinen Chef so begeistert - Map24 bietet diverse Dinste auch für kommerzielle Nutzungen an...

ata
Grüßle Toni :)

Driri

  • Gast
Re:Eine beliebige Adresse anzeigen lassen
« Antwort #9 am: 26.02.04 - 14:18:05 »
Jopp, ich hab meine Bedenken mal an meinen Cheffe weitergegeben. Soll er einfach entscheiden, ob wir das so einsetzen oder ob wir das evtl. lizensieren.

Achja, noch ne Anmerkung zu meinem Script oben wg. der Routenplanung.
Da sollte man noch ne Prüfung einbauen, damit die Werte für den Startort und die Optionen wirklich gefüllt sind. Setzt man z.B. eine Option nicht, wird im Browser zwar eine markierte Option geezeigt, es kommt aber eine Fehlermeldung.
« Letzte Änderung: 26.02.04 - 14:19:31 von Driri »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz