我知道存储单个值(或双倍)不能非常精确.所以存储例如125.12可以得到125.1200074788.现在在delphi中,它们是一些有用的函数,如samevalue或comparevalue,它们将epsilon作为参数,并说125.1200074788或例如125.1200087952是相等的.
但我经常在代码中看到如下:如果aSingleVar = 0那么......事实上,我认为总是有效.为什么?为什么在单个var中存储0例来保持准确值?
我在 Android 和 iOS 应用程序中使用 Firebase Cloud Messaging,但是我还有此应用程序的 Windows/Mac OS 版本,我想保留相同的逻辑。我知道 Firebase Cloud Messaging 可以通过 Javascript 与网站配合使用,那么有什么方法可以让我的 Windows 应用程序与此 JavaScript 版本的 Firebase Cloud Messaging 配合使用?
在nodejs下我做了:
npm install firebase --save
Run Code Online (Sandbox Code Playgroud)
那我做
var firebase = require("firebase");
// Initialize Firebase
var config = {
apiKey: "...",
authDomain: "...,
databaseURL: "....",
projectId: "....",
storageBucket: "....",
messagingSenderId: "...."
};
firebase.initializeApp(config);
const messaging = firebase.messaging(); << crash here
Run Code Online (Sandbox Code Playgroud)
但它的崩溃说 firebase.messaging is not a function
他们有没有办法在 node.js 中运行 firebase 消息传递来监听通知?他们是文件,/node_modules/firebase/firebase-messaging.js但它很模糊,我无法理解它以及它的作用
是否可以指定每个窗口的 z 顺序?在下图中,每个 editText 都位于通过 WindowManager 添加的自己的窗口中。正如你所看到的,我有一个 z 顺序问题
正如您在图片中看到的那样,最后一个窗口添加了接缝以采用更高的 z 顺序。因此,我发现将窗口放在较高 z 顺序的唯一方法是从 windowManager 中删除视图,然后立即再次添加它。这不是最佳解决方案,因为视觉上视图消失并重新出现在屏幕上
android android-layout android-view android-windowmanager android-layoutparams
我觉得从移动/网络应用程序到后端api的每个https请求发送用户名和密码是一个坏主意,但我不能提出太多好的论据.
在服务器中,我们将密码的哈希值存储在用户记录中.在任何情况下,在每个请求中我们都需要从数据库加载此用户记录,例如检查用户是否不仅仅被列入黑名单.由于我们需要加载用户记录的每个请求,因此比较密码并不需要花费任何成本,因此无需管理另一个sessionID或令牌数据库.
此外,由于密码是通过https连接发送的,因此中间人无法捕获密码.即使中间有人能够做到这一点,当用户需要首次登录时他也可以这样做(因为无论如何他都需要在开始时发送他的密码)
那么有什么好办法呢?
Firemonkey TBitmap就Fmx.graphics.TBitmap在VCL上了VCL.graphics.Tbitmap.他们的界面非常相似,我想创建例如这个功能
function resizeBitmap(const aBitmap: Tbitmap; const w, h: integer);
Run Code Online (Sandbox Code Playgroud)
正如代码resizeBitmap将是完全一样的Fmx.graphics.TBitmap或VCL.graphics.Tbitmap我想提出提供这一功能,两个VCL应用程序和应用程序FMX(不重复它,因为它意味着我只需要简单地复制过去的代码,并在使用替代Fmx.graphics.TBitmap的VCL.graphics.Tbitmap)
他们是一种可以帮助我完成这项工作的方式或条件定义吗?
文档System.DateUtils.EncodeDateTime()说:
有效小时值为0到24.(如果指定的小时为24,则分钟,秒和毫秒值都应为0,并且生成的TDateTime值表示指定日期结束时的午夜和第二天的开始).
如果我尝试这样做,EncodeDateTime(2008,1,1,24,0,0,0);我会收到一个例外.
我究竟做错了什么?
随着delphi 10.2.2 firemonkey,在windows我做的时候:
MessageDlg('Are you sure you want to undo the last operation ?', // const AMessage: string;
TMsgDlgType.mtConfirmation, // const ADialogType: TMsgDlgType;
[TMsgDlgBtn.mbYes, TMsgDlgBtn.mbCancel], // const AButtons: TMsgDlgButtons;
0, // const AHelpContext: THelpContext;
TMsgDlgBtn.mbCancel, // const ADefaultButton: TMsgDlgBtn;
procedure(const AResult: TModalResult)
begin
if AResult = mrYes then begin
end;
end); // const ACloseDialogProc: TInputCloseDialogProc);
Run Code Online (Sandbox Code Playgroud)
然后在弹出对话框中只显示一个" OK "按钮(没有" 取消 "也没有" 是 ").这是正常还是我错过了什么?
我需要知道 Android 版本支持这些字体:
sans-serif (Roboto-Regular)
sans-serif-light (Roboto-Light)
sans-serif-thin (Roboto-Thin)
sans-serif-medium (Roboto-Medium)
Run Code Online (Sandbox Code Playgroud)
而且在 android 4.4.2 上我无法将 sans-serif-thin 设为“粗体”。任何想法为什么?
我需要用 2160p、1440p、1080p...144p 标记我收到的每个视频。但它的确切定义是什么?
\n\n我知道维基百科的定义:
\n\n2160p=3840x2160\n1440p=2560\xc3\x971440\n1080p=1920\xc3\x971080 \n720p=1280\xc3\x97720 \n480p=640\xc3\x97480 \n360p=480\xc3\x97360 \n240p=426\xc3\x97240 \n144p=256\xc3\x97144 \nRun Code Online (Sandbox Code Playgroud)\n\n好的,但是带有分配给视频的标签,例如1200x700?720p或480p?\n与 的分辨率相同,我是否需要指定或或1920x480的分辨率?480p720p1080p
delphi ×4
android ×3
firebase ×2
firemonkey ×2
android-view ×1
api ×1
ios ×1
javascript ×1
node.js ×1
passwords ×1
security ×1
session ×1
token ×1
video ×1