Příklady BASIC
Z K.A.P.
Verze z 31. 1. 2013, 12:40, kterou vytvořil Greplová Alena (diskuse | příspěvky)
Obsah
- 1 Příklad 1 - práce s proměnnými uloženými do databáze
- 2 Příklad 2 - spuštění sestavy z generátoru sestav
- 3 Příklad 3 - odeslání mailu s přílohou pomocí SMTP
- 4 Příklad 4 - odeslání souboru pomocí MaximObjServeru
- 5 Příklad 5 - použití funkcí objektu TMOSCommunicator pro komunikaci s MaximObjServerem
- 6 Příklad 6 - práce s TKAPBtrTable ve formuláři
- 7 Příklad 7 - použití paměťové tabulky TKAPMemTable
Příklad 1 - práce s proměnnými uloženými do databáze
s = IniReadString("ScriptTest", 1, True, G_AktualniSklad, "5") ShowMessage(Settings.Values["VAR.DPH-Firma"]+#13#10+Settings.Values["VAR.Registrace"]) LogWrite("Direktivy (verze programu): "+G_Direktivy) if (s <> null) and (s <> "") then i = StrToInt(s)+1 else i = -10 end if if not IniWriteInteger("ScriptTest", 1, True, G_AktualniSklad, i) then ShowMessage("V IniWriteInteger se vyskytla chyba") end if
Příklad 2 - spuštění sestavy z generátoru sestav
DecodeDate(Date, YY, MM, DD) if (MM = 1) then MM = 12 YY = YY - 1 else MM = MM - 1 end if D1 = EncodeDate(YY, MM, 1) D2 = EncodeDate(YY, MM, DaysInMonth(YY, MM)) rem S = GSRunReport(6, 1, "KFG_Datum1="+StrDate(D1)+chr(13)+ "KFG_Datum="+StrDate(D2)+chr(13)+ "INI_Jmeno=Pokusný sklad") S = GSRunReportV(6, 1, ["KFG_Datum1", "KFG_Datum", "INI_Jmeno"],[StrDate(D1), StrDate(D2), "Pokusný sklad"]) ShowMessage(s)
Příklad 3 - odeslání mailu s přílohou pomocí SMTP
rem From, SendTo, FileAttach, Subject, SMTPServer, SMTPSenderName, SMTPPassword, BodyString, ErrMessage rem nasledujici prikaz musi byt na jednom radku, rem Pokud potrebujete rozdelit v Basicu jeden prikaz na vice radku, tak na konec radku napiste podtrznitko a pokracujte na daslsim radku
s ="" if SendMailBySMTP("Odesilatel@posta.cz", "prijemce@posta.com", "UZIV\Sestava1.SES"+#9+"UZIV\SESTAVA2.SES"+#13+"UZIV\Doklad.pdf", "Test scriptu", "smtp.posta.cz", "SMTPjmeno", "SMTPheslo", "Testovaci email."+#13#10+"Konec", s) then ShowMessage("OK"+#13#10+ s) else ShowMessage("CHYBA"+#13#10+ s)
Příklad 4 - odeslání souboru pomocí MaximObjServeru
MOSCommunicator = TMOSCommunicator.Create("MOS.bin", "", "", "", 0) if MOSCommunicator.SendFile("DIR\DATA.xml", "DATA1.XML", "", "", "", True) then LogWrite("Prenos OK") else ShowMessage(MOSCommunicator.ErrMessage) LogWrite(MOSCommunicator.ErrMessage) end if MOSCommunicator.Free
Příklad 5 - použití funkcí objektu TMOSCommunicator pro komunikaci s MaximObjServerem
MOSCommunicator = TMOSCommunicator.Create("", "192.168.17.1", "MOSuser", "MOSpswd", 1) try if (MOSCommunicator.Connect) then if (MOSCommunicator.Connected) then if (MOSCommunicator.SendSMS("111222333","Pokus o poslani SMS")) then ShowMessage("SMS odeslana.") else ShowMessage("Chyba pri odesilani SMS:" + #13+MOSCommunicator.ErrMessage) end if
if (MOSCommunicator.SendFile("DIR\DATA.xml", "DATA1.XML", "", "", "", False)) then ShowMessage("Prenos OK") if (MOSCommunicator.GetFileInfo("Sklad6DOC", "Stavy.xml", Info, Velikost, Cas)) then ShowMessage("GetFileInfo:"+#13 + Info+ #13 + FloatToStr(Velikost) + #13 + DateTimeToStr(Cas)) if not (MOSCommunicator.GetFile("DIR\Stavy2.xml", "Stavy.xml", "Sklad6DOC")) then ShowMessage("GetFile:" + #13 + MOSCommunicator.ErrMessage) end if else ShowMessage("GetFileInfo:" + #13 + MOSCommunicator.ErrMessage) end if else ShowMessage("SendFile"+#13+MOSCommunicator.ErrMessage) end if MOSCommunicator.Disconnect else ShowMessage(MOSCommunicator.ErrMessage) end if else ShowMessage(MOSCommunicator.ErrMessage) end if finally MOSCommunicator.Free end try
Příklad 6 - práce s TKAPBtrTable ve formuláři
ds = null t = TKAPBtrTable.Create try t.TableName = "CISELNIK.btr" t.IndexFieldNames = "TypCis;Klic1" t.Open f = TForm.Create(Application) try f.Caption = "Zobrazení " + t.TableName f.Position = poDefault DBGrid = TDBGrid.Create(f) DBGrid.Parent = f DBGrid.Align = alClient ds = TDataSource.Create(f) DBGrid.DataSource = ds ds.DataSet = t f.ShowModal finally F.Free end try finally t.Free end try
Příklad 7 - použití paměťové tabulky TKAPMemTable
t = TKAPMemTable.Create try t.FieldDefs.Add("A",ftInteger,0, false) t.FieldDefs.Add("B",ftString,30, false) t.FieldDefs.Add("C",ftfloat,0, false) t.FieldDefs.Add("D",ftDate,0, false) t.FieldDefs.Add("E",ftTime,0, false) t.CreateTable(nil) t.AddIndex("i1", "A;B",[ixCaseInsensitive]) t.IndexName = "i1" t.Open t.Append t.FieldByName("A").AsInteger = 5555 t.FieldByName("B").AsString = "TEST" t.FieldByName("C").AsFloat = 10.5 t.Post t.Append t.FieldByName("A").AsInteger = 4444 t.FieldByName("D").AsDateTime = Date+1 t.Post t.Append t.FieldByName("A").AsInteger = 3333 t.Post t.Append t.FieldByName("A").AsInteger = 8888 t.Post t.First MinA = t.FieldByName("A").AsInteger While not t.EOF if t.FieldByName("A").AsInteger < MinA then MinA = t.FieldByName("A").AsInteger end if t.Next Wend ShowMessage("Min: "+IntToStr(MinA)) f = TForm.Create(Application) try f.Caption = "Zobrazení MemTable" f.Width = 1024 f.Height = 768 DBGr= TDBGrid.Create(f) DBGr.Parent = f DBGr.Align = alClient ds= TDataSource.Create(f) DBGr.DataSource =ds ds.DataSet = t f.ShowModal finally f.free end try finally t.Free end try