VB程序员博客
text1.text="美女就是好啊"
text2.text="大家好"
text3.text="中国好"
将三个textbox 输到报表,,然后预览
给代码.
只能说,很简单。
报表是要确定位置的,你如果要放在除Detil外的地方,直接放上控件赋值就可以了~~
三个等号就不用代码了吧~~
<
<
检查数据库是否连接上
不想连接数据库,行不行?????????
<
<
10楼vbman2003你是对的,
再请问一下.怎么将MSHFlexGrid的内容输到DataReport
我写的正确代码和12楼一样
请问怎么将MSHFlexGrid的内容输到DataReport
顺便问问 VB LISTVIEW 读出每列到数据后能 直接预览、打印吗 不要连接什么数据库
<
具体代码
要带表格的..有吗....
如何把MSHFlexGrid的内容添加到rst???
<
<
帮忙写个代码
这两天搞到头都大了。
帮楼主顶上。
MSHFlexGrid的内容传给一个数据集rs,DataReport的数据源为rs即可
上楼给个简单代码,,。第一次搞报表。。
upupup
section1添加与mshflexgrid列一样多的
textbox(非绑定)
rst与报表数据源绑定
字段与textbox绑定
代码.
200分是你的.两张贴.
前提,不用连接数据库
<
text1.text="美女就是好啊"
text2.text="大家好"
text3.text="中国好"
将三个textbox 输到报表,,然后预览
给代码.
只能说,很简单。
报表是要确定位置的,你如果要放在除Detil外的地方,直接放上控件赋值就可以了~~
三个等号就不用代码了吧~~
<
<
检查数据库是否连接上
不想连接数据库,行不行?????????
<
<
10楼vbman2003你是对的,
再请问一下.怎么将MSHFlexGrid的内容输到DataReport
我写的正确代码和12楼一样
请问怎么将MSHFlexGrid的内容输到DataReport
顺便问问 VB LISTVIEW 读出每列到数据后能 直接预览、打印吗 不要连接什么数据库
<
具体代码
要带表格的..有吗....
如何把MSHFlexGrid的内容添加到rst???
<
<
04 6th, 2010
我现在要做的一个任务就是通过一个程序抓取网页中固定的值,但是现在遇到一个问题,比如,在同一个网页中碰到两个li,而我想要抓取第二个li列表中的内容,请问各位大侠,我该怎么写???
使用dom树。
或者都找到,丢弃第一个。
或者正则表达式。
so easy的问题,so many的方法。
getElementsByTagname("li")(1).innerhtml
12 9th, 2009
为了问题简单化,简单举例如下:
1、我用vb6写了一个简单的浏览器,里面用到了webbrowser,浏览网页时,禁止复制和粘贴功能。
2、我能不能用vb6再写一个程序来破解前面的程序中webbrowser的禁止复制和粘贴的功能。或者是直接将第一个程序中的webbrowser中的内容复制下来。
我只是想知道,除了IE浏览器,其他人写的第三方浏览器(vb、vc)能不能破解其页面锁定的功能?????
大侠们给提供点思路啊。
帮顶一下
可以啊,给个思路你把,首先他一定是通过某个涵数等来阻止复制和粘贴,只要你把那涵数找到,然后将其去掉,就可以复制粘贴了,我试过,但在webbrowser中,你是需要先进入那网页,然后修改其代码进行判断才可以.
地址欄javascript:協議可以獲得源代碼
<
给你个思路,不过有个前提,就是至少知道目标WEB页所在进程内的一个有效句柄:
一,利用句柄得到目标的最上层窗口的句柄;
二,查找Shell Embedding窗口–>Shell DocObject View窗口—>最终找到Internet Explorer_Server窗口的句柄;
三,发送WM_HTML_GETOBJECT消息取得一个已编排的IHTMLDocument2接口指针
四,再使用ObjectFromLresult就能通过这个接口指针得到一个HTMLDocument对象.
得到HTMLDocument对象后,想干嘛都行了………..睡.
网上很多的网页星号查看器就是这个原理.
<
<
不能用内容区分…你怎么知道你要取哪个~~~
CSDN 有现成的源程 供参考
百度 CVBWebBrowserHunter
<
可以的.WIN程序是一种消息机制的程序.结合钩子和消息就可以突破你程序的限制
11 24th, 2009
VB下如何将dbgrid的单元格内容垂直居中?下面的代码是 Delphi 的,请各位高手帮帮转成VB,先谢了!
出自
http://topic.csdn.net/t/20061217/09/5236146.html
//自动折行, 自动调整行高, 对齐方式为垂直居中
procedure TMainForm.DBGridDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
ARect: TRect;
HCell: Integer;
RecNo: Integer;
SCell: string;
begin
if DBGrid.DataSource.DataSet.RecordCount > 0 then
begin
RecNo := DBGrid.DataSource.DataSet.RecNo;
//注意,我这里只是示范,实际应用要加上转换异常处理
SCell := Column.Field.AsString;
Arect := Rect;
Column.Title.Alignment := taCenter;
with DBGrid, DBGrid.Canvas do
begin
HCell := DrawText(Handle, PChar(SCell), Length(SCell), ARect, DT_CENTER or DT_VCENTER or DT_WORDBREAK);
FillRect(ARect);
if HCell >= RowHeights[RecNo] then
begin
RowHeights[RecNo] := HCell;
DrawText(Handle, PChar(SCell), Length(SCell), ARect, DT_CENTER or DT_VCENTER or DT_WORDBREAK)
end else
DrawText(Handle, PChar(SCell), Length(SCell), ARect, DT_CENTER or DT_VCENTER or DT_SINGLELINE);
end;
end;
end;
//你可以在此基础上,再变化出你自己想要的单元格效果
//可以根据不同的数据类型设置不同的对齐方式,如数字右对齐
//请看下面绘制文本格式常量, 每个常量的效果你可以自己多测试。
const
{ DrawText() Format Flags }
{$EXTERNALSYM DT_TOP}
DT_TOP = 0;
{$EXTERNALSYM DT_LEFT}
DT_LEFT = 0;
{$EXTERNALSYM DT_CENTER}
DT_CENTER = 1;
{$EXTERNALSYM DT_RIGHT}
DT_RIGHT = 2;
{$EXTERNALSYM DT_VCENTER}
DT_VCENTER = 4;
{$EXTERNALSYM DT_BOTTOM}
DT_BOTTOM = 8;
{$EXTERNALSYM DT_WORDBREAK}
DT_WORDBREAK = $10;
{$EXTERNALSYM DT_SINGLELINE}
DT_SINGLELINE = $20;
{$EXTERNALSYM DT_EXPANDTABS}
DT_EXPANDTABS = $40;
{$EXTERNALSYM DT_TABSTOP}
DT_TABSTOP = $80;
{$EXTERNALSYM DT_NOCLIP}
DT_NOCLIP = $100;
{$EXTERNALSYM DT_EXTERNALLEADING}
DT_EXTERNALLEADING = $200;
{$EXTERNALSYM DT_CALCRECT}
DT_CALCRECT = $400;
{$EXTERNALSYM DT_NOPREFIX}
DT_NOPREFIX = $800;
{$EXTERNALSYM DT_INTERNAL}
DT_INTERNAL = $1000;
{$EXTERNALSYM DT_HIDEPREFIX}
DT_HIDEPREFIX = $00100000;
{$EXTERNALSYM DT_PREFIXONLY}
DT_PREFIXONLY = $00200000;
{$EXTERNALSYM DT_EDITCONTROL}
DT_EDITCONTROL = $2000;
{$EXTERNALSYM DT_PATH_ELLIPSIS}
DT_PATH_ELLIPSIS = $4000;
{$EXTERNALSYM DT_END_ELLIPSIS}
DT_END_ELLIPSIS = $8000;
{$EXTERNALSYM DT_MODIFYSTRING}
DT_MODIFYSTRING = $10000;
{$EXTERNALSYM DT_RTLREADING}
DT_RTLREADING = $20000;
{$EXTERNALSYM DT_WORD_ELLIPSIS}
DT_WORD_ELLIPSIS = $40000;
dbgrid 和 Delphi都没用过。
一般的grid多有 column的alignment的吧。
dbgrid是vb5的控件吧,本身没有这个功能,等我出差回来研究一下.
估计得用api,不知道能否解决,实在不行自己做个如何
好的,先谢了!!!!!
好像是 colalignment= 一个值 1到7的
试试layout。alignment=2
MSFlexGrid
11 24th, 2009
VB下如何将dbgrid的单元格内容垂直居中?下面的代码是 Delphi 的,请各位高手帮帮转成VB,先谢了!
出自
http://topic.csdn.net/t/20061217/09/5236146.html
//自动折行, 自动调整行高, 对齐方式为垂直居中
procedure TMainForm.DBGridDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
ARect: TRect;
HCell: Integer;
RecNo: Integer;
SCell: string;
begin
if DBGrid.DataSource.DataSet.RecordCount > 0 then
begin
RecNo := DBGrid.DataSource.DataSet.RecNo;
//注意,我这里只是示范,实际应用要加上转换异常处理
SCell := Column.Field.AsString;
Arect := Rect;
Column.Title.Alignment := taCenter;
with DBGrid, DBGrid.Canvas do
begin
HCell := DrawText(Handle, PChar(SCell), Length(SCell), ARect, DT_CENTER or DT_VCENTER or DT_WORDBREAK);
FillRect(ARect);
if HCell >= RowHeights[RecNo] then
begin
RowHeights[RecNo] := HCell;
DrawText(Handle, PChar(SCell), Length(SCell), ARect, DT_CENTER or DT_VCENTER or DT_WORDBREAK)
end else
DrawText(Handle, PChar(SCell), Length(SCell), ARect, DT_CENTER or DT_VCENTER or DT_SINGLELINE);
end;
end;
end;
//你可以在此基础上,再变化出你自己想要的单元格效果
//可以根据不同的数据类型设置不同的对齐方式,如数字右对齐
//请看下面绘制文本格式常量, 每个常量的效果你可以自己多测试。
const
{ DrawText() Format Flags }
{$EXTERNALSYM DT_TOP}
DT_TOP = 0;
{$EXTERNALSYM DT_LEFT}
DT_LEFT = 0;
{$EXTERNALSYM DT_CENTER}
DT_CENTER = 1;
{$EXTERNALSYM DT_RIGHT}
DT_RIGHT = 2;
{$EXTERNALSYM DT_VCENTER}
DT_VCENTER = 4;
{$EXTERNALSYM DT_BOTTOM}
DT_BOTTOM = 8;
{$EXTERNALSYM DT_WORDBREAK}
DT_WORDBREAK = $10;
{$EXTERNALSYM DT_SINGLELINE}
DT_SINGLELINE = $20;
{$EXTERNALSYM DT_EXPANDTABS}
DT_EXPANDTABS = $40;
{$EXTERNALSYM DT_TABSTOP}
DT_TABSTOP = $80;
{$EXTERNALSYM DT_NOCLIP}
DT_NOCLIP = $100;
{$EXTERNALSYM DT_EXTERNALLEADING}
DT_EXTERNALLEADING = $200;
{$EXTERNALSYM DT_CALCRECT}
DT_CALCRECT = $400;
{$EXTERNALSYM DT_NOPREFIX}
DT_NOPREFIX = $800;
{$EXTERNALSYM DT_INTERNAL}
DT_INTERNAL = $1000;
{$EXTERNALSYM DT_HIDEPREFIX}
DT_HIDEPREFIX = $00100000;
{$EXTERNALSYM DT_PREFIXONLY}
DT_PREFIXONLY = $00200000;
{$EXTERNALSYM DT_EDITCONTROL}
DT_EDITCONTROL = $2000;
{$EXTERNALSYM DT_PATH_ELLIPSIS}
DT_PATH_ELLIPSIS = $4000;
{$EXTERNALSYM DT_END_ELLIPSIS}
DT_END_ELLIPSIS = $8000;
{$EXTERNALSYM DT_MODIFYSTRING}
DT_MODIFYSTRING = $10000;
{$EXTERNALSYM DT_RTLREADING}
DT_RTLREADING = $20000;
{$EXTERNALSYM DT_WORD_ELLIPSIS}
DT_WORD_ELLIPSIS = $40000;
dbgrid 和 Delphi都没用过。
一般的grid多有 column的alignment的吧。
dbgrid是vb5的控件吧,本身没有这个功能,等我出差回来研究一下.
估计得用api,不知道能否解决,实在不行自己做个如何
好的,先谢了!!!!!
好像是 colalignment= 一个值 1到7的
试试layout。alignment=2
MSFlexGrid
05 23rd, 2009
open "z:1.txt" for input as #1
do while not eof(1)
line input #1,temp
list1.additem temp
loop
close #1
上面这段代码是可以的。但是如果我我的txt文档是一个网络文档,比如http://www.url.com/1.txt。这样的话应该怎么实现listbox按照行来读入1.txt里面的内容呢?
把"z:1.txt"换成"http://www.url.com/1.txt"试试
03 23rd, 2009
小弟想把自己的帐号和密码存到记事本里,然后让vb读取记事本的内容,然后自动填写到网页上。
各位大哥,我需要怎么做?可以帮忙给个实例代码吗?谢谢了!
自动登陆网站呗。
因为没想到别的方法才想到用读取记事本的。
另外,我要登陆的那个网站有验证码,那个好像不好解决,所以能自动帮我填好帐号和密码就可以了。验证码我自己填。
去我博客看看,有关于简单自动登陆的代码
wbr.Navigate ??
是什么控件?
学完序列化和反序列化了么?利用序列化,反序列化和文件流读写就可以了
太专业了,我就一业余。。。。
各位大哥能帮帮我吗?
MicroSoft internet controls 6
把这个部件添加进程序,然后会多出一个webbrowser控件,wbr是我改的名字。
哦。。。。
那我想随时改帐号怎么整啊。。。总不能每换一次就改一次工程吧。
晕死~~~,
你加两个文本框不就行了,一个输入名字,一个密码,
如果你不知道怎么从文件中载入数据,那就多看看vb练习册吧
要不,你把网址告诉我,我帮你写个例子
http://warlord.duowan.com/f1.html
就是这个网址了
能一键填好帐号密码就可以。。。验证码可以先不管。。。
麻烦你了,谢谢你了,呵呵~
Private Sub Form_Load()
wbr.Navigate "http://warlord.duowan.com/f1.html" 'wbr为在‘工程’—‘部件’中添加microsoft internet control,然后拖一个webbrowser至窗体,改名wbr
End Sub
Private Sub wbr_DocumentComplete(ByVal pDisp As Object, URL As Variant) '你可以运行,观看效果,是不是自动把你设置的值给填进去了
Dim obj
If Not (pDisp Is wbr.Object) Then
Exit Sub
End If
For Each obj In wbr.Document.All
If TypeName(obj) = "HTMLInputElement" Then
If obj.Name = "username" Then
obj.Value = "myname"
End If
If obj.Name = "passwd" Then
obj.Value = "123456"
Exit For
End If
End If
Next
End Sub '例子较简单,你可以自己深入一点,这个验证码是单色的,而且没有干扰线,应该比较好做
学习
虽然现在还没学到这
谢谢你~
接下来的问题就是:
我怎么才能让这个程序自动我填写在记事本里的帐号和密码~
关于那个验证码。。我也看了一些文章。。。
但是由于我真的太嫩了~很多东西都看不懂~有望多多指教~
我怎么才能让这个程序自动找 我填写在记事本里的 帐号和密码~
用记录文件 random
type user
username as string*20
pwd as string*20
end type
读写文件的代码我就不写了,用数据库也可以,复杂一点
很是感激~
我不懂什么是random
是一个控件吗?
你手头有vb参考书吗?看看文件那一章,或者搜索msdn也可以
我刚才翻了一下。。。
我的书上没有哪方面的内容。。。5555
我的书不好~~~哎《VB应用程序设计》
还请你帮忙了~~~
http://www.chinaitlab.com 去那里 点电子书下载,下几本去看
03 23rd, 2009
小弟求一源码,我买的书上没有这个内容。。。所以请大家帮忙~
我有一个记事本
我想让VB一键获取记事本里的第一行内容,然后显示在text1中;并将其第二行内容,显示在text2中。
我的记事本路径为“C:XXXX.txt”
看不懂啊,有command控件吗
我是新手啊
正如1楼所说
定义两个全局变量
然后在窗体载入(form_load)事件中把C:xxxx.txt的内容读到aa变量中保存起来.
然后在Command_click事件中用split()函数把aa以换行符分离开来存放到s数组里
然后
再在两个textbox里面显示出来就OK了
rivate Sub Form_Load()
Open "c:XXXX.txt" For Input As #1
Line Input #1, aa
Text1 = aa
Line Input #1, aa
Text2 = aa
Close #1
End Sub
以上语句能实现LZ的要求,但是我也是搜索来的,具体意思有点不明白。
而且这只能按顺序提取数据,不能指定行数;
望高手能指点明白,满足我们这些初学者的要求。
万分感谢~
readline
UP 1楼整解
如需要阅读该回复,请