Arsip: Konsultasi Kode : Mohawk

 
user image
more 17 years ago

cyber_hecker

source code kamu udah ku download, dan ku pelajari bentar , jadi kalo ada yang kurang harap maklum. request : 1. terdapat masalah pada form input data, yaitu data gak bisa melakukan perhitangan pada material yang gak punya berat yang dilakukan penginputannya secara manual. 2. proses input data tidak berhasil pada form material requirement planning. pemecahan : 1. unit : UInputMohawk form : FormInput
procedure TFormInput.BitBtn1Click(Sender: TObject);
var berat, C : double;
    B  : string;
begin
  if length(EPnjg.Text)<>0 then
    pnjg:=StrToFloat(trim(EPnjg.Text)) else pnjg := 0;;
  if length(ELbr1.Text)<>0 then
    lbr1:=StrToFloat(trim(ELbr1.Text)) else lbr1 := 0;
  if length(ELbr2.Text)<>0 then
    lbr2:=StrToFloat(trim(ELbr2.Text)) else lbr2 := 0;
  ...
pada bagian ini elsenya jangan perintah exit, tetapi gunakan perintah untuk menset nilai menjadi 0. karena jika exit, perintah dibawahnya gak bakal dikerjakan, karena kadang-kadang ELbr2 bersifat visible = False, dan nilai datanya belum diset sama sekali.
  ...
  if RadioButton1.Checked then begin
    luas1:=((lbr1+lbr2)/2)pnjg;
    if (luas1<=L2) then begin
  // jangan gunakan perintah execSQL, tetapi gunakan perintah open
  // karena kita ingin mengambil datanya bukan mengerjakan query berupa
  // perintah
        with QuSem do begin
            Prepare;
            Params[0].AsString:=DBECodMat.Text;
            Open;
        end;
        C:=QuSem['beratt'];
        berat:=(luas1/L2) C;
        Str(berat:12:6,B);
        EInpBrt.Text:=B;
        QuSem.Close;
    end
  else exit;
end;
if RadioButton2.Checked then
begin
    luas:=pnjglbr1;
    if (luas<=L2) then
    begin
  // disini juga begitu, jangan gunakan execSQL, tetapi open untuk
  // mengambil datanya
        with QuSem do
        begin
            Prepare;
            Params[0].AsString:=DBECodMat.Text;
            Open;
            C:=QuSem['beratt'];
            berat:=(luas/L2) C;
            Str(berat:12:6,B);
            EInpBrt.Text:=B;
            Close;
        end;
    end
    else exit
end;
jangan gunakan perintah execSQL, karena kita ingin mengambil datanya. tapi gunakan perintah Open; saran : bila ESubOrd merupakan inputan yang wajib diisi ubah perintah onExit menjadi :
procedure TFormInput.ESubOrdExit(Sender: TObject);
begin
  ...
  if length(ESubOrd.Text)=0 then
  begin
   ShowMessage('Masukkan nomer SubOrder');
   ESubOrd.SetFocus;
   Exit;
  end;
  ...
end;
2. unit : unitMRP form : FormMRP
procedure TFormMRP.BitBtnSimpanClick(Sender: TObject);
begin
  with QuInpMrp do begin
   ...   
   Prepare;
   execsql;
  end;
  clear;
end;
SQL statement pada QuInpMrp adalah :
INSERT INTO tbMRP(Order, Material, Utk, Spesifikasi, Jumlah, Berat)
VALUES(:ord, :matr, :ut, :spek, :jml, :brt)
harusnya :
INSERT INTO tbMRP([Order], Material, Utk, Spesifikasi, Jumlah,Berat)
VALUES(:ord, :matr, :ut, :spek, :jml, :brt)
karena nama order adalah reserved word pada SQL statement, jadi harus diberi tanda kurung siku () saran : setelah proses penambahan dilakukan, lakukan perintah requery pada QuMRP, agar hasil penambahan langsung keliatan berubahnya
procedure TFormMRP.BitBtnSimpanClick(Sender: TObject);
begin
  ....
  end;
  clear;
  QuMRP.Close;
  QuMRP.Open;
  ....
end;
lain-lain unit : uActCod.pas form : FormCodAct
procedure TFormCodAct.EKodeAktifitasKeyPress(Sender: TObject;
  var Key: Char);
begin
  ...
    SQl.Clear;
    if length(EKodeAktifitas.Text)<>0 then
     QuCodAct.SQL.Add('SELECT  FROM tbCodAct WHERE SubOrder='
     +quotedstr(EKodeAktifitas.Text)+'');
    Prepare;
  ...
end;
query salah !. pada Query tertulis 'tbActCod' harusnya 'tbCodAct' saran pada kode pengesetan nilai query diberi tambahan sebagai berikut :
    if length(EKodeAktifitas.Text)<>0 then
     QuCodAct.SQL.Add('SELECT   FROM tbCodAct WHERE SubOrder='
     +quotedstr(EKodeAktifitas.Text)+'') else
     QuCodAct.SQL.Add('SELECT  FROM tbCodAct');
