在General Data Column中显示visual foxpro 6中的图片

时间:2014-03-12 17:53:54

标签: visual-foxpro

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

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

我的项目是图书馆系统,包括图书管理员和学生的时间和时间。并且需要在注册时上传学生的图片。

示例:

如果学生进入图书馆,他/她需要刷他/她的身份证登录或上班时间,他/她的信息将显示在管理员的计算机上。他/她离开图书馆时的过程相同。 。 。他/她需要刷他/她的身份证然后退出/退出。

2 个答案:

答案 0 :(得分:1)

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

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

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

- 每条评论更新

Jenna,我不知道原始记录是如何添加到你的表中的,听起来好像你被交给了这个项目。 VFP中的列类型是" General"领域。有点像也可以保存二进制数据的备注字段,通用数据类型更多的是对象链接和嵌入(OLE)内容。看起来当用户存储值时,他们通过类似

的内容添加为链接或嵌入内容

APPEND GENERAL来自SomePath \ SomeFileName.bmp

的YourPictureColumn

检查VFP 6下的语法" APPEND GENERAL"。您还可以通过包含实际图像来说明如何通过链接到实际文件与EMBEDDING,如果原始源被删除,您仍然可以在文件中。

至于#34;相框"你看到当你双击这一列时,这是因为VFP不知道如何正确解释图像,例如" MS.Paint"类对象,或"图片"或其他。我从来没有真正喜欢做一般字段,而是会有一个备注字段,只有我保留的图像的完整路径/文件名的名称,并有一个单独的文件夹,只是粘贴所有图像文件。然后,当我需要显示特定图像时,我会将VFP表单上图像对象的属性更改为该位置。

现在,如果这是您可能想要使用的路线,我不完全确定要提取这些图像文件,但可以更多地查看。

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

在文件夹中复制几张图片进行采样。 创建一个包含2列的简单表格... CREATE TABLE MyPicSample;     (PersonName c(10),;       ImgSource m)

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

的示例说明

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

添加"图像"控制形式。它应该将对象名称默认为" Image1"

双击您的网格以显示其代码段窗口,然后双击" AfterRowColChange" event ...将以下内容粘贴到它上面..

LPARAMETERS nColIndex
Thisform.Image1.Picture = MyPicSample.ImgSource

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

我认为这是你想要的概念,但是不是显示数据表网格,而是从扫描的卡中获取记录,有图像然后呈现该图像(现在在一般数据列类型)。

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

答案 1 :(得分:0)

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

如果您通过FTP上传,则应该可以在Foxpro中使用以下代码段。它正在使用互联网传输控制。

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