我正在尝试将C#dll-Call移植到F#.
C#调用是:
[DllImport("swedll32.dll", CharSet = CharSet.Ansi, EntryPoint = "swe_revjul")]
private extern static double ext_swe_revjul(double tjd, int gregflag, ref int year, ref int month, ref int day, ref double hour);
Run Code Online (Sandbox Code Playgroud)
我试图用F#以六种方式写这个(至少!),但都无济于事.其中:
[<DllImport("swedll32.dll", CharSet = CharSet.Ansi, EntryPoint = "swe_revjul")>]
extern double ext_swe_revjul (double tjd ) (gregflag:int) (year: int byref) (month: int byref) (day: int byref) (hour: double byref);
Run Code Online (Sandbox Code Playgroud)
要么:
let ext_swe_revjul double (tjd:double) (gregflag:int) (year: int byref) (month: int byref) (day: int byref) (hour: double byref )
Run Code Online (Sandbox Code Playgroud)
我尝试使用限定符或"a:byref"编写byref - 有人可以帮助我吗?非常感谢你提前!
暂时沮丧的科学家谁只想得到他的公式:-)
我有这个方法但它只适用于一个活动
public Cursor getXX() {
Cursor mCur = thius.managedQuery(Browser.BOOKMARKS_URI,Browser.HISTORY_PROJECTION,
null, null, null);
}
public void getBrowserHist() {
Cursor mCur = managedQuery(Browser.BOOKMARKS_URI, Browser.HISTORY_PROJECTION,
null, null, null);
mCur.moveToFirst();
if (mCur.moveToFirst() && mCur.getCount() > 0) {
while (mCur.isAfterLast() == false) {
Log.v("titleIdx", mCur.getString(Browser.HISTORY_PROJECTION_TITLE_INDEX));
Log.v("urlIdx", mCur.getString(Browser.HISTORY_PROJECTION_URL_INDEX));
mCur.moveToNext();
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何在android服务中使用"ManagedQuery"字样?
如何创建一个方法将光标返回到浏览器历史记录android系统?
页面加载后,我想删除以前的历史记录状态。
这是与我其他问题分开的问题;不只是一种选择
FLINQ和Quotation Visualizer示例使用了这个函数,但我无法在任何地方找到它.谢谢.
我写了这个F#代码:
let tuples = [|("A",1,0);("A",2,3);("A",3,6)|]
let tupleSubset =
tuples
|> Seq.map(fun values ->
values.[0],
values.[2])
printfn "%A" tupleSubset
Run Code Online (Sandbox Code Playgroud)
我得到:运算符'expr.[idx]'已根据此程序点之前的信息用于不确定类型的对象.考虑添加其他类型约束
谁能告诉我我做错了什么?
我的网站像 http://mysite.com/,在索引页面上我有搜索框,结果我使用的是jqgrid.当用户点击jqgrid行中的行时,我从单元格中获取数据并对服务器执行ajax调用并获取json数据,一旦数据到达,我将隐藏搜索框和jqgrid并显示另一个div,这是我保留的结果.简而言之,用户将在同一页面上只是div的隐藏/显示.
现在我已经看过历史api并使用了pushState和popstate,所以我的url变成了地址栏,如http://mysite.com/controller/action/para1/para2(这里para1和para2是我传递给行动的参数).到目前为止一切都还可以.
现在的问题是,如果我复制这个URL" http://mysite.com/controller/action/para1/para2 ",如果我打开它,让我们说不同的浏览器并点击输入它只显示json数据.所以,我很困惑,当用户直接在控制器中使用该url时如何处理.
我正在考虑检查控制器动作,如果请求是AJAX然后返回json数据,否则整页,是正确的方法?或者我们在客户端的东西,以便它加载与以前相同的方式.
谢谢
我正在尝试使用F#使用SharePoint 2010对象(就像经验一样).
所以我写了这段代码
let getSPDomainUsers (spWeb : SPWeb) =
seq {
for r in spWeb.RoleAssignments do
match r.Member with
| :? SPUser as user ->
for b in r.RoleDefinitionBindings do
if (user.IsDomainGroup) then yield (spWeb.Url.ToLower(), user, b.Name.ToLower())
| :? SPGroup as group ->
for u in group.Users do
for b in r.RoleDefinitionBindings do
if (u.IsDomainGroup) then yield (spWeb.Url.ToLower(), u, b.Name.ToLower())
| _ -> ()
}
Run Code Online (Sandbox Code Playgroud)
然而,所有这些for循环和条件我的代码看起来非常必要.
而不是for循环我想做像List.map这样的事情然而大多数像RoleDefinitionBindings或RoleAssignments这样的对象都返回我不是列表或数组或序列的集合所以我被迫写循环.
当返回类型是自定义集合对象(如SPRoleAssignmentCollection和SPRoleDefinitionBindingCollection)时,您能告诉我一种可以避免循环的方法吗?
f# ×4
ajax ×1
android ×1
api ×1
asp.net-mvc ×1
cursor ×1
external ×1
javascript ×1
pinvoke ×1
quotations ×1
sharepoint ×1