Arsip: If..then pada events koq ga bisa?

 
user image
more 17 years ago

wiseguy1997

Para sahabat Dephi-id, sy ada masalah spt ini: Pada events OnChange di DirectoryListBox1 procedure TForm1.DirectoryListBox1OnChange(Sender: TObject); begin Label6.Caption:='DirectoryListBox berubah'; end; kemudian aq pengin buat prosedur OnClick pd Button1 spt: procedure TForm1.Buttton1OnClick(Sender: TObject); begin if DirectoryListBox1OnChange(DirectoryListBox1) then begin Label6.Caption:='DirectoryListBox tadi berubah lho...'; Form1.color:=clBlue; end else Label6.Caption:='DirectoryListBox tidak berubah sama sekali'; end; Tp knp ko keluar error: Type expression must be BOOLEAN. Mohon bantuannya. Atas tanggapannya terima kasih.
user image
more 17 years ago

DelphiExpert

DirectoryListBox1OnChange adalah sebuah procedure, bukan function!

procedure TForm1.DirectoryListBox1OnChange(Sender: TObject); 
begin 
  Label6.Caption:='DirectoryListBox berubah'; 
end;
ya jelas saja muncul error :mrgreen:
user image
more 17 years ago

mat_koder

di kode anda ada testing conditional sbb: " if DirectoryListBox1OnChange(DirectoryListBox1) then " sedangkan perintah : DirectoryListBox1OnChange(DirectoryListBox1) kan tidak menghasilkan return value ( itu adalah procedure bukan function ). sementara Delphi menghendaki if .. then adalah sbb: if <statement result =True> then .. bla-bla nah anda tau sekarang bukan kenapa error? apa ngga sebaiknya kode anda begini:

var
  DirectoryBerubah: Boolean;// global var yg menunjukkan directory berubah apa ngga
procedure TForm1.DirectoryListBox1OnChange(Sender: TObject);
begin
 DirectoryBerubah:=True;;
end;
procedure TForm1.Buttton1OnClick(Sender: TObject);
begin
if DirectoryBerubah = True  then
begin
  Label6.Caption:='DirectoryListBox tadi berubah lho...'; 
  Form1.color:=clBlue;
end
else
  Label6.Caption:='DirectoryListBox tidak berubah sama sekali';
end; 
DirectoryBerubah := False; // reset var ini lagi
user image
more 17 years ago

wiseguy1997

@mat_koder: di kode anda ada testing conditional sbb: " if DirectoryListBox1OnChange(DirectoryListBox1) then " sedangkan perintah : DirectoryListBox1OnChange(DirectoryListBox1) kan tidak menghasilkan return value ( itu adalah procedure bukan function ). sementara Delphi menghendaki if .. then adalah sbb: if <statement result =True> then .. bla-bla nah anda tau sekarang bukan kenapa error? apa ngga sebaiknya kode anda begini:

var
  DirectoryBerubah: Boolean;// global var yg menunjukkan directory berubah apa ngga
procedure TForm1.DirectoryListBox1OnChange(Sender: TObject);
begin
 DirectoryBerubah:=True;;
end;
procedure TForm1.Buttton1OnClick(Sender: TObject);
begin
if DirectoryBerubah = True  then
begin
  Label6.Caption:='DirectoryListBox tadi berubah lho...'; 
  Form1.color:=clBlue;
end
else
  Label6.Caption:='DirectoryListBox tidak berubah sama sekali';
end; 
DirectoryBerubah := False; // reset var ini lagi
Oh iya Mas mat_koder,.... Trima kasih,kenapa koq ga terpikir olehku koding spt diatas :mrgreen: Dah ta coba dan itu sukses. Makasih banyak. Semoga ini juga bermanfaat bagi yang lain
more ...
  • Pages:
  • 1
Share to

AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now: https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com