delphi问题及解答

delphi问题及解答

ID:12839346

大小:4.31 MB

页数:48页

时间:2018-07-19

上传者:jjuclb
delphi问题及解答_第1页
delphi问题及解答_第2页
delphi问题及解答_第3页
delphi问题及解答_第4页
delphi问题及解答_第5页
资源描述:

《delphi问题及解答》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

图一1.未选中的,搞成恢色选中的状态了dbgrideh,该如何设置呢Delphi2007:keylist设置:正确答案: 1 0;null; 1.把数据均分到两栏里面.答案:先把列标题按照两栏的格式设置好,然后对数据集设置成2栏,如下图然后再把对应列的数据来源设好,只设定一边就ok.3. 在cds里新加了一个”计算”型字段,点击该列时,提示cds没有这个字段,只要在feildkind属性设置为ftInternalCalc类型就ok了,一般数据库表有的字段,该属性的值是ftdata.4.网格新增记录后,统计数据刷新dbgrideh.SumList.Active:=False; dbgrideh.SumList.Active:=True;5.delphi/Oracle字符串反转Result:=System.StrUtils.ReverseString(Value);Selectreverse('DanMorgan')fromdual; 6TclientDataSet字段新旧值,即网格列对应字段修改前后值都有记载.old值为未修改之前的值:cds1.FieldByName('关联比例').NewValue,SUM(++));说明:Set是一个函数,他将一个值存入了一个变量中。 Set(var,value);其中变量var可以利用数据表中的某一个字段,Value是你的合计值。 在主项数据(MastData)的上面的某一个Band中放一个TextObject(例如:memTotal) 然后在该TextObject的OnBeforePrint事件中加入如下代码: 例如: ifEngine.FinalPassthenmemTotal.Text:=Format('%8.2f',[Get()]);说明:Engine是FastReport管理报表的对象,FinalPass表示最后一遍报表。 Get(var)将变量var的值返回。Format是一个格式化数字的函数。M 如何隐藏某些主项数据记录通常当某个数值为零时,我们不希望这条记录被打印或者显示。 步骤如下: 1、选择主项数据MastData1的OnBeforePrint时间。  2、在OnBeforePrint事件中填写代码 if=0thenMastData1.Visible:=FalseelseMastData1.Visible:=True;其中=0是条件,你可以定义为自己的条件。调用window”打开方式”ShellExecute(GetDesktopWindow,'open','rundll32.exe',PChar('shell32.dll,OpenAs_RunDLL'+'c:haha.www'),nil,SW_SHOWNORMAL); 此时frxDBDataSet1的rowcount设为1DBGRIDEH的列保存起来调用出来获得当前鼠标所在列的ID 在fastreport里面,如果写有对strtofloat的转换时,要先用trim取空和回车,否则会报错:在主form1上添加两个button,一个IdSMTP1,一个IdMessage1。然后,1,先连接服务器代码:procedureTMainForm.Button1Click(Sender:TObject);beginIdSMTP1.Username:='XXXX';//服务器上的用户名IdSMTP1.Password:='XXXX';//服务器上的密码IdSMTP1.Host:='XXX.XXX.com';//服务器SMTP地址:例如163:smtp.163.com;qq:smtp.qq.comIdSMTP1.Port:=25;//服务器端口IdSMTP1.Connect;//建立连接end;2,发送邮件代码:procedureTMainForm.Button2Click(Sender:TObject);beginIdMessage1.Body.Add('呵呵,感谢Edw@rd吧');//邮件正文件内容IdMessage1.From.address:='XXX@XXX.com';//发件人地址IdMessage1.Recipients.EMailAddresses:='XXX@XXX.com';//收件人地址,这里改为你的EMAIL地址IdMessage1.Subject:='发送邮件就这么简单'; //邮件标题IdMessage1.Priority:=mphigh;//优先级,mphigh为最高级。IdSMTP1.Send(IdMessage1);//发送邮件end;Delphi2007OrD7procedureTForm1.EnumFileInRecursion(Amemo:TMemo;path:PChar);varsearchRec:TSearchRec;found:Integer;tmpStr:String;begintmpStr:=StrPas(path)+'*.fr3';found:=FindFirst(tmpStr,faAnyFile,searchRec);whilefound=0dobeginif(searchRec.AttrandfaDirectory)<>0thenbeginif(searchRec.Name<>'.')and(searchRec.Name<>'..')thenbegintmpStr:=StrPas(path)+''+searchRec.Name;EnumFileInRecursion(AMemo,PChar(tmpStr));end;endelsebeginAMemo.Lines.Add(searchRec.Name);end;found:=FindNext(searchRec);end;FindClose(searchRec);end; ------------------------------------------------------------------------------------------------Delphi2010functionTForm1.CheckDirFiles(sFile:string;nMax:Integer):Boolean;varfiles:TStringDynArray;str:string;nfiles:Integer;beginResult:=True;ifCheckBox3.Checkedthen//包括嵌套文件夹files:=TDirectory.GetFiles(sFile,'*.*',TSearchOption.soAllDirectories)elsefiles:=TDirectory.GetFiles(sFile,'*.*');nfiles:=0;Memo1.Lines.Add('扫描文件夹:'+sFile);Memo1.Lines.Add('扫描时间:'+datetimetostr(now));Memo1.Lines.Add('最大文件数:'+inttostr(nMax));forstrinfilesdobegininc(nfiles);end;files:=nil;Memo1.Lines.Add('扫描文件数:'+inttostr(nfiles));Memo1.Lines.Add('------------------------------------');Result:=nMax>=nfiles;end;ini:=TINIfile.create('F:wbb我的测试工程iniwbb.ini');//小节和关键字唯一确定一个值Section:='AAA';Key:='AString';ini.WriteString(Section,Key,'AAA-String');s:=ini.ReadString('BBB','BString','');{最后一个参数是默认值}List:=TStringList.Create;ini.ReadSections(List); List:=TStringList.Create;ini.ReadSection('AAA',List);List:=TStringList.Create;ini.ReadSectionValues('BBB',List);ini.DeleteKey('BBB','BString');{删除关键字}ini.EraseSection('CCC');{删除小节}ini.UpdateFile;{保存到文件}b:=ini.SectionExists('DDD');{判断某个小节是否存在}b:=ini.ValueExists('AAA','AString');{判断某个关键字的值是否存在}s:=ini.FileName;{获取文件名}functionTForm1.GetPinYinForChinese(strChinese:string):string;variStrLen:integer;i:byte;hz,py:string;functionGetPYIndexChar(hzchar:string):char;begincaseWORD(hzchar[1])shl8+WORD(hzchar[2])of$B0A1..$B0C4:result:='A';$B0C5..$B2C0:result:='B';$B2C1..$B4ED:result:='C';$B4EE..$B6E9:result:='D';$B6EA..$B7A1:result:='E';$B7A2..$B8C0:result:='F';$B8C1..$B9FD:result:='G';$B9FE..$BBF6:result:='H';$BBF7..$BFA5:result:='J';$BFA6..$C0AB:result:='K';$C0AC..$C2E7:result:='L';$C2E8..$C4C2:result:='M';$C4C3..$C5B5:result:='N';$C5B6..$C5BD:result:='O';$C5BE..$C6D9:result:='P';$C6DA..$C8BA:result:='Q';$C8BB..$C8F5:result:='R';$C8F6..$CBF9:result:='S'; $CBFA..$CDD9:result:='T';$CDDA..$CEF3:result:='W';$CEF4..$D188:result:='X';$D1B9..$D4D0:result:='Y';$D4D1..$D7F9:result:='Z';else//result:=char(0);result:='';end;end;beginiStrLen:=Length(strChinese);i:=1;hz:='';py:='';whilei<=iStrLendobeginiford(strChinese[i])>=128thenhz:=hz+strChinese[i]elsehz:='';ifLength(hz)=2thenbeginpy:=py+GetPYIndexChar(hz);hz:='';end;inc(i);end;result:=py;end;取得控件的载体: Frac(x):返回x的小数位 设置窗体位置:Top:=Screen.WorkAreaHeight-Height;Left:=Screen.WorkAreaWidth-Width;弹出Form2消息提示函数:淡入:AnimateWindow(Form2.Handle,1000,AW_BLEND);淡出:AnimateWindow(Form2.Handle,1000,AW_HIDEorAW_BLEND); Loop游标循环最后一条记录会重复打印(特别注意): 所以,用For循环更保险 游标变量:REFCURSOR 触发器(行触发器和语句触发器的执行顺序):INSTEADOF Fast报表列重复值不显示 Wwdbgrid设置鼠标所在行的颜色 1.没有此DLL;2.估计此DLL中调用了别的DLL2,没有找到DLL2;3.装控件时没有把原来的包uninstall,导致版本不对。会出现如下错误提示 如果父类有fast报表,需要被继承时,把该属性设置为false,否则打开子类窗体时会报错。具体到NVARCHAR2和VARCHAR2的区别,从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集时以长度10为例,则 1、NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。2、而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个。ifini.ReadString('systemconfig','logo_companyname','')<>''thenResult:='3.0';这样是3.0如果打开中间层参数失败,则是e3ui_about.DLL有问题,找一个能打开的替换下就行。 繁体版本报表处理方式,增加自定义函数,在报表标签和code里可使用多语言系统:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