【问题标题】:Showing a picture in visual foxpro 6 from General Data Column [closed]在通用数据列中的visual foxpro 6中显示图片[关闭]
【发布时间】:2014-03-12 17:53:54
【问题描述】:

Visual Foxpro 6显示图片的代码是什么?

有人知道使用 Visual Foxpro 6 显示在表格的列中找到的图片的代码吗?

我的项目是图书馆系统,其中包括图书馆员和学生的进出时间。并且需要上传一张学生的照片连同他们在注册时的信息。

例子:

如果学生进入图书馆,他/她需要刷他/她的ID登录或时间,他/她的信息将出现在管理员的计算机上。他/她离开图书馆时的过程相同。 . .他/她需要刷他/她的 ID 然后注销/超时。

【问题讨论】:

  • 对于那些没有接触过 VFP 并使用通用列类型(很像保存基于二进制的图像数据的 blob)的人,这与 VFP 世界非常相关。它与存储在表存储文件中时如何嵌入 OLE 或链接图像有关。
  • 怎么样??我应该为图像的数据字段选择什么样的数据类型......因为在VB中有一个“图像”数据类型......但在VB中没有......我还需要制作一个表格来浏览和保存图片他们在表中的记录...

标签: visual-foxpro


【解决方案1】:

根据提供的其他答案,我认为您的问题含糊不清且具有误导性。听起来像你有一个教师和学生的数据库(很像健身房的会员资格或类似的)。对于数据库中的每条记录,您都有一个与该人关联的图像文件。该图像可能是实际表的一部分,或者只是指向驱动器共享上特定目录的文件名,所有人物图像都可用。

因此,这些人拥有身份证,当他们进入特定设施(例如您的图书馆)时,他们会通过读卡器读取身份证。那时您正在从您的网络用户数据库中进行搜索,找到该用户并将图像拉到屏幕上以显示此人的身份,以帮助防止有人使用他人的身份证进行欺诈。这使得监控入口区域的人可以确保吉姆没有使用“比尔的身份证来获得访问权限。

如果是这种情况,并且您的 VFP 应用程序已经在运行并准备好从读卡器读取数据,则您只需将图像文件添加到屏幕以在某处进行演示。然后,根据您找到适当的 ID,获取记录,分析(如果记录的一部分或只是给定图像路径中的文件名),获取图像文件并设置图像控件上的属性以指向正确的图像.然后,执行任何表明比尔刚刚进入设施的日志更新。

-- 根据评论更新--

Jenna,我不知道原始记录是如何添加到您的表中的,听起来您是接到这个项目的。 VFP 中的列类型是“常规”字段。有点像也可以保存二进制数据的备忘录字段,通用数据类型更多地用于对象链接和嵌入 (OLE) 内容。似乎当用户存储这些值时,他们通过类似的方式添加为链接或嵌入的内容

从 SomePath\SomeFileName.bmp 中附加一般 YourPictureColumn

检查 VFP 6 下的“APPEND GENERAL”语法。您还可以通过包含实际图像来说明如何通过链接到实际文件与嵌入,因此如果删除了原始来源,您仍然可以将其保存在文件中。

至于双击该栏看到的“相框”,是因为VFP不知道如何正确解释图像,比如“MS.Paint”类对象,或者“Picture”,管他呢。我从来没有真正喜欢过通用字段,而是有一个备忘录字段,其中只有我保留的图像的完整路径/文件名的名称,并且有一个单独的文件夹来粘贴所有图像文件。然后,当我需要显示该特定图像时,我会将 VFP 表单上的图像对象的属性更改为该位置。

现在,如果这是您可能喜欢的路线,我不确定是否要提取这些图像文件,但可以进一步研究。

至于测试图像采样的概念,在 VFP 中,为示例表单创建一个新文件夹。

在文件夹中复制几张图片作为示例。 创建一个包含 2 列的简单表... 创建表 MyPicSample ; (人名 c(10),; 图片来源 m)

添加与您复制到测试文件夹中的图像一样多的记录。对于每一个,将图像的文件名(完整路径)放入“ImgSource”备注字段,以及“PersonName”的示例描述。

接下来,创建一个表单,打开数据环境,添加刚刚创建的“MyPicSample”表。 将此表从数据环境拖到表单中,它将在表单上创建一个网格。调整它的大小,您只需要少量空间即可显示 PersonName 的一列。关闭数据环境。

向表单添加一个“图像”控件。它应该默认对象名称为“Image1”

双击您的网格以调出其代码 sn-p 窗口,然后双击“AfterRowColChange”事件...将以下内容粘贴到它上面..

LPARAMETERS nColIndex
Thisform.Image1.Picture = MyPicSample.ImgSource

保存并运行表单。当您向上/向下滚动网格时,您应该会看到图像更改为相应的 BMP/JPG 文件。

我认为这是您想要的概念,但不是显示数据表网格,而是通过扫描卡执行此操作,该卡获取记录,有图像,然后呈现该图像(现在在 General数据列类型)。

同样,不确定您是如何通过嵌入或链接获得图像的,但有了这个,我们可能会更接近您所需的最终结果。

【讨论】:

  • 是的!有没有其他方法可以将图像上传到表格?因为与 VB 不同,vfp 表中没有“IMAGE”数据类型。我的意思是在学生注册表格里有一个图片框和一个命令按钮,只是用来浏览要上传的图片。
  • @JennaNatsumi,我修改了审查答案,希望可以从您那里获得更多关于您的具体数据实例的说明。您可以随时编辑您的主要问题以提供更多详细信息,然后像这里一样,让我知道,我会回来查看。
【解决方案2】:

取决于您需要将图像上传到的位置。

如果您通过 FTP 上传,您应该可以在 Foxpro 中使用以下 sn-p。它正在使用 Internet 传输控制。

inet = CREATEOBJECT("inetctls.inet")
inet.Execute("ftp://ftp.microsoft.com", "CD DIRNAME") 
inet.Execute("ftp://ftp.microsoft.com", "PUT LOCALFILE REMOTEFILE") 

【讨论】:

  • 我认为您并不了解他们正在寻找的内容...他们的意图是将人们视为有效进入设施(图书馆)
猜你喜欢
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-22
  • 1970-01-01
  • 2022-01-23
相关资源
最近更新 更多