jadi, pada saat user tidak mengisikan nilai apapun, data pada grid di kembalikan kepada nilai awal, karena jika tidak akan terjadi kesalahan bahwa nilai belum querynya belum diset unit : UnitPlat.pas form : FormSteel
procedure TFormSteel.EKodeMaterialPlatKeyPress(Sender: TObject;
  var Key: Char);
begin
  ...
    if length(EKodeMaterialPlat.Text)<>0 then
     QuMatr.SQL.Add('SELECT   FROM tbMate WHERE kode_matrl='
     +QuotedStr(EKodeMaterialPlat.Text)+'');
    Prepare;
  ...
end;
saran pada kode pengesetan nilai query diberi tambahan sebagai berikut :
    if length(EKodeMaterialPlat.Text) <> 0 then
     QuMatr.SQL.Add('SELECT  FROM tbMate WHERE kode_matrl='
     +QuotedStr(EKodeMaterialPlat.Text)+'') else
     QuMatr.SQL.Add('SELECT   FROM tbMate');
jadi, pada saat user tidak mengisikan nilai apapun, data pada grid di kembalikan kepada nilai awal, karena jika tidak akan terjadi kesalahan bahwa nilai belum querynya belum diset warning : coba check antara tabel tbMate dan tbSem. untuk field kode materialnya terdapat perbedaan tipe. ubah tipe kode material menjadi text
user image
more 17 years ago

saysansay

Emang donload sourcenya diman tuh...akukan pengen juga bisa ngeliat tuh source..kok nga dikasih tau sech.....buset da....Plits...
user image
more 17 years ago

nurez

yup yup yup sama :p mo liat2 jgg
if length(EKodeMaterialPlat.Text) <> 0 then QuMatr.SQL.Add('SELECT FROM tbMate WHERE kode_matrl=' +QuotedStr(EKodeMaterialPlat.Text)+'') else QuMatr.SQL.Add('SELECT FROM tbMate');
kalo pake .SQL.Add diganti dgn .SQL.APPend itu hasilnya samaa apa nggaa siY ..? thxx
user image
more 17 years ago

kaka-delphi

Ikutan dong :mrgreen:
user image
more 17 years ago

fafenail

Oh aku juga sudah download cuma belum sempat perbaiki semua, sorry lagi dikejar deadline. Tapi Aku ada saran untuk unit UInputMohawk.pas aku ubah pada procedure

procedure TFormInput.RBPlatClick(Sender: TObject);
var
  sParam:String[1];
begin
 //DBLookupComboBox1.Text:='';//QuSteel['Description'];
 //DBLookupComboBox1.Visible:=true;
 EBrtTot.Visible:=true;
 DBEBrt.Visible:=true;
 BERAT.Visible:=true;
 BERATTOTAL.Visible:=true;
 EInpBrt.Visible:=false;
 QuMate.Close;
 QuMate.SQL.Clear;
 if (sender is TRadioButton) then
     sParam:=IntToStr((sender as TRadioButton).Tag);
 QuMate.SQL.Add('SELECT * FROM tbMate WHERE Mid(kode_matrl,1,1)= ' +QuotedStr(sParam));
 QuMate.Prepare;
 QuMate.Open;
end;
Buat Mohawk Procedure radiobutton yang lain event lasung pakai procedure itu aja jado ngirit source, masing2 objek pada properti tag beri nomer 1-8 Thx
user image
more 17 years ago

saysansay

wew...wew ini sepertinya buat rahasiaan sorce codenya masa diriku nyari semalaman udah nga ketemu2 buset da....curang2...mohax curang moso diriku nga di beri source codenya sech Diriku ngambe nech Wakakakakakaka
user image
more 17 years ago

EkoIndri

OOT: @mohawk sori minggu ini aq lom bisa ketempat mas untuk bantuin mungkin tanggal 10 aq jadi mampir ketempat mas sekalian betulin semua n kasih tips n trik gimana buat program yang efektif dan stabil btw, sekali lagi saya minta maaf sebelumnya semua kesalahan dah ter-mapping don't worry, dijamin kelar deh..... wakakakakakakak klo misalkan aq rada sibuk, mas aq tunggu aja di tempatku jam 8 malam.
user image
more 17 years ago

mohawk

OOT: Jadi terharu nih dg masukan2nya semua.................soalnya itu bener2 bernilai buat ane,......... :o makasi...makasi.............aku aja brani ngeshare cuma ma kang Eko,kang Cyber, n kang Fafe.............itu juga pake muka tembok.........soalnya standar programku masih jauh di bawah mereka.............so makasi banyak ya.................nanti kalo aku ada masalah lagi ya kang nurez, kang kaka, n kang saysansay..............kushare ma teman-teman yang laen................makasi sekali lagi......... :D
user image
more 17 years ago

saysansay

dirimu memang plitz mohawk masa pilih2 kasih diriku sedih diforum ternyata ada juga ya yg suka curang wakakkakakaka don't worry mohaxs memang sech kami lom selevel ama kang cyber.h,Mas Eko,mas fafaneil..bay the way moga sukses
more ...
  • Pages:
  • 1
Share to

Random Topic

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