Hallo.
Gibt es in Avenue eine Funktion bei der man 2 Werte (string und integer) übergeben kann ? Habe leider im Handbuch nix gefunden.In VB oder C ist sowas ja ganz einfach möglich.
MFG
Sebastian
Gibt es in Avenue eine Funktion bei der man 2 Werte (string und integer) übergeben kann ? Habe leider im Handbuch nix gefunden.In VB oder C ist sowas ja ganz einfach möglich.
MFG
Sebastian
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Maxilla am Mi., 27.09.2006 - 08:41
PermalinkGespeichert von Sebastian am Mi., 27.09.2006 - 08:56
PermalinkIch möchte aus einem externen Programm (Access) 2 Werte an eine Funktion übergeben,die anhang von 2 Attributen in Attributtabelle mir eine Polygonfläche anzeigt.Ist das möglich ?
Das habe ich bisher :
theview=av.getactivedoc
thetheme=theview.findtheme("Friedhof")
thetab=av.getproject.finddoc("Attribute von Friedhof")
thetheme.editTable
theTable = av.GetActiveDoc
thevtab=thetable.getvtab
theBitmap = theVTab.GetSelection
'Das was jetzt kommt am besten in eine Funktion wo ich die beiden Werte übergeben kann
searchgrab = "1".quote
searchfeld = "A"
theQuery = "([feld] = " +searchfeld.quote+") AND ([grabid]="+searchgrab+")"
'query and apply selection
theVTab.Query(theQuery, theBitmap, #VTAB_SELTYPE_NEW)
theVTab.UpdateSelection
av.GetProject.SetModified(true)
r = Rect.MakeEmpty
for each t in theView.GetActiveThemes
if (t.CanSelect) then
r = r.UnionWith(t.GetSelectedExtent)
end
end
if (r.IsEmpty) then
return nil
elseif ( r.ReturnSize = (0@0) ) then
theView.GetDisplay.PanTo(r.ReturnOrigin)
else
theView.GetDisplay.SetExtent(r.Scale(1.1))
end
thewindow = theview.getwin
thewindow.open
if(thetab<>NIL)then
thetab.getwin.close
end
theview=av.GetActiveDoc
thetheme.setactive(true)[b][/b]
Gespeichert von Maxilla am Mi., 27.09.2006 - 09:17
PermalinkDein Handling von Thema und Tabelle ist allerdings recht umständlich. Ich würde das eher so schreiben:
theview=av.getactivedoc
thetheme=theview.findtheme("Friedhof")
thevtab=thetheme.GetFTab
theBitmap = theVTab.GetSelection
searchgrab = "1" ' wenn [grabid] ein Zahlenfeld ist, muss die Quotierung weg!
searchfeld = "A"
theQuery = "([feld] = " +searchfeld.quote+") AND ([grabid]="+searchgrab+")"
'query and apply selection
theVTab.Query(theQuery, theBitmap, #VTAB_SELTYPE_NEW)
theVTab.UpdateSelection
av.GetProject.SetModified(true)
r = Rect.MakeEmpty
if (thetheme.CanSelect) then
r = r.UnionWith(thetheme.GetSelectedExtent)
end
if (r.IsEmpty) then
return nil
elseif ( r.ReturnSize = (0@0) ) then
theView.GetDisplay.PanTo(r.ReturnOrigin)
else
theView.GetDisplay.SetExtent(r.Scale(1.1))
end
Gespeichert von Maxilla am Mi., 27.09.2006 - 10:06
Permalinktheview=av.getactivedoc
thetheme=theview.findtheme("Friedhof")
thevtab=thetheme.GetFTab
theBitmap = theVTab.GetSelection
theLabs = {"Grab-ID:","Feld:"}
theDefs = {"1","A"} ' = Defaultwerte
theCrit = MsgBox.MultiInput("Suchkriterien:"," Suche...",theLabs,theDefs)
if ((NIL = theCrit) or (theCrit.count = 0)) then
return NIL
end
searchgrab = theCrit.Get(0)
searchfeld = theCrit.Get(1)
theQuery = "([feld] = " +searchfeld.quote+") AND ([grabid]="+searchgrab+")"
'query and apply selection
theVTab.Query(theQuery, theBitmap, #VTAB_SELTYPE_NEW)
theVTab.UpdateSelection
av.GetProject.SetModified(true)
r = Rect.MakeEmpty
if (thetheme.CanSelect) then
r = r.UnionWith(thetheme.GetSelectedExtent)
end
if (r.IsEmpty) then
return nil
elseif ( r.ReturnSize = (0@0) ) then
theView.GetDisplay.PanTo(r.ReturnOrigin)
else
theView.GetDisplay.SetExtent(r.Scale(1.1))
end
Gespeichert von Sebastian am Mi., 27.09.2006 - 10:15
Permalink