问题标签 [tstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6369 浏览

delphi - 在 Delphi 控制台应用程序中打开标准输入/标准输出上的 TStream

我正在尝试编写一个 Delphi 控制台应用程序,为其标准输入创建一个 TStream,为其标准输出创建另一个 TStream。

(它将由主机应用程序启动,其输入和输出重定向到管道,并将二进制数据传递到该主机应用程序或从该主机应用程序传递二进制数据,因此 TStream 将比 ReadLn/WriteLn 更适合该任务。)

如何在标准输入或标准输出上打开 TStream?

0 投票
4 回答
35004 浏览

delphi - 字符串到 TStream

我正在尝试将字符串转换为 TStream。我下面的代码在CopyFrom行上给了我一个“抽象错误”消息。我在这里碰壁,有什么解决方法的想法吗?

0 投票
2 回答
1625 浏览

delphi - 带偏移量的 TFileStream

我需要扩展 TFileStream 以便它可以使用不是从 0 偏移量开始,而是从用户定义的偏移量开始的文件。我的意思是它必须将用户定义的偏移量解释为流的开始。我的代码是:

但它不能正常工作。问题出在 Seek 函数中,但我不知道为什么。当我将此类流传递给第三方组件时,它仅在 TSuFileStream.Offset := 0; 时才有效

0 投票
1 回答
599 浏览

delphi - 在 Delphi XE 中读取 TStream 时出现问题

在以前的Delphi版本中,代码如下:

用正确的值填充变量 InBuf (每个字节都有一个值)。现在在 Delphi XE 中,数组的每个第二个字节都是 0,我想是因为 Byte 数据类型是 Delphi XE 中的 Unicode 属性的两倍大。但是,我的流已经生成并且需要通过这个过程,所以如果有人遇到这个问题,我需要另一种类型(也许?),它是字节大小的一半或另一种解决方案。谢谢

0 投票
4 回答
567 浏览

delphi - tstream 是缓冲区溢出证明吗?

TStream 是一个抽象类。

然而,关于它的实现,它们是缓冲区溢出证明吗?

如果我从不是我的来源从 Internet 获取流,我如何验证它没有损坏并导致缓冲区溢出?

假设流是一个 xml 文件。

编辑:所有答案都表明您需要检查缓冲区溢出。您能否演示如何检查输入文件上的缓冲区溢出,我们知道根据其定义,流可能是无限的?

0 投票
1 回答
1148 浏览

delphi - delphi中的TStream警告

我有以下代码片段

我在理解bs变量的初始化时遇到了问题。

如果我不初始化它,我会收到一个明显的警告。

现在,如果我按照评论部分进行操作,即

我收到以下警告。

最后,如果我使用它,它完全可以正常工作

我通过分配它来做正确 Nil吗?

任何意见表示赞赏。

0 投票
2 回答
405 浏览

delphi - Delphi XE3中流的底层读/写方法是什么

我有一些用于旧版本 RADStudio 的派生 Stream 类,它们只是重新实现了 Read、Write、Seek 方法以及 Size 和 Position 属性。

我希望将这些移植到 XE3,但我看到现在(例如)有三个重载Read- 原来的一个,加上两个以 TBytes 作为参数的重载。

德尔福

C++

我需要实现所有三个,还是只实现一个?如果只有一个,哪一个......?

通常我可以从 VCL 源代码中找到它,但目前我刚刚获得了试用版(无源代码)。

0 投票
1 回答
907 浏览

delphi - 通过delphi将flac流发送到谷歌语音服务器

将 flac 数据作为流发送到谷歌语音服务器的最佳和最简单的方法是什么?以 json 文件形式获取结果。我有组件(newac)将音频录制为flac,但无法解决如何将其流数据发送到谷歌语音服务器

0 投票
0 回答
2046 浏览

android - 从 Android 照片上传到 Datasnap 服务器的图像具有不同的图像类型和尺寸

我正在尝试创建一个上传图片的 Delphi XE5 Android Datasnap 应用程序(常规,而不是 REST)。

请参阅下面的代码。代码有效!Android 手机上的摄像头拍摄的图像被传输到服务器并保存。问题是:

  1. 保存到服务器的图像被 IrfanView 识别为 .png。将 image001.bmp 重命名为 image001.png 后,它是可见的,但是
  2. 它始终是 800 x 600
  3. 照片也会自动保存到 Android 的 library/pictures/camera 文件夹中。此图像是 .jpg,大小为 1600 x 1200。它不是 .bmp 或 .png。

我很困惑。所有这些自动转换发生在哪里?

客户端代码如下所示

服务器上的方法是这样的

0 投票
1 回答
2720 浏览

javascript - DataSnap REST JavaScript 客户端 – 如何显示从 TServerMethods 方法返回为 TStream 的 pdf 文件数据

我有一个 DataSnap 服务器方法

返回一个文件。在我的测试用例中,该文件是一个简单的 .PDF。

我确信这个功能可以正常工作,因为我可以在 ObjectiveC 客户端应用程序上打开文件,我使用自己的 http 调用 DataSnap 方法(没有 Delphi 代理)。流从 ASIHttpRequest 对象中读取并保存为本地文件,然后加载并定期显示在标准 pdf 阅读器中。我不知道 ASIHttpRequest 究竟如何管理返回的数据。

但是在我使用标准的 JavaScript 客户端

JavaScript 函数,由 DataSnap 代理本身提供,我不知道如何向用户显示 .pdf 数据。

使用

一个带有文本原始数据的新浏览器窗口打开( %PDF-1.5 %âãÏÓ 1 0 obj << /Type /Catalog /Pages 2 0 R .....)

我得到一个空的新浏览器页面。

或者

我得到一个带有 pdf empry reader 的新浏览器页面并警告“此 PDF 文档无法正确显示”</p>

没有任何改变添加:

进入 DataSnap 函数。

我没有其他想法...

编辑

任务是下载一般文件,而不仅仅是 PDF。PDF 只是一个测试。GetFile必须管理 .pdf、.xlsx、.docx、.png、.eml 等...