Skriptovací jazyk - příklady
Z K.A.P.
Verze z 28. 1. 2013, 14:53, kterou vytvořil Greplová Alena (diskuse | příspěvky)
Příklady PASCAL
Příklady C++
Příklady JAVA
Obsah
Příklad
Pascal
var i: integer;
s: String;
begin
s:=IniReadString('ScriptTest', 1, True, _AktualniSklad_, '5');
ShowMessage(Settings.Values['INI.FirmaJmeno']+chr(13)+Settings.Values['USER.JmenoUziv']+chr(13)+_KonfigDir_);
LogWrite('Direktivy:'+_Direktivy_);
if s <> '' then
i := StrToInt(s)+1
else
i := -10;
if not IniWriteInteger('ScriptTest', 1, True, _AktualniSklad_, i) then
ShowMessage('V IniWriteInteger se vyskytla chyba');
end.
C++
int i;
String s; {
s = IniReadString("ScriptTest", 1, True, _AktualniSklad_, "5");
ShowMessage(Settings.Values["INI.FirmaJmeno"]+"\n"+Settings.Values["USER.JmenoUziv"]+"\n"+_KonfigDir_);
LogWrite("Direktivy:"+_Direktivy_);
if (s != "") {
i = StrToInt(s)+1;}
else
{i = -10;}
if (!IniWriteInteger("ScriptTest", 1, True, _AktualniSklad_, i))
{ShowMessage("V IniWriteInteger se vyskytla chyba");}
}
Java
s = IniReadString("ScriptTest", 1, True, _AktualniSklad_, "5");
ShowMessage(Settings.Values["INI.FirmaJmeno"]+"\n"+Settings.Values["USER.JmenoUziv"]+"\n"+_KonfigDir_);
LogWrite("Direktivy:"+_Direktivy_);
if (s != "") {
i = StrToInt(s)+1;}
else
{i = -10;}
if (!IniWriteInteger("ScriptTest", 1, True, _AktualniSklad_, i))
{ShowMessage("V IniWriteInteger se vyskytla chyba");}
Příklad 2
Pascal
var s: String; d1, d2: TDateTime; DD, MM, YY : word; begin DecodeDate(Date, YY, MM, DD); if MM=1 then begin // Zjisteni predchoziho mesice MM := 12; YY := YY - 1; end else MM := MM - 1; D1 := EncodeDate(YY, MM, 1); D2 := EncodeDate(YY, MM, DaysInMonth(YY, MM)); 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); end.
C++
String s; TDateTime d1, d2; Word DD, MM, YY;
{
DecodeDate(Date, YY, MM, DD);
if (MM==1) // Zjisteni predchoziho mesice
{ MM = 12;
YY = YY - 1;}
else
{ MM = MM - 1;}
D1 = EncodeDate(YY, MM, 1);
D2 = EncodeDate(YY, MM, DaysInMonth(YY, MM));
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);
}
Java
DecodeDate(Date, YY, MM, DD);
if (MM==1) // Zjisteni predchoziho mesice
{ MM = 12;
YY = YY - 1;}
else
{ MM = MM - 1;}
D1 = EncodeDate(YY, MM, 1);
D2 = EncodeDate(YY, MM, DaysInMonth(YY, MM));
//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
Pascal
var
s: String;
begin
//From, SendTo, FileAttach, Subject, SMTPServer, SMTPSenderName, SMTPPassword, BodyString, ErrMessage
if SendMailBySMTP('odesilatel@posta.cz', 'prijemce@mail.com', 'UZIV\SESTAVA1.SLK'#9'UZIV\SESTAVA2.SES'#13'UZIV\vystup.pdf', 'Test scriptu', 'smtp.posta.cz', 'SMTPjmeno', 'SMTPheslo', 'Testovaci email.'#13'Konec', s) then
ShowMessage('OK '+ s)
else
ShowMessage('CHYBA '+ s);
end.
C++=
String s;
{ //From, SendTo, FileAttach, Subject, SMTPServer, SMTPSenderName, SMTPPassword, BodyString, ErrMessage
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.\nKonec", s))
{ ShowMessage("OK\n"+ s);}
else
{ ShowMessage("CHYBA\n"+ s);}
}
Java
//From, SendTo, FileAttach, Subject, SMTPServer, SMTPSenderName, SMTPPassword, BodyString, ErrMessage
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.\nKonec", s))
{ ShowMessage("OK\n"+ s);}
else
{ ShowMessage("CHYBA\n"+ s);}
Příklad 4
Pascal
var MOSCommunicator: TMOSCommunicator;
begin
MOSCommunicator := TMOSCommunicator.Create('MOS.bin', '', '', '', 0);
if MOSCommunicator.SendFile('C:\DIR\DATA1.xml', 'DATA1.XML', '', '', '', True) then
LogWrite('Prenos OK')
else
LogWrite(MOSCommunicator.ErrMessage);
MOSCommunicator.Free;
end.
C++
TMOSCommunicator MOSCommunicator;
{
MOSCommunicator = TMOSCommunicator.Create("MOS.bin", "", "", "", 0);
if (MOSCommunicator.SendFile("DIR\\DATA.xml", "DATA1.XML", "", "", "", True))
{ LogWrite("Prenos OK");}
else
{ LogWrite(MOSCommunicator.ErrMessage);}
MOSCommunicator.Free;
}
Java
MOSCommunicator = TMOSCommunicator.Create("MOS.bin", "", "", "", 0);
if (MOSCommunicator.ErrMessage == ""){
if (MOSCommunicator.SendFile("DIR\\DATA.xml", "DATA1.XML", "", "", "", True))
{ LogWrite("Prenos OK");}
else
{ LogWrite(MOSCommunicator.ErrMessage);}
}else
{ LogWrite(MOSCommunicator.ErrMessage);}
MOSCommunicator.Free;
Příklad 5
var MOSCommunicator: TMOSCommunicator;
Info: String;
Velikost: Extended;
Cas: TDateTime;
begin
MOSCommunicator := TMOSCommunicator.Create('', '192.168.17.1', 'MOSuser', 'MOSpswd', 1);
try
if MOSCommunicator.Connect then begin // pokud se připojím, pak se vše realizuje
// v rámci jednoho připojení
// ShowMessage('Pripojeno');
if MOSCommunicator.Connected then begin // test navic
if MOSCommunicator.SendSMS('111222333','Pokus o poslani SMS') then
ShowMessage('SMS odeslana.')
else
ShowMessage('Chyba pri odesilani SMS:'#13+MOSCommunicator.ErrMessage);
if MOSCommunicator.SendFile('C:\DIR\DATA1.xml', 'DATA1.XML', '', '', '', False) then
begin
ShowMessage('Prenos OK');
if MOSCommunicator.GetFileInfo('Sklad6DOC', 'Stavy.xml', Info, Velikost, Cas) then begin
ShowMessage('GetFileInfo:'#13 + Info+ #13 + FloatToStr(Velikost) + #13 + DateTimeToStr(Cas));
if not MOSCommunicator.GetFile('C:\DIR\Stavy2.XML', 'Podslozka\Stavy.xml', 'Sklad6DOC') then
ShowMessage('GetFile:'#13+MOSCommunicator.ErrMessage);
end else
ShowMessage('GetFileInfo:'#13+MOSCommunicator.ErrMessage);
end else
ShowMessage('SendFile'#13+MOSCommunicator.ErrMessage);
MOSCommunicator.Disconnect;
end else
ShowMessage(MOSCommunicator.ErrMessage);
end else
ShowMessage(MOSCommunicator.ErrMessage);
finally
MOSCommunicator.Free;
end;
end.
C++
TMOSCommunicator MOSCommunicator; String Info; Float Velikost; TDateTime Cas;
{
MOSCommunicator = TMOSCommunicator.Create("", "192.168.17.1", "MOSuser", "MOSpswd", 1);
try{
if (MOSCommunicator.Connect) { // pokud se poipojím, pak se vše realizuje
// v rámci jednoho poipojení
// ShowMessage('Pripojeno');
if (MOSCommunicator.Connected) { // test navic
if (MOSCommunicator.SendSMS("111222333","Pokus o poslani SMS"))
{ShowMessage("SMS odeslana.");}
else
{ShowMessage("Chyba pri odesilani SMS:" + #13+MOSCommunicator.ErrMessage);}
if (MOSCommunicator.SendFile("DIR\\DATA.xml", "DATA1.XML", "", "", "", False))
{
ShowMessage("Prenos OK");
if (MOSCommunicator.GetFileInfo("Sklad6DOC", "Stavy.xml", Info, Velikost, Cas)){
ShowMessage("GetFileInfo:"+#13 + Info+ #13 + FloatToStr(Velikost) + #13 + DateTimeToStr(Cas));
if (!MOSCommunicator.GetFile("DIR\\Stavy2.xml", "Stavy.xml", "Sklad6DOC")){
ShowMessage("GetFile:" + #13 + MOSCommunicator.ErrMessage);}
} else
{ ShowMessage("GetFileInfo:" + #13 + MOSCommunicator.ErrMessage);}
} else {
ShowMessage("SendFile"+#13+MOSCommunicator.ErrMessage);}
MOSCommunicator.Disconnect;
} else
{ShowMessage(MOSCommunicator.ErrMessage);}
} else
{ShowMessage(MOSCommunicator.ErrMessage);}
}finally{
MOSCommunicator.Free;
}
}
=Java
MOSCommunicator = TMOSCommunicator.Create("", "192.168.17.1", "MOSuser", "MOSpswd", 1);
try{
if (MOSCommunicator.Connect) { // pokud se poipojím, pak se vše realizuje
// v rámci jednoho poipojení
// ShowMessage('Pripojeno');
if (MOSCommunicator.Connected) { // test navic
if (MOSCommunicator.SendSMS("111222333","Pokus o poslani SMS"))
{ShowMessage("SMS odeslana.");}
else
{ShowMessage("Chyba pri odesilani SMS:" + #13+MOSCommunicator.ErrMessage);}
if (MOSCommunicator.SendFile("DIR\\DATA.xml", "DATA1.XML", "", "", "", False))
{
ShowMessage("Prenos OK");
if (MOSCommunicator.GetFileInfo("Sklad6DOC", "Stavy.xml", Info, Velikost, Cas)){
ShowMessage("GetFileInfo:"+#13 + Info+ #13 + FloatToStr(Velikost) + #13 + DateTimeToStr(Cas));
if (!MOSCommunicator.GetFile("DIR\\Stavy2.xml", "Stavy.xml", "Sklad6DOC")){
ShowMessage("GetFile:" + #13 + MOSCommunicator.ErrMessage);}
} else
{ ShowMessage("GetFileInfo:" + #13 + MOSCommunicator.ErrMessage);}
} else {
ShowMessage("SendFile"+#13+MOSCommunicator.ErrMessage);}
MOSCommunicator.Disconnect;
} else
{ShowMessage(MOSCommunicator.ErrMessage);}
} else
{ShowMessage(MOSCommunicator.ErrMessage);}
}finally{
MOSCommunicator.Free;
}
Příklad 6
Pascal
var
t: TKAPBtrTable;
f: TForm;
DBGrid: TDBGrid;
ds: TDataSource;
begin
ds := nil;
t := TKAPBtrTable.Create;
try // try-finally část není nutná, ale správně se takto řeší problémové situace
t.TableName := 'CISELNIK.btr'; // jméno tabulky bez cesty
t.IndexFieldNames := 'TypCis;Klic1';
t.Open;
f := TForm.Create(Application);
try
f.Caption := 'Zobrazení ' + t.TableName;
f.Position := poDefault;
DBGrid:= TDBGrid.Create(f); // parametr určuje vlastníka prvku DBGrid
DBGrid.Parent := f; // Parent určuje, na kterém formuláři se má DBGrid zobrazit
DBGrid.Align := alClient; // alClient znamená vyplnit celý formulář
ds:= TDataSource.Create(f); // TDataSource propojuje tabulku s vizuálními prvky pro editaci (DBGrid)
DBGrid.DataSource := ds;
ds.DataSet := t;
f.ShowModal; // hlavní okno je třeba vždy otevírat pomocí ShowModal
finally
F.Free; // objekty, kterým byl určen vlastník (DBGrid) se ruší automaticky
end; // při rušení vlastníka (při F.Free se ruší DBGrid i ds)
finally
t.Free; // vytvořené objekty je třeba zrušit
end;
end.
C++
TKAPBtrTable t; TForm f; TDBGrid DBGrid; TDataSource ds; {
ds = null;
t = TKAPBtrTable.Create;
try{ // try-finally cást není nutná, ale správne se takto reší problémové situace
t.TableName = "CISELNIK.btr"; // jméno tabulky bez cesty
t.IndexFieldNames = "TypCis;Klic1";
t.Open;
f = TForm.Create(Application);
try{
f.Caption = "Zobrazení " + t.TableName;
f.Position = poDefault;
DBGrid = TDBGrid.Create(f); // parametr urcuje vlastníka prvku DBGrid
DBGrid.Parent = f; // Parent urcuje, na kterém formulári se má DBGrid zobrazit
DBGrid.Align = alClient; // alClient znamená vyplnit celý formulár
ds = TDataSource.Create(f); // TDataSource propojuje tabulku s vizuálními prvky pro editaci (DBGrid)
DBGrid.DataSource = ds;
ds.DataSet = t;
f.ShowModal; // hlavní okno je treba vždy otevírat pomocí ShowModal
}finally{
F.Free; // objekty, kterým byl urcen vlastník (DBGrid) se ruší automaticky
} // pri rušení vlastníka (pri F.Free se ruší DBGrid i ds)
}finally{
t.Free; // vytvorené objekty je treba zrušit
}
}
Java
t = TKAPBtrTable.Create;
try{ // try-finally cást není nutná, ale správne se takto reší problémové situace
t.TableName = "CISELNIK.btr"; // jméno tabulky bez cesty
t.IndexFieldNames = "TypCis;Klic1";
t.Open;
f = TForm.Create(Application);
try{
f.Caption = "Zobrazení " + t.TableName;
f.Position = poDefault;
DBGrid = TDBGrid.Create(f); // parametr urcuje vlastníka prvku DBGrid
DBGrid.Parent = f; // Parent urcuje, na kterém formulári se má DBGrid zobrazit
DBGrid.Align = alClient; // alClient znamená vyplnit celý formulár
ds = TDataSource.Create(f); // TDataSource propojuje tabulku s vizuálními prvky pro editaci (DBGrid)
DBGrid.DataSource = ds;
ds.DataSet = t;
f.ShowModal; // hlavní okno je treba vždy otevírat pomocí ShowModal
}finally{
F.Free; // objekty, kterým byl urcen vlastník (DBGrid) se ruší automaticky
} // pri rušení vlastníka (pri F.Free se ruší DBGrid i ds)
}finally{
t.Free; // vytvorené objekty je treba zrušit
}
Příklad 7
var t: TKAPMemTable;
f:TForm;
DBGr: TDBGrid;
ds: TDataSource;
MinA, x: Integer;
begin
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.IndexFieldNames := 'A;B';
t.AddIndex('i1', 'A;B',[ixCaseInsensitive]); // nesmi byt prazdna mnozina
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 do begin
if t.FieldByName('A').AsInteger < MinA then MinA := t.FieldByName('A').AsInteger;
t.Next;
end;
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
// x := t.RecordCount;
finally
t.Free;
end
end.
C++
TKAPMemTable t; TForm f; TDBGrid DBGr; TDataSource ds; Integer MinA, x;
{
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.IndexFieldNames = "A;B";
t.AddIndex("i1", "A;B",[ixCaseInsensitive]); // nesmi byt prazdna mnozina
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(!t.EOF){
if (t.FieldByName("A").AsInteger < MinA) { MinA = t.FieldByName("A").AsInteger;}
t.Next;
}
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;
}
}finally{
t.Free;
}
}
Java
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.IndexFieldNames = "A;B";
t.AddIndex("i1", "A;B",[ixCaseInsensitive]); // nesmi byt prazdna mnozina
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(!t.EOF){
if (t.FieldByName("A").AsInteger < MinA) { MinA = t.FieldByName("A").AsInteger;}
t.Next;
}
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;
}
}finally{
t.Free;
}