Příklady BASIC
Z K.A.P.
Skočit na navigaciSkočit na vyhledáváníPříklady programů ve skriptovacím programovacím jazyku v jazyku Basic.
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