如何在运行时获取read_phone_state权限以获取IMEI号?
if not HasPermission('android.permission.READ_PHONE_STATE') then
begin
//ASK AND GET PERMISSION ?
end;
function TForm1.HasPermission(const Permission: string): Boolean;
begin
//Permissions listed at http://d.android.com/reference/android/Manifest.permission.html
{$IF RTLVersion >= 30}
Result := TAndroidHelper.Context.checkCallingOrSelfPermission(
{$ELSE}
Result := SharedActivityContext.checkCallingOrSelfPermission(
{$ENDIF}
StringToJString(Permission)) =
TJPackageManager.JavaClass.PERMISSION_GRANTED;
end;
Run Code Online (Sandbox Code Playgroud) 我在具有单个参数的存储过程中具有与以下类似的查询:
SELECT
ID,
DepartmentID,
FileName
FROM
Document
-- conditional join from here
JOIN
AllowedDepartmentList ON DepartmentID = AllowedDepartmentList.ID
AND @IsAdmin = 'false'
Run Code Online (Sandbox Code Playgroud)
该参数@IsAdmin与数据类型位.
我使用的两个表是Document表(参见上面查询中的结构),并且AllowedDepartmentList包含单个int列.
我使用此查询来过滤Document带有连接的表的返回结果.我不使用该WHERE DepartmentID IN()子句,因为AllowedDepartmentList可以长达600-700个项目(IN()在可能的1M记录表中处理性能太高)所以我使用连接进行过滤,但过滤应该只执行,如果@IsAdmin参数是false.就像- 条件连接之后的行一样,评论甚至没有.
我尝试了上面的查询,但它没有产生任何记录.我怀疑我使用了错误的连接类型,但我被卡住了.
我在地图上显示标记时遇到一个问题.我想在标记下方显示一些文字,但无论如何我都做不到.这是我的示例代码,我想知道我需要添加它以在标记显示时永久显示
这是我的代码示例的一部分:
loop
htp.print('geocoder.getLatLng(');
htp.print(''''||r_klt.geoloc||''''||',');
htp.print('function(point) {');
htp.print('var baseIcon = new GIcon(G_DEFAULT_ICON);');
htp.print('baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png%22;');
--htp.print('baseIcon.shadow = "/i/pdf.png";');
htp.print('baseIcon.iconSize = new GSize(20, 34);');
htp.print('baseIcon.shadowSize = new GSize(37, 34);');
htp.print('baseIcon.iconAnchor = new GPoint(9, 34);');
htp.print('baseIcon.infoWindowAnchor = new GPoint(9, 2);');
htp.print('var letteredIcon = new GIcon(baseIcon);');
l_address := r_klt.geoloc;
htp.print('letteredIcon.image = "http://www.google.com/mapfiles/marker'%7C%7Cchr(65+l_t)%7C%7C'.png%22;');
htp.print('markerOptions = { icon:letteredIcon'};');
htp.print('var marker = new GMarker(point,markerOptions);');
htp.print('var html = "<h1>'||r_klt.geoloc||'</h1>";');
htp.print('GEvent.addListener(marker, "mouseover", function() { marker.openInfoWindowHtml(html); });');
htp.print('map.addOverlay(marker);');
htp.print('}');
htp.print(');');
l_t := l_t + 1;
end loop;
Run Code Online (Sandbox Code Playgroud) javascript google-maps google-maps-api-3 google-maps-markers
我想显示两列的减法.从第一列我需要得到所有值的总和并减去第二列中的每个值.
这是表结构:
id | name | col1 | col2 | date
------------------------------------
432| xxx | 0 | 15 |2015-11-17
432| yyy | 10 | 30 |2015-11-19
432| zzz | 60 | 40 |2015-11-20
433| aaa | 0 | 60 |2015-11-17
433| bbb | 80 | 20 |2015-11-19
433| ccc | 60 | 10 |2015-11-20
Run Code Online (Sandbox Code Playgroud)
公式应该去:
sum(col1) = 70 =>>> WHERE ID = 432
70 - col2 col3
-------------------------
=> 70 - 15 = 55
=> 70 - (30 + 15) …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 android 手机上的文件 (test.txt) 上保存一些文本,但没有成功。这是我的代码示例:
procedure TDM.WriteLog(text:string);
var
myFile : TextFile;
begin
// Try to open the Test.txt file for writing to
AssignFile(myFile, System.IOUtils.TPath.Combine(System.IOUtils.tpath.getdocumentspath,'test.txt'));
ReWrite(myFile);
// Write a couple of well known words to this file
WriteLn(myFile, text + sLineBreak );
// Close the file
CloseFile(myFile);
end;
Run Code Online (Sandbox Code Playgroud)
当我在手机上找到文件时,我打开文件但它是空的。我错过了什么?
我不能使用以下Datetime减法方法.
https://msdn.microsoft.com/ja-jp/library/system.datetime.subtract(v=vs.110).aspx
我使用Microsoft Visual Studio Proffesional 2013和VisualBasic2013以及.NetFrameWork版本4.5.50938
我想用上面的方法.我可以像这样使用Add方法:
Dim dt As Datetime = Nothing
dt.Add(New TimeSpan(1))
Run Code Online (Sandbox Code Playgroud)
我想知道为什么虽然主页是Datetime.减法,我不能用减法方法......
android ×2
delphi ×2
firemonkey ×2
sql-server ×2
t-sql ×2
google-maps ×1
javascript ×1
join ×1
permissions ×1
vb.net ×1
vb.net-2010 ×1