一个很菜的问题,调试程序遇到的知道朋友来看看!在线等。。。UP 有分 Could not convert variant of type(string) into Type(Boolean)我就是没能找到程序到底那出错了?有经验的朋友指点小弟一二。在线等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 类型转换错了不能把string变成boolean 你赋值错了,把String类型的变量赋给boolean类型的变量或者把String类型的变量作判断的条件了。 调试的程序发现定义的三个变量有问题,但是能编译运行,我也没注意。有点奇怪,我明明是把String 和 Boolean 区别开来啊判断的也正确。真是怪事 字面这样显示,你再看看吧,string型变量不能赋给Boolean弄变量,设断点跟踪一下 字面这样显示,你再看看吧,string型变量不能赋给Boolean型变量,设断点跟踪一下 字面这样显示,你再看看吧,string型变量不能赋给Boolean型变量,设断点跟踪一下 全部代码:unit Unit111;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, Grids, DBGrids, ExtCtrls, StdCtrls,JPEG, DBCtrls;type TXJK = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; ComboBox1: TComboBox; ComboBox2: TComboBox; ComboBox3: TComboBox; Panel1: TPanel; DBGrid1: TDBGrid; ADOQuery1: TADOQuery; DataSource1: TDataSource; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; ADOTable1: TADOTable; Image1: TImage; procedure Button4Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure DBGrid1DblClick(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } strEmptyPhoto : string; bRecordChanged : Boolean; //这两个变量有问题。 public { Public declarations } end;var XJK: TXJK;implementation Uses DataSet,Main,QuickPorts;{$R *.dfm}procedure TXJK.Button4Click(Sender: TObject);begin ADOTable1.Filtered := False; //刷新数据。end;procedure TXJK.Button1Click(Sender: TObject);begin Close;end;procedure TXJK.DBGrid1DblClick(Sender: TObject);var NewBmp : TBitMap; NewMem : Tstream; //Tempstream : TMemorystream; //tempjpeg :TJpegImage;begin if Not bRecordChanged and ADOQuery1.Active then With ADOQuery1 do begin if eof then exit; Edit1.Text := FieldByName('XM').AsString; Combobox1.Text := FieldByName('XB').AsString; Edit2.Text := FieldByName('SFZH').AsString; Combobox2.Text := FieldByName('CXCX').AsString; Edit3.Text := FieldByName('C_DH').AsString; Combobox3.Text := FieldByName('ZJ1').AsString; Edit4.Text := FieldByName('ZHDZ').AsString; {try tempstream := TMemorystream.Create(); TBlobField(adotable1.FieldByName('picture')).SaveToStream(tempstream); tempstream.Position := 0; tempjpeg := TJpegImage.Create; tempjpeg.LoadFromFile(tempstream); Image1.Picture.Bitmap.Assign(tempjpeg); finally tempjpeg.Free; tempstream.Free;} if Not(FieldValues['Photo']) and (Length(Trim(FieldValues['Photo']))>0) then begin NewBmp := TBitMap.Create; NewMem := CreateBlobStream(FieldByname('photo'),bmRead); NewBmp.LoadFromStream(NewMem); Image1.Picture.Assign(NewBmp); NewMem.Free; Image1.Free; end else Image1.Picture.LoadFromFile(strEmptyPhoto); end;end;procedure TXJK.Button3Click(Sender: TObject);var NewSQL : string; //这个会有异常。begin Try QuickRePort2 := TQuickRePort2.Create(Application); With QuickRePort2.ADOQuery1 do begin if Active then close; SQL.Clear; SQL.Add(NewSQL); Open; begin QuickReport2.PreviewModal; end; end; finally QuickRePort2.Free;end;end;end. 变量赋值问题,blooen 不能转为string webbrowser控件在调用中,如何屏蔽网页缺少对象的错误? 关于流动电子警察诚招合作伙伴 delphi关于图象编程中说到,如果 问一个关于DBGrid1的很简单的问题! 100求助!!!!!100分求助!!!!!! 请进!感谢 在DELPHI中使用ADO对象存取ODBC数据库(要详细资料)^.^ 调试问题. 在DELPHI中如何用API函数创建一个MDIchild窗口 未装delphi的机子,为何不能运行执行程序,打包过后的程序要运行,机子上是否还需安装delphi,该怎样打包呢? 关于代理服务器的问题 发现QQ一个惊人的大秘密!!!!
不能把string变成boolean
或者把String类型的变量作判断的条件了。
unit Unit111;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, ExtCtrls, StdCtrls,JPEG, DBCtrls;type
TXJK = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
Panel1: TPanel;
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
ADOTable1: TADOTable;
Image1: TImage;
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
strEmptyPhoto : string;
bRecordChanged : Boolean; //这两个变量有问题。 public
{ Public declarations } end;var
XJK: TXJK;implementation Uses DataSet,Main,QuickPorts;{$R *.dfm}procedure TXJK.Button4Click(Sender: TObject);
begin
ADOTable1.Filtered := False; //刷新数据。
end;procedure TXJK.Button1Click(Sender: TObject);
begin
Close;
end;procedure TXJK.DBGrid1DblClick(Sender: TObject);
var
NewBmp : TBitMap;
NewMem : Tstream;
//Tempstream : TMemorystream;
//tempjpeg :TJpegImage;
begin
if Not bRecordChanged and ADOQuery1.Active then
With ADOQuery1 do
begin
if eof then exit;
Edit1.Text := FieldByName('XM').AsString;
Combobox1.Text := FieldByName('XB').AsString;
Edit2.Text := FieldByName('SFZH').AsString;
Combobox2.Text := FieldByName('CXCX').AsString;
Edit3.Text := FieldByName('C_DH').AsString;
Combobox3.Text := FieldByName('ZJ1').AsString;
Edit4.Text := FieldByName('ZHDZ').AsString;
{try
tempstream := TMemorystream.Create();
TBlobField(adotable1.FieldByName('picture')).SaveToStream(tempstream);
tempstream.Position := 0;
tempjpeg := TJpegImage.Create;
tempjpeg.LoadFromFile(tempstream);
Image1.Picture.Bitmap.Assign(tempjpeg);
finally
tempjpeg.Free;
tempstream.Free;}
if Not(FieldValues['Photo']) and (Length(Trim(FieldValues['Photo']))>0) then
begin
NewBmp := TBitMap.Create;
NewMem := CreateBlobStream(FieldByname('photo'),bmRead);
NewBmp.LoadFromStream(NewMem);
Image1.Picture.Assign(NewBmp);
NewMem.Free;
Image1.Free;
end
else
Image1.Picture.LoadFromFile(strEmptyPhoto);
end;
end;procedure TXJK.Button3Click(Sender: TObject);
var
NewSQL : string; //这个会有异常。
begin
Try
QuickRePort2 := TQuickRePort2.Create(Application);
With QuickRePort2.ADOQuery1 do
begin
if Active then close;
SQL.Clear;
SQL.Add(NewSQL);
Open;
begin
QuickReport2.PreviewModal;
end;
end;
finally
QuickRePort2.Free;
end;
end;end.