abcjkl 发表于 2007-9-15 00:13

[求助]'确认要删除本条记录吗','确定',MB_YESNOC…… 此句后面省略掉了,接着

<P>看着视频教学里的内容学写程序,但到中间那块就写不下去了,因为此句过长,视频里容不下,后面的省略了,我也不知怎么写,是个菜鸟。请帮忙,谢谢。<br><br>这是一个可以添加、修改、删除、查询的通讯录程序:<br>全部程序如下<br><br>unit Unit1;</P>
<P>interface</P>
<P>uses<br>  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br>  Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DB, DBTables;</P>
<P>type<br>  TForm1 = class(TForm)<br>    DataSource1: TDataSource;<br>    Table1: TTable;<br>    DBGrid1: TDBGrid;<br>    Panel1: TPanel;<br>    Button1: TButton;<br>    Button2: TButton;<br>    Button3: TButton;<br>    Button4: TButton;<br>    procedure Button2Click(Sender: TObject);<br>    procedure Button3Click(Sender: TObject);<br>    procedure Button4Click(Sender: TObject);<br>    procedure FormCreate(Sender: TObject);<br>    procedure Button1Click(Sender: TObject);<br>  private<br>    { Private declarations }<br>  public<br>    { Public declarations }<br>  end;</P>
<P>var<br>  Form1: TForm1;</P>
<P>implementation</P>
<P>{$R *.dfm}</P>
<P>procedure TForm1.Button2Click(Sender: TObject);<br>begin<br>  try<br>   Table1.Edit;<br>  finally<br>   Table1.Post;<br>   Table1.Refresh;<br>   end;<br>end;</P>
<P>procedure TForm1.Button3Click(Sender: TObject);<br>begin<br>  if Table1.RecordCount&gt;0<br>  then if application.MessageBox('确认要删除本条记录吗','确定',MB_YESNOC………………这里应该是怎么继续写的?请高手们指教,谢谢先。<br>    then Table1.Delete;<br>end;</P>
<P>procedure TForm1.Button4Click(Sender: TObject);<br>begin<br>var<br>  mystring:string;<br>  YesorNo:boolean;</P>
<P>begin<br>   mystring:= '';<br>   YesOrNo :=InputQuery('','',mystring);<br>   if YesOrNo   then<br>   begin<br>     Table1.Filter:='Name='+''''mystring+'''';<br>     Table1.Filtered:=true;<br>    end<br>     else<br>     begin<br>      Table1.Filter:='';<br>      Table1.Filtered:=False;<br>end;</P>
<P>procedure TForm1.FormCreate(Sender: TObject);<br>begin<br>  Table1.Open;<br>end;</P>
<P>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br>  try<br>   Table1.Append;<br>  finally<br>   Table1.Post;<br>   Table1.Refresh;<br>end;</P>
<P>end.</P>
[align=right][color=#000066][此贴子已经被作者于2007-9-15 7:37:13编辑过][/color][/align]

eaglecn 发表于 2007-9-15 01:08

<P>直接写Y就确定删除,C就取消就可以了。</P>

abcjkl 发表于 2007-9-15 07:38

谢谢你的指导,不过不是原句不是这样的,希望与原句相符。继续等…………

abcjkl 发表于 2007-9-15 07:41

怎么具体写?是写成这样吗<BR>确认要删除本条记录吗','确定',MB_Y OR C)

sky_yang_sky 发表于 2007-9-15 10:11

then if application.MessageBox('确认要删除本条记录吗','确定',MB_YESNOCancel)=mb_yes<BR> 這應該是你的原句,因為沒完全顯示的部分是把你選取的那個選項的cancel沒顯示完

abcjkl 发表于 2007-9-15 10:54

<DIV class=quote><B>以下是引用<U>abcjkl</U>在2007-9-15 7:41:46的发言:</B><br>怎么具体写?是写成这样吗<br>确认要删除本条记录吗','确定',MB_Y OR C)</DIV>
<P>谢谢回复。但是,按你所说MB_YESNOCancel)=mb_yes保存运行后还是显示这里出错了,怎么办啊?</P>
[align=right][color=#000066][此贴子已经被作者于2007-9-15 10:55:12编辑过][/color][/align]

sky_yang_sky 发表于 2007-9-15 11:36

改為這個試試application.MessageBox('确认要删除本条记录吗','确定',MB_YESNOCancel)=idyes

abcjkl 发表于 2007-9-15 13:17

<P>这回好了,但后面又出现新的问题了。<BR>运行后,这里又提示出现问题了,不知错在哪,请再指教。<BR>procedure TForm1.FormCreate(Sender: TObject);<BR>begin<BR>  Table1.Open;<BR>end;</P>

<P>[em22][em22][em22]</P>

keyii 发表于 2007-9-17 08:29

没有仔细看,是不是这个。<BR><BR>  if MessageBox(Handle, PChar('确认保存 ' + strQU + '区' + strPAI + '排' + strMIAN + '面' +<BR>                              strJIE + '节 货架配置图吗?'), '确认保存', MB_YESNO) = IDYES then

sky_yang_sky 发表于 2007-9-17 11:27

<P>錯誤信息是什麼?</P>

abcjkl 发表于 2007-9-18 12:29

错误提示是:<BR>[Error]Unit1.pas[74]:Statement expected but 'PROCEDURE' found<BR>[Error]Unit1.pas[88]:"expected but" found<BR>[Error]Unit1.pas[90]:declaration expected but end of file found<BR>[Fatal Error]Project2.dpr[5]:Could not compile used unit 'Unit1.pas'<BR><BR>[em23][em22][em25]

theskystory 发表于 2007-9-19 11:11

要么你试试这个<BR>if messagedlg('真的要删除该记录吗?',mtconfirmation,[mbYes,mbNo],0)=mryes  then<BR>  begin<BR><BR>  end<BR>else<BR>  begin<BR><BR>  end;

sky_yang_sky 发表于 2007-9-19 14:15

<P>你這個錯誤不再是那個語句的問題了</P>

abcjkl 发表于 2007-9-19 19:52

谢谢两位的回复。我也觉得不再是那个老问题了,是新问题,出在别处,但不知是哪里,请有时间帮我再看看。

anthony634 发表于 2007-9-19 20:47

<P><BR>估计是以下问题,拼写的问题</P>
<P>Error]Unit1.pas[74]:Statement expected but 'PROCEDURE' found<BR>74行前面少了个(end;)<BR>[Error]Unit1.pas[88]:"expected but" found<BR>88行附近看看那里用了双引号的<BR>[Error]Unit1.pas[90]:declaration expected but end of file found<BR>单元末尾 的结束符号 (end.)上面了少了个 (end;)</P>

anthony634 发表于 2007-9-19 20:52

推荐两个辅助工具 cnsWizards codeRush(这个建议去掉它的代码自动完成功能,太烦)

yazi67 发表于 2007-9-20 10:55

<P>mb_ysenocanel</P>

danning813 发表于 2007-9-24 10:34

<P>直接在网上把那个源文件找出来吧</P>

页: [1]

编程论坛